diff options
Diffstat (limited to 'source/slang/type-defs.h')
| -rw-r--r-- | source/slang/type-defs.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/source/slang/type-defs.h b/source/slang/type-defs.h index 25bb5387f..6e067c990 100644 --- a/source/slang/type-defs.h +++ b/source/slang/type-defs.h @@ -439,3 +439,17 @@ protected: virtual RefPtr<Type> CreateCanonicalType() override; ) END_SYNTAX_CLASS() + +// The concrete type for a value wrapped in an existential, accessible +// when the existential is "opened" in some context. +SYNTAX_CLASS(ExtractExistentialType, Type) +RAW( + DeclRef<VarDeclBase> declRef; + + virtual String ToString() override; + virtual bool EqualsImpl(Type * type) override; + virtual int GetHashCode() override; + virtual RefPtr<Type> CreateCanonicalType() override; + virtual RefPtr<Val> SubstituteImpl(SubstitutionSet subst, int* ioDiff) override; +) +END_SYNTAX_CLASS() |
