void prepareRenameMemberDefinitions(MethodNameGroups groups) { Log.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(); }