summaryrefslogtreecommitdiff
path: root/source/slang/slang-ast-support-types.h
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2023-03-08 21:52:34 -0800
committerGitHub <noreply@github.com>2023-03-08 21:52:34 -0800
commit86fc50c5092fbccf6072dcf7bbdfafb8915f02c8 (patch)
treeb4f9eb6cb1eea88145fde0bd1f670a8803120257 /source/slang/slang-ast-support-types.h
parent257733f328f38a763c8b0c8830ff4c0d34ec9491 (diff)
Add support for `[PrimalSubstitute]` and `[PrimalSubstituteOf]`. (#2691)
* Add support for `[PrimalSubstitute]` and `[PrimalSubstituteOf]`. * Fix * Fix. * Cleanup. --------- Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-ast-support-types.h')
-rw-r--r--source/slang/slang-ast-support-types.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/source/slang/slang-ast-support-types.h b/source/slang/slang-ast-support-types.h
index 07b3a5eac..78b0ccfcc 100644
--- a/source/slang/slang-ast-support-types.h
+++ b/source/slang/slang-ast-support-types.h
@@ -391,6 +391,10 @@ namespace Slang
/// maybe synthesized and made available only after conformance checking.
TypesFullyResolved,
+ /// All attributes are fully checked. This is the final step before
+ /// checking the function body.
+ AttributesChecked,
+
/// The declaration is fully checked.
///
/// This step includes any validation of the declaration that is
@@ -1500,12 +1504,12 @@ namespace Slang
enum class DeclAssociationKind
{
- ForwardDerivativeFunc, BackwardDerivativeFunc,
+ ForwardDerivativeFunc, BackwardDerivativeFunc, PrimalSubstituteFunc
};
- struct DeclAssociation
+ struct DeclAssociation : SerialRefObject
{
- SLANG_VALUE_CLASS(DeclAssociation)
+ SLANG_OBJ_CLASS(DeclAssociation)
DeclAssociationKind kind;
Decl* decl;
};
@@ -1516,7 +1520,7 @@ namespace Slang
{
SLANG_OBJ_CLASS(DeclAssociationList)
- List<DeclAssociation> associations;
+ List<RefPtr<DeclAssociation>> associations;
};
/// Represents the "direction" that a parameter is being passed (e.g., `in` or `out`