MethodDesc *pMD = methodIt.GetMethodDesc();
if (pMD->IsVirtual() && !pMD->IsAbstract() && pMD->IsMethodImpl())
{
- MethodImpl *pImpl = pMD->GetMethodImpl();
- MethodDesc **pImplMDs = pImpl->GetImplementedMDs();
- for (DWORD i = 0; i < pImpl->GetSize(); ++i)
+ MethodImpl::Iterator it(pMD);
+ while (it.IsValid())
{
- if (pImplMDs[i] == pInterfaceMD)
+ if (it.GetMethodDesc() == pInterfaceMD)
{
pCurMD = pMD;
break;
}
- }
+
+ it.Next();
+ }
}
}
}
{
// We implement this slot, record it
slots[slotIndex] = pCurDeclMethod->GetSlotIndex();
- replaced[slotIndex] = pCurDeclMethod->GetMethodDesc();
+ replaced[slotIndex].SetValue(pCurDeclMethod->GetMethodDesc());
// increment the counter
slotIndex++;
{
// We implement this slot, record it
slots[slotIndex] = pCurDeclMethod->GetSlotIndex();
- replaced[slotIndex] = pCurDeclMethod->GetMethodDesc();
+ replaced[slotIndex].SetValue(pCurDeclMethod->GetMethodDesc());
// increment the counter
slotIndex++;