diff options
| author | Tim Foley <tim.foley.is@gmail.com> | 2017-08-10 15:25:04 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-08-10 15:25:04 -0700 |
| commit | db4079f7e3635a6a61b8725643b1d7ecf68b97d8 (patch) | |
| tree | 224c16ad374c5ed533a497beeb75753e7ce2d771 /source/slang/parser.cpp | |
| parent | 6e4830f4d74adef0a47c6503d84dc114240fafa3 (diff) | |
| parent | a5a436c4783fb75a0d089a6483219c06db91f593 (diff) | |
Merge pull request #156 from tfoleyNV/source-file-cleanup
Make source location lightweight
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 41a4411d2..cc6a0dd6f 100644 --- a/source/slang/parser.cpp +++ b/source/slang/parser.cpp @@ -41,7 +41,6 @@ namespace Slang TokenReader tokenReader; DiagnosticSink * sink; - String fileName; int genericDepth = 0; // Have we seen any `import` declarations? If so, we need @@ -73,11 +72,9 @@ namespace Slang Parser( TokenSpan const& _tokens, DiagnosticSink * sink, - String _fileName, RefPtr<Scope> const& outerScope) : tokenReader(_tokens) , sink(sink) - , fileName(_fileName) , outerScope(outerScope) {} @@ -614,7 +611,7 @@ namespace Slang RefPtr<Modifier>* modifierLink = &modifiers.first; for (;;) { - CodePosition loc = parser->tokenReader.PeekLoc(); + SourceLoc loc = parser->tokenReader.PeekLoc(); if (0) {} @@ -1003,7 +1000,7 @@ namespace Slang struct PointerDeclarator : Declarator { // location of the `*` token - CodePosition starLoc; + SourceLoc starLoc; RefPtr<Declarator> inner; }; @@ -1014,7 +1011,7 @@ namespace Slang RefPtr<Declarator> inner; // location of the `[` token - CodePosition openBracketLoc; + SourceLoc openBracketLoc; // The expression that yields the element count, or NULL RefPtr<Expr> elementCountExpr; @@ -1377,7 +1374,7 @@ namespace Slang // Either a single declaration, or a group of them struct DeclGroupBuilder { - CodePosition startPosition; + SourceLoc startPosition; RefPtr<Decl> decl; RefPtr<DeclGroup> group; @@ -1546,7 +1543,7 @@ namespace Slang Parser* parser, ContainerDecl* containerDecl) { - CodePosition startPosition = parser->tokenReader.PeekLoc(); + SourceLoc startPosition = parser->tokenReader.PeekLoc(); auto typeSpec = parseTypeSpec(parser); @@ -1780,7 +1777,7 @@ namespace Slang // We first look at the declaration keywrod to determine // the type of buffer to declare: String bufferWrapperTypeName; - CodePosition bufferWrapperTypeNamePos = parser->tokenReader.PeekLoc(); + SourceLoc bufferWrapperTypeNamePos = parser->tokenReader.PeekLoc(); if (AdvanceIf(parser, "cbuffer")) { bufferWrapperTypeName = "ConstantBuffer"; @@ -1914,7 +1911,7 @@ namespace Slang // will see through it to the members inside. - CodePosition pos = parser->tokenReader.PeekLoc(); + SourceLoc pos = parser->tokenReader.PeekLoc(); // The initial name before the `{` is only supposed // to be made visible to reflection @@ -2446,7 +2443,7 @@ namespace Slang } PushScope(program); - program->Position = CodePosition(0, 0, 0, fileName); + program->Position = tokenReader.PeekLoc(); ParseDeclBody(this, program, TokenType::EndOfFile); PopScope(); @@ -3853,10 +3850,9 @@ namespace Slang TranslationUnitRequest* translationUnit, TokenSpan const& tokens, DiagnosticSink* sink, - String const& fileName, RefPtr<Scope> const& outerScope) { - Parser parser(tokens, sink, fileName, outerScope); + Parser parser(tokens, sink, outerScope); parser.translationUnit = translationUnit; |
