public void FixOverridenMethodDef()

in ILRepack/ReferenceFixator.cs [582:603]


        public void FixOverridenMethodDef(MethodDefinition meth)
        {
            foreach (var ov in meth.Overrides)
            {
                MethodReference fixedOv = Fix(ov);
                if (fixedOv.IsDefinition)
                {
                    if (fixedOv.Module == meth.Module)
                    {
                        // it's a Definition, and in our module
                        MethodDefinition fixedOvDef = (MethodDefinition)fixedOv;
                        if (fixedOvDef.IsVirtual)
                            Fix((MethodDefinition)fixedOv, meth);
                    }
                }
            }

            // no explicit overrides found, check implicit overrides
            MethodDefinition @base = MethodMatcher.MapVirtualMethodToDeepestBase(meth);
            if (@base != null && @base.IsVirtual)
                Fix(@base, meth);
        }