internal void FixReferences()

in ILRepack/ReferenceFixator.cs [123:150]


        internal void FixReferences(TypeDefinition type)
        {
            FixReferences(type.GenericParameters);

            type.BaseType = Fix(type.BaseType);

            // interfaces before methods, because methods will have to go through them
            foreach (InterfaceImplementation nested in type.Interfaces)
            {
                nested.InterfaceType = Fix(nested.InterfaceType);
                FixReferences(nested.CustomAttributes);
            }

            // nested types first
            foreach (TypeDefinition nested in type.NestedTypes)
                FixReferences(nested);
            foreach (FieldDefinition field in type.Fields)
                FixReferences(field);
            foreach (MethodDefinition meth in type.Methods)
                FixReferences(meth);
            foreach (EventDefinition evt in type.Events)
                FixReferences(evt);
            foreach (PropertyDefinition prop in type.Properties)
                FixReferences(prop);

            FixReferences(type.SecurityDeclarations);
            FixReferences(type.CustomAttributes);
        }