diff options
| author | Yong He <yonghe@outlook.com> | 2023-07-25 13:49:36 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-07-25 13:49:36 -0700 |
| commit | d47d54928f46f1c869c8cca5cf67b310fd18cb1d (patch) | |
| tree | 75b0451d6596ee84652d2a37870ed82ef0f2ec21 | |
| parent | de3c1b278c6fbfef774ecd3f4fae3740d9680dcf (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.vcxproj | 1 | ||||
| -rw-r--r-- | build/visual-studio/slang/slang.vcxproj.filters | 3 | ||||
| -rw-r--r-- | premake5.lua | 6 | ||||
| -rw-r--r-- | source/slang/slang.natjmc | 19 |
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<*,*>::dispatch_*" /> + <Function Name="Slang::*Visitor<*,*>::dispatch" /> + <Function Name="Slang::SemanticsVisitor::dispatch*" /> + <Function Name="Slang::Semantics*Visitor::Semantics*Visitor" /> + +</NonUserCode>
\ No newline at end of file |
