From 8daafcc2e4bf7b2dfb66d7a3b7ac60c86b2d926c Mon Sep 17 00:00:00 2001 From: Yong He Date: Tue, 9 Jan 2018 10:50:44 -0800 Subject: bruteforce implementation of witness table resolution for associated (#358) --- source/slang/val-defs.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'source/slang/val-defs.h') 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, sub) FIELD(RefPtr, sup) + RAW( + virtual DeclRef 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 SubstituteImpl(Substitutions * subst, int * ioDiff) override; + virtual DeclRef getLastStepDeclRef() override + { + return declRef; + } ) END_SYNTAX_CLASS() @@ -111,6 +118,10 @@ RAW( virtual String ToString() override; virtual int GetHashCode() override; virtual RefPtr SubstituteImpl(Substitutions * subst, int * ioDiff) override; + virtual DeclRef getLastStepDeclRef() override + { + return midToSup->getLastStepDeclRef(); + } ) END_SYNTAX_CLASS() -- cgit v1.2.3