summaryrefslogtreecommitdiff
path: root/source/slang/expr-defs.h
diff options
context:
space:
mode:
authorTim Foley <tfoleyNV@users.noreply.github.com>2017-07-18 13:32:56 -0700
committerGitHub <noreply@github.com>2017-07-18 13:32:56 -0700
commit3d313d963f29f6ca6a8d12bd5c403a70c49aca2a (patch)
treed4a5f0cefd50c96aaf22921f9fef715b6359c0c5 /source/slang/expr-defs.h
parentac310e2d848f3174cfb88ca6166676afc2cbe3cd (diff)
parent1c022e2c3654de868c45658683f9e04cf4d68cc0 (diff)
Merge pull request #118 from tfoleyNV/falcor-shadow-fixes
Falcor shadow fixes
Diffstat (limited to 'source/slang/expr-defs.h')
-rw-r--r--source/slang/expr-defs.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/source/slang/expr-defs.h b/source/slang/expr-defs.h
index 0dac324b9..dc93407e0 100644
--- a/source/slang/expr-defs.h
+++ b/source/slang/expr-defs.h
@@ -56,11 +56,21 @@ SYNTAX_CLASS(InitializerListExpr, ExpressionSyntaxNode)
SYNTAX_FIELD(List<RefPtr<ExpressionSyntaxNode>>, args)
END_SYNTAX_CLASS()
+// A base class for expressions with arguments
+ABSTRACT_SYNTAX_CLASS(ExprWithArgsBase, ExpressionSyntaxNode)
+ SYNTAX_FIELD(List<RefPtr<ExpressionSyntaxNode>>, Arguments)
+END_SYNTAX_CLASS()
+
+// An aggregate type constructor
+SYNTAX_CLASS(AggTypeCtorExpr, ExprWithArgsBase)
+ SYNTAX_FIELD(TypeExp, base);
+END_SYNTAX_CLASS()
+
+
// A base expression being applied to arguments: covers
// both ordinary `()` function calls and `<>` generic application
-ABSTRACT_SYNTAX_CLASS(AppExprBase, ExpressionSyntaxNode)
+ABSTRACT_SYNTAX_CLASS(AppExprBase, ExprWithArgsBase)
SYNTAX_FIELD(RefPtr<ExpressionSyntaxNode>, FunctionExpr)
- SYNTAX_FIELD(List<RefPtr<ExpressionSyntaxNode>>, Arguments)
END_SYNTAX_CLASS()
SIMPLE_SYNTAX_CLASS(InvokeExpressionSyntaxNode, AppExprBase)