private void ScanExplicitInterfaceImplementations(MosaType type, MosaType interfaceType, MosaMethod[] methodTable)
{
foreach (var method in type.Methods)
{
foreach (var overrideTarget in method.Overrides)
{
// Get clean name for overrideTarget
var cleanOverrideTargetName = GetCleanMethodName(overrideTarget.Name);
int slot = 0;
foreach (var interfaceMethod in interfaceType.Methods)
{
// Get clean name for interfaceMethod
var cleanInterfaceMethodName = GetCleanMethodName(interfaceMethod.Name);
// Check that the signatures match, the types and the names
if (overrideTarget.Equals(interfaceMethod) && overrideTarget.DeclaringType.Equals(interfaceType) && cleanOverrideTargetName.Equals(cleanInterfaceMethodName))
{
methodTable[slot] = method;
}
slot++;
}
}
}
}