From 8f0895e0f8257da2fd10b6325931627a9a1792ba Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Wed, 11 Nov 2020 09:56:50 -0500 Subject: Include hierarchy output (#1595) * #include an absolute path didn't work - because paths were taken to always be relative. * Improve diagnostic for token pasting. * Token paste location test. * Output include hierarchy. * WIP on includes hierarchy. * Improved include hierarchy output - to handle source files without tokens. Improved test case. * Small comment improvements. Fixed a typo with not returning a reference. * Slight simplification of the ViewInitiatingHierarchy, by adding GetOrAddValue to Dictionary. * Remove the need for ViewInitiatingHierarchy type. * Improve output of path in diagnostic for includes hierarchy. * Remove comment in diagnostic for token-paste-location.slang * Update command line docs to include `-output-includes` Co-authored-by: Yong He --- source/slang/slang-source-loc.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'source/slang/slang-source-loc.cpp') diff --git a/source/slang/slang-source-loc.cpp b/source/slang/slang-source-loc.cpp index 7eca23d8d..f6b0afcc1 100644 --- a/source/slang/slang-source-loc.cpp +++ b/source/slang/slang-source-loc.cpp @@ -405,7 +405,7 @@ SourceFile* SourceManager::createSourceFileWithBlob(const PathInfo& pathInfo, IS return sourceFile; } -SourceView* SourceManager::createSourceView(SourceFile* sourceFile, const PathInfo* pathInfo) +SourceView* SourceManager::createSourceView(SourceFile* sourceFile, const PathInfo* pathInfo, SourceLoc initiatingSourceLoc) { SourceRange range = allocateSourceRange(sourceFile->getContentSize()); @@ -413,11 +413,11 @@ SourceView* SourceManager::createSourceView(SourceFile* sourceFile, const PathIn if (pathInfo && (pathInfo->foundPath.getLength() && sourceFile->getPathInfo().foundPath != pathInfo->foundPath)) { - sourceView = new SourceView(sourceFile, range, &pathInfo->foundPath); + sourceView = new SourceView(sourceFile, range, &pathInfo->foundPath, initiatingSourceLoc); } else { - sourceView = new SourceView(sourceFile, range, nullptr); + sourceView = new SourceView(sourceFile, range, nullptr, initiatingSourceLoc); } m_sourceViews.add(sourceView); -- cgit v1.2.3