summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2023-07-25 13:49:36 -0700
committerGitHub <noreply@github.com>2023-07-25 13:49:36 -0700
commitd47d54928f46f1c869c8cca5cf67b310fd18cb1d (patch)
tree75b0451d6596ee84652d2a37870ed82ef0f2ec21
parentde3c1b278c6fbfef774ecd3f4fae3740d9680dcf (diff)
Add slang.natjmc. (#3018)
This allows Visual Studio debugger to skip over AST visitor dispatch functions and stop directly at the `visit*` functions when stepping into a `dispatch*` call. Co-authored-by: Yong He <yhe@nvidia.com>
-rw-r--r--build/visual-studio/slang/slang.vcxproj1
-rw-r--r--build/visual-studio/slang/slang.vcxproj.filters3
-rw-r--r--premake5.lua6
-rw-r--r--source/slang/slang.natjmc19
4 files changed, 28 insertions, 1 deletions
diff --git a/build/visual-studio/slang/slang.vcxproj b/build/visual-studio/slang/slang.vcxproj
index 74d008c9e..69635157e 100644
--- a/build/visual-studio/slang/slang.vcxproj
+++ b/build/visual-studio/slang/slang.vcxproj
@@ -711,6 +711,7 @@ IF EXIST ..\..\..\external\slang-glslang\bin\windows-aarch64\release\slang-glsla
<None Include="..\..\..\source\slang\core.meta.slang" />
<None Include="..\..\..\source\slang\diff.meta.slang" />
<None Include="..\..\..\source\slang\hlsl.meta.slang" />
+ <None Include="..\..\..\source\slang\slang.natjmc" />
</ItemGroup>
<ItemGroup>
<Natvis Include="..\..\..\source\core\core.natvis" />
diff --git a/build/visual-studio/slang/slang.vcxproj.filters b/build/visual-studio/slang/slang.vcxproj.filters
index c2689b17d..0d678dfba 100644
--- a/build/visual-studio/slang/slang.vcxproj.filters
+++ b/build/visual-studio/slang/slang.vcxproj.filters
@@ -1213,6 +1213,9 @@
<None Include="..\..\..\source\slang\hlsl.meta.slang">
<Filter>Source Files</Filter>
</None>
+ <None Include="..\..\..\source\slang\slang.natjmc">
+ <Filter>Source Files</Filter>
+ </None>
</ItemGroup>
<ItemGroup>
<Natvis Include="..\..\..\source\core\core.natvis">
diff --git a/premake5.lua b/premake5.lua
index c7ed254cb..404016b65 100644
--- a/premake5.lua
+++ b/premake5.lua
@@ -487,6 +487,10 @@ function addSourceDir(path)
path .. "/*.h", -- Header files
path .. "/*.hpp", -- C++ style headers (for glslang)
path .. "/*.natvis", -- Visual Studio debugger visualization files
+ path .. "/*.natstepfilter", -- Visual Studio debugger step filter files
+ path .. "/*.natjmc", -- Visual Studio debugger step filter files
+
+
}
removefiles
{
@@ -613,7 +617,7 @@ function baseSlangProject(name, sourceDir)
--
vpaths {
{ ["Header Files"] = { "**.h", "**.hpp"} },
- { ["Source Files"] = { "**.cpp", "**.slang", "**.natvis" } },
+ { ["Source Files"] = { "**.cpp", "**.slang", "**.natvis", "**.natjmc" } },
}
-- Override default options for a project if necessary
diff --git a/source/slang/slang.natjmc b/source/slang/slang.natjmc
new file mode 100644
index 000000000..6070614e2
--- /dev/null
+++ b/source/slang/slang.natjmc
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<NonUserCode xmlns="http://schemas.microsoft.com/vstudio/debugger/jmc/2015">
+
+ <!-- Functions -->
+ <Function Name="Slang::Expr::accept" />
+ <Function Name="Slang::DeclBase::accept" />
+
+ <Function Name="Slang::Val::accept" />
+ <Function Name="Slang::Type::accept" />
+ <Function Name="Slang::Stmt::accept" />
+ <Function Name="Slang::NodeBase::getClassInfo" />
+ <Function Name="Slang::ASTClassInfo::getInfo" />
+
+ <Function Name="Slang::*Visitor&lt;*,*&gt;::dispatch_*" />
+ <Function Name="Slang::*Visitor&lt;*,*&gt;::dispatch" />
+ <Function Name="Slang::SemanticsVisitor::dispatch*" />
+ <Function Name="Slang::Semantics*Visitor::Semantics*Visitor" />
+
+</NonUserCode> \ No newline at end of file