summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src/compiler/preprocessor/DirectiveParser.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/angle/src/compiler/preprocessor/DirectiveParser.h')
-rw-r--r--src/3rdparty/angle/src/compiler/preprocessor/DirectiveParser.h83
1 files changed, 0 insertions, 83 deletions
diff --git a/src/3rdparty/angle/src/compiler/preprocessor/DirectiveParser.h b/src/3rdparty/angle/src/compiler/preprocessor/DirectiveParser.h
deleted file mode 100644
index 29c30a8239..0000000000
--- a/src/3rdparty/angle/src/compiler/preprocessor/DirectiveParser.h
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-#ifndef COMPILER_PREPROCESSOR_DIRECTIVEPARSER_H_
-#define COMPILER_PREPROCESSOR_DIRECTIVEPARSER_H_
-
-#include "compiler/preprocessor/Lexer.h"
-#include "compiler/preprocessor/Macro.h"
-#include "compiler/preprocessor/SourceLocation.h"
-
-namespace pp
-{
-
-class Diagnostics;
-class DirectiveHandler;
-class Tokenizer;
-
-class DirectiveParser : public Lexer
-{
- public:
- DirectiveParser(Tokenizer *tokenizer,
- MacroSet *macroSet,
- Diagnostics *diagnostics,
- DirectiveHandler *directiveHandler,
- int maxMacroExpansionDepth);
- ~DirectiveParser() override;
-
- void lex(Token *token) override;
-
- private:
- void parseDirective(Token *token);
- void parseDefine(Token *token);
- void parseUndef(Token *token);
- void parseIf(Token *token);
- void parseIfdef(Token *token);
- void parseIfndef(Token *token);
- void parseElse(Token *token);
- void parseElif(Token *token);
- void parseEndif(Token *token);
- void parseError(Token *token);
- void parsePragma(Token *token);
- void parseExtension(Token *token);
- void parseVersion(Token *token);
- void parseLine(Token *token);
-
- bool skipping() const;
- void parseConditionalIf(Token *token);
- int parseExpressionIf(Token *token);
- int parseExpressionIfdef(Token *token);
-
- struct ConditionalBlock
- {
- std::string type;
- SourceLocation location;
- bool skipBlock;
- bool skipGroup;
- bool foundValidGroup;
- bool foundElseGroup;
-
- ConditionalBlock()
- : skipBlock(false), skipGroup(false), foundValidGroup(false), foundElseGroup(false)
- {
- }
- };
- bool mPastFirstStatement;
- bool mSeenNonPreprocessorToken; // Tracks if a non-preprocessor token has been seen yet. Some
- // macros, such as
- // #extension must be declared before all shader code.
- std::vector<ConditionalBlock> mConditionalStack;
- Tokenizer *mTokenizer;
- MacroSet *mMacroSet;
- Diagnostics *mDiagnostics;
- DirectiveHandler *mDirectiveHandler;
- int mShaderVersion;
- int mMaxMacroExpansionDepth;
-};
-
-} // namespace pp
-
-#endif // COMPILER_PREPROCESSOR_DIRECTIVEPARSER_H_