diff options
| author | Tim Foley <tfoleyNV@users.noreply.github.com> | 2017-06-20 12:14:31 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-06-20 12:14:31 -0700 |
| commit | 338232bff7144c6a0e7964984765f01d9f9eecb7 (patch) | |
| tree | e62d8f184bf04df0906fcc6c8a04803febe35376 /source/slang/parser.cpp | |
| parent | 40617db15d87ece6e7cc88da23f747f8f827c69a (diff) | |
| parent | 327f2b7ec50a7480b458d6d3ba8e2ca7fcdb8498 (diff) | |
Merge pull request #36 from tfoleyNV/entry-point-indexing
Overhaul handling of entry points and translation units.
Diffstat (limited to 'source/slang/parser.cpp')
| -rw-r--r-- | source/slang/parser.cpp | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/source/slang/parser.cpp b/source/slang/parser.cpp index 75398a40d..5e06aa877 100644 --- a/source/slang/parser.cpp +++ b/source/slang/parser.cpp @@ -32,8 +32,7 @@ namespace Slang class Parser { public: - CompileOptions const& options; - TranslationUnitOptions const& translationUnitOptions; + TranslationUnitRequest* translationUnit; int anonymousCounter = 0; @@ -67,15 +66,11 @@ namespace Slang currentScope = currentScope->parent; } Parser( - CompileOptions const& options, - TranslationUnitOptions const& translationUnitOptions, TokenSpan const& _tokens, DiagnosticSink * sink, String _fileName, RefPtr<Scope> const& outerScope) - : options(options) - , translationUnitOptions(translationUnitOptions) - , tokenReader(_tokens) + : tokenReader(_tokens) , sink(sink) , fileName(_fileName) , outerScope(outerScope) @@ -2500,7 +2495,7 @@ parser->ReadToken(TokenType::Comma); RefPtr<StatementSyntaxNode> Parser::ParseBlockStatement() { - if( translationUnitOptions.compileFlags & SLANG_COMPILE_FLAG_NO_CHECKING ) + if( translationUnit->compileFlags & SLANG_COMPILE_FLAG_NO_CHECKING ) { // We have been asked to parse the input, but not attempt to understand it. @@ -3157,15 +3152,16 @@ parser->ReadToken(TokenType::Comma); // Parse a source file into an existing translation unit void parseSourceFile( - ProgramSyntaxNode* translationUnitSyntax, - CompileOptions const& options, - TranslationUnitOptions const& translationUnitOptions, + TranslationUnitRequest* translationUnit, TokenSpan const& tokens, DiagnosticSink* sink, String const& fileName, RefPtr<Scope> const& outerScope) { - Parser parser(options, translationUnitOptions, tokens, sink, fileName, outerScope); - return parser.parseSourceFile(translationUnitSyntax); + Parser parser(tokens, sink, fileName, outerScope); + + parser.translationUnit = translationUnit; + + return parser.parseSourceFile(translationUnit->SyntaxNode.Ptr()); } } |
