summaryrefslogtreecommitdiffstats
path: root/tools/slang-cpp-extractor/parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/slang-cpp-extractor/parser.cpp')
-rw-r--r--tools/slang-cpp-extractor/parser.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/tools/slang-cpp-extractor/parser.cpp b/tools/slang-cpp-extractor/parser.cpp
index 9a2227b21..97c156f2f 100644
--- a/tools/slang-cpp-extractor/parser.cpp
+++ b/tools/slang-cpp-extractor/parser.cpp
@@ -1219,7 +1219,7 @@ SlangResult Parser::parse(SourceOrigin* sourceOrigin, const Options* options)
m_currentScope = m_nodeTree->m_rootNode;
lexer.initialize(sourceView, m_sink, m_nodeTree->m_namePool, manager->getMemoryArena());
- m_tokenList = lexer.lexAllTokens();
+ m_tokenList = lexer.lexAllSemanticTokens();
// See if there were any errors
if (m_sink->getErrorCount())
{
@@ -1350,8 +1350,13 @@ SlangResult Parser::parse(SourceOrigin* sourceOrigin, const Options* options)
{
// We are just going to ignore all of these for now....
m_reader.advanceToken();
- while (m_reader.peekTokenType() != TokenType::EndOfDirective && m_reader.peekTokenType() != TokenType::EndOfFile)
+ for (;;)
{
+ auto t = m_reader.peekToken();
+ if (t.type == TokenType::EndOfFile || (t.flags & TokenFlag::AtStartOfLine))
+ {
+ break;
+ }
m_reader.advanceToken();
}
break;