From 369279e91dde1b056d8d0e3bb83e7ba3f96321af Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Fri, 12 Feb 2021 14:31:56 -0500 Subject: Diagnostic location highlighting (#1700) * #include an absolute path didn't work - because paths were taken to always be relative. * WIP: First pass in supporting output of line error information. * Add support for lexing to better be able to indicate SourceLocation information. * Fix lexer usage in DiagnosticSink in C++ extractor. * Update diagnostics tests to have line location info. * Fixed test expected output that now have source location information in them. * Better handling of tab. * Fix test expected results for tabbing change. * DiagnosticLexer -> DiagnosticSink::SourceLocationLexer Added line continuation tests. * Fix typo. * Added String::appendRepeatedChar * Change to rerun tests. Co-authored-by: Tim Foley --- source/slang/slang-parser.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'source/slang/slang-parser.cpp') diff --git a/source/slang/slang-parser.cpp b/source/slang/slang-parser.cpp index b15d215da..8ea51645a 100644 --- a/source/slang/slang-parser.cpp +++ b/source/slang/slang-parser.cpp @@ -1762,7 +1762,11 @@ namespace Slang TokenSpan tokenSpan; tokenSpan.m_begin = parser->tokenReader.m_cursor; tokenSpan.m_end = parser->tokenReader.m_end; - DiagnosticSink newSink(parser->sink->getSourceManager()); + + // Setup without diagnostic lexer, or SourceLocationLine output + // as this sink is just to *try* generic application + DiagnosticSink newSink(parser->sink->getSourceManager(), nullptr); + Parser newParser(*parser); newParser.sink = &newSink; -- cgit v1.2.3