Mosa.Compiler.Framework.MosaTypeLayout.FindOverrideSlot C# (CSharp) Method

FindOverrideSlot() private method

private FindOverrideSlot ( IList methodTable, MosaMethod method ) : int
methodTable IList
method MosaMethod
return int
        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;
        }