summaryrefslogtreecommitdiff
path: root/source/slang/slang-check-impl.h
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2024-08-19 15:03:56 -0700
committerGitHub <noreply@github.com>2024-08-19 15:03:56 -0700
commit453683bf44f2112719802eaac2b332d49eebd640 (patch)
treed399db4c9cba90c11980186d3df1ffcc4d423b5a /source/slang/slang-check-impl.h
parentecf85df6eee3da76ef54b14e4ab083f22da89e46 (diff)
Tuple swizzling, concat, comparison and `countof`. (#4856)
* Tuple swizzling and element access. * Update proposal status. * Cleanup. * Fix merrge error. * Address review.
Diffstat (limited to 'source/slang/slang-check-impl.h')
-rw-r--r--source/slang/slang-check-impl.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/source/slang/slang-check-impl.h b/source/slang/slang-check-impl.h
index 7565b5472..fea81f68c 100644
--- a/source/slang/slang-check-impl.h
+++ b/source/slang/slang-check-impl.h
@@ -2637,6 +2637,8 @@ namespace Slang
IntVal* baseElementRowCount,
IntVal* baseElementColCount);
+ Expr* checkTupleSwizzleExpr(MemberExpr* memberExpr, TupleType* baseTupleType);
+
Expr* CheckSwizzleExpr(
MemberExpr* memberRefExpr,
Type* baseElementType,
@@ -2647,6 +2649,10 @@ namespace Slang
Type* baseElementType,
IntVal* baseElementCount);
+ // Check a member expr as a general member lookup.
+ // This is the default/fallback behavior if the base type isn't swizzlable.
+ Expr* checkGeneralMemberLookupExpr(MemberExpr* expr, Type* baseType);
+
/// Perform semantic checking of an assignment where the operands have already been checked.
Expr* checkAssignWithCheckedOperands(AssignExpr* expr);