diff options
Diffstat (limited to 'Source/ThirdParty/ANGLE/src/compiler/preprocessor/ExpressionParser.h')
-rw-r--r-- | Source/ThirdParty/ANGLE/src/compiler/preprocessor/ExpressionParser.h | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/Source/ThirdParty/ANGLE/src/compiler/preprocessor/ExpressionParser.h b/Source/ThirdParty/ANGLE/src/compiler/preprocessor/ExpressionParser.h index 092d05941..0f2901b87 100644 --- a/Source/ThirdParty/ANGLE/src/compiler/preprocessor/ExpressionParser.h +++ b/Source/ThirdParty/ANGLE/src/compiler/preprocessor/ExpressionParser.h @@ -4,31 +4,40 @@ // found in the LICENSE file. // -#ifndef COMPILER_PREPROCESSOR_EXPRESSION_PARSER_H_ -#define COMPILER_PREPROCESSOR_EXPRESSION_PARSER_H_ +#ifndef COMPILER_PREPROCESSOR_EXPRESSIONPARSER_H_ +#define COMPILER_PREPROCESSOR_EXPRESSIONPARSER_H_ -#include "pp_utils.h" +#include "common/angleutils.h" +#include "compiler/preprocessor/DiagnosticsBase.h" namespace pp { -class Diagnostics; class Lexer; struct Token; -class ExpressionParser +class ExpressionParser : angle::NonCopyable { public: - ExpressionParser(Lexer* lexer, Diagnostics* diagnostics); + struct ErrorSettings + { + Diagnostics::ID unexpectedIdentifier; + bool integerLiteralsMustFit32BitSignedRange; + }; - bool parse(Token* token, int* result); + ExpressionParser(Lexer *lexer, Diagnostics *diagnostics); - private: - PP_DISALLOW_COPY_AND_ASSIGN(ExpressionParser); + bool parse(Token *token, + int *result, + bool parsePresetToken, + const ErrorSettings &errorSettings, + bool *valid); - Lexer* mLexer; - Diagnostics* mDiagnostics; + private: + Lexer *mLexer; + Diagnostics *mDiagnostics; }; } // namespace pp -#endif // COMPILER_PREPROCESSOR_EXPRESSION_PARSER_H_ + +#endif // COMPILER_PREPROCESSOR_EXPRESSIONPARSER_H_ |