From 99cec56165635093fd458d8586b96f4c027d65aa Mon Sep 17 00:00:00 2001 From: de4dot Date: Sun, 4 Dec 2011 18:22:47 +0100 Subject: [PATCH] Update renamer code. Check for unresolved type and generic params --- de4dot.code/renamer/Renamer.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/de4dot.code/renamer/Renamer.cs b/de4dot.code/renamer/Renamer.cs index 6cb8b0da..bde5b76b 100644 --- a/de4dot.code/renamer/Renamer.cs +++ b/de4dot.code/renamer/Renamer.cs @@ -1032,6 +1032,8 @@ namespace de4dot.renamer { if (extType == null) return null; var extTypeDef = modules.resolveOther(extType); + if (extTypeDef == null) + return null; var theMethodDef = extTypeDef.find(theMethod); if (theMethodDef != null) return theMethodDef.Event; @@ -1146,6 +1148,8 @@ namespace de4dot.renamer { if (extType == null) return null; var extTypeDef = modules.resolveOther(extType); + if (extTypeDef == null) + return null; var theMethodDef = extTypeDef.find(theMethod); if (theMethodDef != null) return theMethodDef.Property; @@ -1176,12 +1180,16 @@ namespace de4dot.renamer { const string defaultVal = "Prop_"; var propType = getPropertyType(scope); - if (propType == null || propType is GenericInstanceType || propType is GenericParameter) + if (propType == null) + return defaultVal; + + var elementType = propType.GetElementType(); + if (propType is GenericInstanceType || elementType is GenericParameter) return defaultVal; var prefix = getPrefix(propType); - string name = propType.GetElementType().Name; + string name = elementType.Name; int i; if ((i = name.IndexOf('`')) >= 0) name = name.Substring(0, i);