private int FindOverrideSlot(IList<MosaMethod> methodTable, MosaMethod method)
{
int slot = -1;
foreach (var baseMethod in methodTable)
{
if (baseMethod.Name.Equals(method.Name) && baseMethod.Equals(method))
{
if (baseMethod.GenericArguments.Count == 0)
return methodTableOffsets[baseMethod];
else
slot = methodTableOffsets[baseMethod];
}
}
if (slot >= 0) // non generic methods are more exact
return slot;
//throw new InvalidOperationException(@"Failed to find override method slot.");
return -1;
}