summaryrefslogtreecommitdiff
path: root/Source/ThirdParty/ANGLE/src/compiler/preprocessor/ExpressionParser.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/ThirdParty/ANGLE/src/compiler/preprocessor/ExpressionParser.h')
-rw-r--r--Source/ThirdParty/ANGLE/src/compiler/preprocessor/ExpressionParser.h33
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_