void PrepareRenameMemberDefs(MethodNameGroups groups) { if (isVerbose) Logger.v("Renaming member definitions #1"); PrepareRenameEntryPoints(); var virtualMethods = new GroupHelper(memberInfos, modules.AllTypes); var ifaceMethods = new GroupHelper(memberInfos, modules.AllTypes); var propMethods = new GroupHelper(memberInfos, modules.AllTypes); var eventMethods = new GroupHelper(memberInfos, modules.AllTypes); foreach (var group in GetSorted(groups)) { if (group.HasNonRenamableMethod()) continue; else if (group.HasGetterOrSetterPropertyMethod() && GetPropertyMethodType(group.Methods[0]) != PropertyMethodType.Other) propMethods.Add(group); else if (group.HasAddRemoveOrRaiseEventMethod()) eventMethods.Add(group); else if (group.HasInterfaceMethod()) ifaceMethods.Add(group); else virtualMethods.Add(group); } var prepareHelper = new PrepareHelper(memberInfos, modules.AllTypes); prepareHelper.Prepare((info) => info.PrepareRenameMembers()); prepareHelper.Prepare((info) => info.PrepareRenamePropsAndEvents()); propMethods.VisitAll((group) => PrepareRenameProperty(group, false)); eventMethods.VisitAll((group) => PrepareRenameEvent(group, false)); propMethods.VisitAll((group) => PrepareRenameProperty(group, true)); eventMethods.VisitAll((group) => PrepareRenameEvent(group, true)); foreach (var typeDef in modules.AllTypes) memberInfos.Type(typeDef).InitializeEventHandlerNames(); prepareHelper.Prepare((info) => info.PrepareRenameMethods()); ifaceMethods.VisitAll((group) => PrepareRenameVirtualMethods(group, "imethod_", false)); virtualMethods.VisitAll((group) => PrepareRenameVirtualMethods(group, "vmethod_", false)); ifaceMethods.VisitAll((group) => PrepareRenameVirtualMethods(group, "imethod_", true)); virtualMethods.VisitAll((group) => PrepareRenameVirtualMethods(group, "vmethod_", true)); RestoreMethodArgs(groups); foreach (var typeDef in modules.AllTypes) memberInfos.Type(typeDef).PrepareRenameMethods2(); }