diff options
| author | Yong He <yonghe@outlook.com> | 2018-01-09 10:50:44 -0800 |
|---|---|---|
| committer | Tim Foley <tfoleyNV@users.noreply.github.com> | 2018-01-09 10:50:44 -0800 |
| commit | 8daafcc2e4bf7b2dfb66d7a3b7ac60c86b2d926c (patch) | |
| tree | b7fac301e3c4d1b006af70584feeb45af191aab6 /source/slang/val-defs.h | |
| parent | 3d435f7321c3f9241d33a0f7521573f21b548186 (diff) | |
bruteforce implementation of witness table resolution for associated (#358)
Diffstat (limited to 'source/slang/val-defs.h')
| -rw-r--r-- | source/slang/val-defs.h | 11 |
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() |
