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/check.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/check.cpp')
| -rw-r--r-- | source/slang/check.cpp | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/source/slang/check.cpp b/source/slang/check.cpp index f79df0c40..128afcefe 100644 --- a/source/slang/check.cpp +++ b/source/slang/check.cpp @@ -46,27 +46,25 @@ namespace Slang { ProgramSyntaxNode * program = nullptr; FunctionSyntaxNode * function = nullptr; - CompileOptions const* options = nullptr; - TranslationUnitOptions const* translationUnitOptions = nullptr; + CompileRequest* request = nullptr; + TranslationUnitRequest* translationUnit = nullptr; // lexical outer statements List<StatementSyntaxNode*> outerStmts; public: SemanticsVisitor( DiagnosticSink * pErr, - CompileOptions const& options, - TranslationUnitOptions const& translationUnitOptions, - CompileRequest* request) + CompileRequest* request, + TranslationUnitRequest* translationUnit) : SyntaxVisitor(pErr) - , options(&options) - , translationUnitOptions(&translationUnitOptions) , request(request) + , translationUnit(translationUnit) { } - CompileOptions const& getOptions() { return *options; } - TranslationUnitOptions const& getTranslationUnitOptions() { return *translationUnitOptions; } + CompileRequest* getCompileRequest() { return request; } + TranslationUnitRequest* getTranslationUnit() { return translationUnit; } public: // Translate Types @@ -969,7 +967,7 @@ namespace Slang // expressions without a type, and we need to ignore them. if( !fromExpr->Type.type ) { - if(getTranslationUnitOptions().compileFlags & SLANG_COMPILE_FLAG_NO_CHECKING ) + if(getTranslationUnit()->compileFlags & SLANG_COMPILE_FLAG_NO_CHECKING ) return fromExpr; } @@ -981,7 +979,7 @@ namespace Slang fromExpr.Ptr(), nullptr)) { - if(!(getTranslationUnitOptions().compileFlags & SLANG_COMPILE_FLAG_NO_CHECKING)) + if(!(getTranslationUnit()->compileFlags & SLANG_COMPILE_FLAG_NO_CHECKING)) { getSink()->diagnose(fromExpr->Position, Diagnostics::typeMismatch, toType, fromExpr->Type); } @@ -4967,12 +4965,11 @@ namespace Slang }; SyntaxVisitor* CreateSemanticsVisitor( - DiagnosticSink* err, - CompileOptions const& options, - TranslationUnitOptions const& translationUnitOptions, - CompileRequest* request) + DiagnosticSink* err, + CompileRequest* request, + TranslationUnitRequest* translationUnit) { - return new SemanticsVisitor(err, options, translationUnitOptions, request); + return new SemanticsVisitor(err, request, translationUnit); } // |
