summaryrefslogtreecommitdiff
path: root/source/slang/val-defs.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/val-defs.h')
-rw-r--r--source/slang/val-defs.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/source/slang/val-defs.h b/source/slang/val-defs.h
index 4ecd5a51b..f0f830cd2 100644
--- a/source/slang/val-defs.h
+++ b/source/slang/val-defs.h
@@ -85,6 +85,9 @@ END_SYNTAX_CLASS()
ABSTRACT_SYNTAX_CLASS(SubtypeWitness, Witness)
FIELD(RefPtr<Type>, sub)
FIELD(RefPtr<Type>, sup)
+ RAW(
+ virtual DeclRef<Decl> getLastStepDeclRef() = 0;
+ )
END_SYNTAX_CLASS()
// A witness that one type is a subtype of another
@@ -96,6 +99,10 @@ RAW(
virtual String ToString() override;
virtual int GetHashCode() override;
virtual RefPtr<Val> SubstituteImpl(Substitutions * subst, int * ioDiff) override;
+ virtual DeclRef<Decl> getLastStepDeclRef() override
+ {
+ return declRef;
+ }
)
END_SYNTAX_CLASS()
@@ -111,6 +118,10 @@ RAW(
virtual String ToString() override;
virtual int GetHashCode() override;
virtual RefPtr<Val> SubstituteImpl(Substitutions * subst, int * ioDiff) override;
+ virtual DeclRef<Decl> getLastStepDeclRef() override
+ {
+ return midToSup->getLastStepDeclRef();
+ }
)
END_SYNTAX_CLASS()