summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-parser.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2024-12-09 04:47:16 -0800
committerGitHub <noreply@github.com>2024-12-09 20:47:16 +0800
commit525412c67ceea9f52a26e42044e99b349ebc2535 (patch)
tree77523cefc75d605fc69aa5bf498bcf18656c34c3 /source/slang/slang-parser.cpp
parent2bec21e91164c8533e93540dc8b610fb24205b7e (diff)
Report error on nested functions. (#5792)
* Report error on nested functions. * Fix. --------- Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
Diffstat (limited to 'source/slang/slang-parser.cpp')
-rw-r--r--source/slang/slang-parser.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/source/slang/slang-parser.cpp b/source/slang/slang-parser.cpp
index 8fb3be39c..172e3130f 100644
--- a/source/slang/slang-parser.cpp
+++ b/source/slang/slang-parser.cpp
@@ -5783,6 +5783,27 @@ DeclStmt* Parser::parseVarDeclrStatement(Modifiers modifiers)
FillPosition(varDeclrStatement);
auto decl = ParseDeclWithModifiers(this, currentScope->containerDecl, modifiers);
varDeclrStatement->decl = decl;
+
+ if (as<VarDeclBase>(decl))
+ {
+ }
+ else if (as<DeclGroup>(decl))
+ {
+ }
+ else if (as<AggTypeDecl>(decl))
+ {
+ }
+ else if (as<TypeDefDecl>(decl))
+ {
+ }
+ else if (as<UsingDecl>(decl))
+ {
+ }
+ else
+ {
+ sink->diagnose(decl->loc, Diagnostics::declNotAllowed, decl->astNodeType);
+ }
+
return varDeclrStatement;
}