summaryrefslogtreecommitdiffstats
path: root/source/slang/slang.cpp
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2019-02-04 17:30:51 -0500
committerGitHub <noreply@github.com>2019-02-04 17:30:51 -0500
commit9b80537bc0272a9caf93f146d8964d9bdd4a407e (patch)
tree13c2e92adca1b78b632bd8dd6cc1fecb5a12ded9 /source/slang/slang.cpp
parent0d206996cd68b9f08ae1b4d9da6f16293984302c (diff)
Feature/view path (#824)
* Use 'is' over 'as' where appropriate. * dynamic_cast -> dynamicCast * Replace 'dynamicCast' with 'as' where has no change in behavior/ambiguity. * Replace dynamicCast with as where doesn't change behavior/non ambiguous. * Keep a per view path to the file loaded - such that diagnostic messages always display the path to the requested file. * Add simplifyPath to ISlangFileSystemExt Simplify (if possible) paths that are set on SourceFile and SourcView - doing so makes reading paths simpler. * Fix small typo. * Improve documentation in source for getFileUniqueIdentity * Fix override warning.
Diffstat (limited to 'source/slang/slang.cpp')
-rw-r--r--source/slang/slang.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/source/slang/slang.cpp b/source/slang/slang.cpp
index e332ef588..16dfe8618 100644
--- a/source/slang/slang.cpp
+++ b/source/slang/slang.cpp
@@ -176,6 +176,17 @@ struct IncludeHandlerImpl : IncludeHandler
return SLANG_OK;
}
+ virtual String simplifyPath(const String& path) override
+ {
+ ISlangFileSystemExt* fileSystemExt = _getFileSystemExt();
+ ComPtr<ISlangBlob> simplifiedPath;
+ if (SLANG_FAILED(fileSystemExt->getSimplifiedPath(path.Buffer(), simplifiedPath.writeRef())))
+ {
+ return path;
+ }
+ return StringUtil::getString(simplifiedPath);
+ }
+
};
//