From 9d515dd257498cba9144dd31f2f3219e997e03d0 Mon Sep 17 00:00:00 2001 From: Yong He Date: Fri, 19 Jan 2018 18:20:23 -0500 Subject: Allow arbitrary type string as type argument in spAddEntryPointEx. --- source/slang/parser.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'source/slang/parser.cpp') diff --git a/source/slang/parser.cpp b/source/slang/parser.cpp index 7e36b0e71..531606f8d 100644 --- a/source/slang/parser.cpp +++ b/source/slang/parser.cpp @@ -2704,6 +2704,7 @@ namespace Slang PushScope(program); program->loc = tokenReader.PeekLoc(); + program->scope = currentScope; ParseDeclBody(this, program, TokenType::EndOfFile); PopScope(); @@ -3960,6 +3961,17 @@ namespace Slang return parsePrefixExpr(this); } + RefPtr parseTypeFromSourceFile(TranslationUnitRequest* translationUnit, + TokenSpan const& tokens, + DiagnosticSink* sink, + RefPtr const& outerScope) + { + Parser parser(tokens, sink, outerScope); + parser.translationUnit = translationUnit; + parser.currentScope = outerScope; + return parser.ParseType(); + } + // Parse a source file into an existing translation unit void parseSourceFile( TranslationUnitRequest* translationUnit, @@ -3971,6 +3983,7 @@ namespace Slang parser.translationUnit = translationUnit; + return parser.parseSourceFile(translationUnit->SyntaxNode.Ptr()); } -- cgit v1.2.3