diff options
| author | Yong He <yonghe@outlook.com> | 2020-06-25 14:01:33 -0700 |
|---|---|---|
| committer | Yong He <yonghe@outlook.com> | 2020-06-25 14:01:33 -0700 |
| commit | 509e36b62de7578843abc2547921beadff7a3ce0 (patch) | |
| tree | a74096fa8a71a69f5645fc7ad4b94b0bf8860ac1 /source/slang/slang-ir-lower-generics.cpp | |
| parent | a1fed5e49bc1c8452752d13d401ee0bbbc5c71c4 (diff) | |
Remove interfaceType operand from lookup_witness_method inst
Diffstat (limited to 'source/slang/slang-ir-lower-generics.cpp')
| -rw-r--r-- | source/slang/slang-ir-lower-generics.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/slang/slang-ir-lower-generics.cpp b/source/slang/slang-ir-lower-generics.cpp index 4b1b267f9..c374f45fa 100644 --- a/source/slang/slang-ir-lower-generics.cpp +++ b/source/slang/slang-ir-lower-generics.cpp @@ -224,7 +224,8 @@ namespace Slang // The callee is a result of witness table lookup, we will only // translate the call. IRInst* callee = nullptr; - auto interfaceType = maybeLowerInterfaceType(cast<IRInterfaceType>(interfaceLookup->getInterfaceType())); + auto witnessTableType = cast<IRWitnessTableType>(interfaceLookup->getWitnessTable()->getFullType()); + auto interfaceType = maybeLowerInterfaceType(cast<IRInterfaceType>(witnessTableType->getConformanceType())); for (UInt i = 0; i < interfaceType->getOperandCount(); i++) { auto entry = cast<IRInterfaceRequirementEntry>(interfaceType->getOperand(i)); |
