summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/slang-fiddle/slang-fiddle-scrape.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/tools/slang-fiddle/slang-fiddle-scrape.cpp b/tools/slang-fiddle/slang-fiddle-scrape.cpp
index c3b83527c..4fe80d5b2 100644
--- a/tools/slang-fiddle/slang-fiddle-scrape.cpp
+++ b/tools/slang-fiddle/slang-fiddle-scrape.cpp
@@ -1816,6 +1816,30 @@ int _indexVal(lua_State* L)
lua_pushboolean(L, decl->findModifier<AbstractModifier>() != nullptr);
return 1;
}
+ if (strcmp(name, "getDebugVisType") == 0)
+ {
+ auto aggTypeDecl = as<AggTypeDecl>(decl);
+ if (aggTypeDecl)
+ {
+ if (aggTypeDecl->isSubTypeOf("Decl"))
+ lua_pushstring(L, "SyntaxClassInfoDebugVisType::Decl");
+ else if (aggTypeDecl->isSubTypeOf("Expr"))
+ lua_pushstring(L, "SyntaxClassInfoDebugVisType::Expr");
+ else if (aggTypeDecl->isSubTypeOf("Modifier"))
+ lua_pushstring(L, "SyntaxClassInfoDebugVisType::Modifier");
+ else if (aggTypeDecl->isSubTypeOf("Stmt"))
+ lua_pushstring(L, "SyntaxClassInfoDebugVisType::Stmt");
+ else if (aggTypeDecl->isSubTypeOf("Val"))
+ lua_pushstring(L, "SyntaxClassInfoDebugVisType::Val");
+ else if (aggTypeDecl->isSubTypeOf("Scope"))
+ lua_pushstring(L, "SyntaxClassInfoDebugVisType::Scope");
+ else
+ lua_pushstring(L, "SyntaxClassInfoDebugVisType::Unknown");
+ }
+ else
+ lua_pushstring(L, "SyntaxClassInfoDebugVisType::Unknown");
+ return 1;
+ }
}
if (auto varDecl = as<VarDecl>(val))