Only protect *Invoke methods. Rename and remove a variable

This commit is contained in:
de4dot 2011-11-03 18:53:58 +01:00
parent 555ca393e2
commit 98cdcf9ca5

View File

@ -926,26 +926,20 @@ namespace de4dot.renamer {
return;
methodDef.Renamed = true;
bool canRenameName = true;
bool canRenameMethodName = true;
if (IsDelegate && methodDef.isVirtual()) {
switch (methodDef.MethodDefinition.Name) {
case "GetMethodImpl":
case "CombineImpl":
case "DynamicInvokeImpl":
case "GetInvocationList":
case "RemoveImpl":
case "Invoke":
case "BeginInvoke":
case "EndInvoke":
canRenameName = false;
case "Invoke":
canRenameMethodName = false;
break;
}
}
var variableNameState = MemberRenameState.variableNameState;
bool isVirtual = methodDef.isVirtual();
if (canRenameName) {
if (canRenameMethodName) {
var nameCreator = getMethodNameCreator(methodDef, suggestedName);
if (!methodDef.MethodDefinition.IsRuntimeSpecialName && !variableNameState.IsValidName(methodDef.OldName))
methodDef.NewName = nameCreator.newName();
@ -963,7 +957,7 @@ namespace de4dot.renamer {
prepareRenameGenericParams(methodDef.GenericParams, variableNameState.IsValidName, methodDef.Owner == null ? null : methodDef.Owner.genericParams);
if (isVirtual)
if (methodDef.isVirtual())
MemberRenameState.add(methodDef);
}