Arquivos
hhvm/hphp/compiler/analysis/code_error.h
T
Jordan DeLong 3db2140e3e Fix some cpplint errors about illegal symbols
Various perling.
2013-04-22 14:43:49 -07:00

83 linhas
2.5 KiB
C++

/*
+----------------------------------------------------------------------+
| HipHop for PHP |
+----------------------------------------------------------------------+
| Copyright (c) 2010- Facebook, Inc. (http://www.facebook.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
*/
#ifndef incl_HPHP_COMPILER_ERROR_H_
#define incl_HPHP_COMPILER_ERROR_H_
#include <compiler/analysis/type.h>
#include <util/json.h>
namespace HPHP {
///////////////////////////////////////////////////////////////////////////////
DECLARE_BOOST_TYPES(AnalysisResult);
DECLARE_BOOST_TYPES(Construct);
namespace Compiler {
///////////////////////////////////////////////////////////////////////////////
enum ErrorType {
#define CODE_ERROR_ENTRY(x) x,
#include "compiler/analysis/core_code_error.inc"
#undef CODE_ERROR_ENTRY
ErrorCount,
NoError
};
/**
* Call this before analysis.
*/
void ClearErrors();
/**
* Record a coding error.
*/
void Error(ErrorType error, ConstructPtr construct);
/**
* Record a coding error with an extra construct information.
*/
void Error(ErrorType error, ConstructPtr construct1, ConstructPtr construct2);
/**
* Record a coding error with an extra string.
*/
void Error(ErrorType error, ConstructPtr construct, const std::string &data);
/**
* Save JavaScript output to specified file.
*/
void SaveErrors(JSON::CodeError::OutputStream &out);
void SaveErrors(AnalysisResultPtr ar,
const char *filename,
bool varWrapper = false);
/**
* Write errors to stderr.
*/
void DumpErrors(AnalysisResultPtr ar); // stderr
/**
* Whether specified type of error is present. Written for unit test.
*/
bool HasError(ErrorType type);
bool HasError(); // any error
///////////////////////////////////////////////////////////////////////////////
}}
#endif // incl_HPHP_COMPILER_ERROR_H_