From 110d15b61ac5d76da001d412eaa4be07f3cd8f4d Mon Sep 17 00:00:00 2001 From: Yong He Date: Fri, 19 Jun 2020 11:19:51 -0700 Subject: Dynamic dispatch for static member functions of associatedtypes. (#1404) --- source/slang/slang-emit-c-like.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'source/slang/slang-emit-c-like.cpp') diff --git a/source/slang/slang-emit-c-like.cpp b/source/slang/slang-emit-c-like.cpp index 6c004c84c..3438fd3f4 100644 --- a/source/slang/slang-emit-c-like.cpp +++ b/source/slang/slang-emit-c-like.cpp @@ -237,18 +237,15 @@ List CLikeSourceEmitter::getSortedWitnessTableEntries(IRWi for (UInt i = 0; i < interfaceType->getOperandCount(); i++) { auto reqKey = cast(interfaceType->getOperand(i)); - bool matchingEntryFound = false; IRWitnessTableEntry* entry = nullptr; if (witnessTableEntryDictionary.TryGetValue(reqKey, entry)) { - if (entry->requirementKey.get() == reqKey) - { - matchingEntryFound = true; - sortedWitnessTableEntries.add(entry); - break; - } + sortedWitnessTableEntries.add(entry); + } + else + { + SLANG_UNREACHABLE("interface requirement key not found in witness table."); } - SLANG_ASSERT(matchingEntryFound); } return sortedWitnessTableEntries; } -- cgit v1.2.3