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(); }
void prepareRenameMemberDefinitions(MethodNameScopes scopes) { Log.v("Renaming member definitions #1"); prepareRenameEntryPoints(); var virtualMethods = new ScopeHelper(memberInfos, modules.AllTypes); var ifaceMethods = new ScopeHelper(memberInfos, modules.AllTypes); var propMethods = new ScopeHelper(memberInfos, modules.AllTypes); var eventMethods = new ScopeHelper(memberInfos, modules.AllTypes); foreach (var scope in getSorted(scopes)) { if (scope.hasNonRenamableMethod()) continue; else if (scope.hasGetterOrSetterPropertyMethod() && getPropertyMethodType(scope.Methods[0]) != PropertyMethodType.Other) propMethods.add(scope); else if (scope.hasAddRemoveOrRaiseEventMethod()) eventMethods.add(scope); else if (scope.hasInterfaceMethod()) ifaceMethods.add(scope); else virtualMethods.add(scope); } var prepareHelper = new PrepareHelper(memberInfos, modules.AllTypes); prepareHelper.prepare((info) => info.prepareRenameMembers()); prepareHelper.prepare((info) => info.prepareRenamePropsAndEvents()); propMethods.visitAll((scope) => prepareRenameProperty(scope, false)); eventMethods.visitAll((scope) => prepareRenameEvent(scope, false)); propMethods.visitAll((scope) => prepareRenameProperty(scope, true)); eventMethods.visitAll((scope) => prepareRenameEvent(scope, true)); foreach (var typeDef in modules.AllTypes) memberInfos.type(typeDef).initializeEventHandlerNames(); prepareHelper.prepare((info) => info.prepareRenameMethods()); ifaceMethods.visitAll((scope) => prepareRenameVirtualMethods(scope, "imethod_", false)); virtualMethods.visitAll((scope) => prepareRenameVirtualMethods(scope, "vmethod_", false)); ifaceMethods.visitAll((scope) => prepareRenameVirtualMethods(scope, "imethod_", true)); virtualMethods.visitAll((scope) => prepareRenameVirtualMethods(scope, "vmethod_", true)); restoreMethodArgs(scopes); foreach (var typeDef in modules.AllTypes) memberInfos.type(typeDef).prepareRenameMethods2(); }