From 1e22947f6ab852a090107964db241258a39a49d7 Mon Sep 17 00:00:00 2001 From: de4dot Date: Wed, 23 Nov 2011 04:42:13 +0100 Subject: [PATCH] Don't add prop/event 'other' methods to props/events list --- de4dot.code/renamer/Renamer.cs | 4 ++-- .../renamer/asmmodules/MethodNameScopes.cs | 19 +++++++++++-------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/de4dot.code/renamer/Renamer.cs b/de4dot.code/renamer/Renamer.cs index 21dc138d..9df75fcc 100644 --- a/de4dot.code/renamer/Renamer.cs +++ b/de4dot.code/renamer/Renamer.cs @@ -703,9 +703,9 @@ namespace de4dot.renamer { foreach (var scope in allScopes) { if (scope.hasNonRenamableMethod()) continue; - else if (scope.hasPropertyMethod() && getPropertyMethodType(scope.Methods[0]) != PropertyMethodType.Other) + else if (scope.hasGetterOrSetterPropertyMethod() && getPropertyMethodType(scope.Methods[0]) != PropertyMethodType.Other) propMethods.add(scope); - else if (scope.hasEventMethod()) + else if (scope.hasAddRemoveOrRaiseEventMethod()) eventMethods.add(scope); else if (scope.hasInterfaceMethod()) ifaceMethods.add(scope); diff --git a/de4dot.code/renamer/asmmodules/MethodNameScopes.cs b/de4dot.code/renamer/asmmodules/MethodNameScopes.cs index b513c66f..915caa8e 100644 --- a/de4dot.code/renamer/asmmodules/MethodNameScopes.cs +++ b/de4dot.code/renamer/asmmodules/MethodNameScopes.cs @@ -58,21 +58,24 @@ namespace de4dot.renamer.asmmodules { return false; } - public bool hasPropertyMethod() { + public bool hasGetterOrSetterPropertyMethod() { foreach (var method in methods) { - if (method.Property != null) + if (method.Property == null) + continue; + var prop = method.Property; + if (method == prop.GetMethod || method == prop.SetMethod) return true; } return false; } - public bool hasEventMethod() { + public bool hasAddRemoveOrRaiseEventMethod() { foreach (var method in methods) { - if (method.Event != null) { - var evt = method.Event; - if (method == evt.AddMethod || method == evt.RemoveMethod || method == evt.RaiseMethod) - return true; - } + if (method.Event == null) + continue; + var evt = method.Event; + if (method == evt.AddMethod || method == evt.RemoveMethod || method == evt.RaiseMethod) + return true; } return false; }