diff options
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/slang-fiddle/slang-fiddle-scrape.cpp | 24 |
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)) |
