From 8521f7baac49588ffe3398a5cda766e069817fe8 Mon Sep 17 00:00:00 2001 From: de4dot Date: Sun, 17 Nov 2013 20:23:32 +0100 Subject: [PATCH] ResourceReader.Read() now takes a ModuleDef instead of a ModuleDefMD as 1st param --- de4dot.code/resources/ResourceDataCreator.cs | 18 +++++++++++------- de4dot.code/resources/ResourceReader.cs | 6 ++---- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/de4dot.code/resources/ResourceDataCreator.cs b/de4dot.code/resources/ResourceDataCreator.cs index 0c20f00a..c1026a26 100644 --- a/de4dot.code/resources/ResourceDataCreator.cs +++ b/de4dot.code/resources/ResourceDataCreator.cs @@ -26,12 +26,14 @@ using dnlib.DotNet; namespace de4dot.code.resources { class ResourceDataCreator { - ModuleDefMD module; - Dictionary dict = new Dictionary(StringComparer.Ordinal); - Dictionary asmNameToAsmFullName = new Dictionary(StringComparer.Ordinal); + readonly ModuleDef module; + readonly ModuleDefMD moduleMD; + readonly Dictionary dict = new Dictionary(StringComparer.Ordinal); + readonly Dictionary asmNameToAsmFullName = new Dictionary(StringComparer.Ordinal); - public ResourceDataCreator(ModuleDefMD module) { + public ResourceDataCreator(ModuleDef module) { this.module = module; + this.moduleMD = module as ModuleDefMD; } public int Count { @@ -210,9 +212,11 @@ namespace de4dot.code.resources { string TryGetRealAssemblyName(string assemblyName) { var simpleName = Utils.GetAssemblySimpleName(assemblyName); - var asmRef = module.GetAssemblyRef(simpleName); - if (asmRef != null) - return asmRef.FullName; + if (moduleMD != null) { + var asmRef = moduleMD.GetAssemblyRef(simpleName); + if (asmRef != null) + return asmRef.FullName; + } var asm = TheAssemblyResolver.Instance.Resolve(new AssemblyNameInfo(simpleName), module); return asm == null ? null : asm.FullName; diff --git a/de4dot.code/resources/ResourceReader.cs b/de4dot.code/resources/ResourceReader.cs index 2982ee35..5e7fb105 100644 --- a/de4dot.code/resources/ResourceReader.cs +++ b/de4dot.code/resources/ResourceReader.cs @@ -34,17 +34,15 @@ namespace de4dot.code.resources { } struct ResourceReader { - ModuleDefMD module; IBinaryReader reader; ResourceDataCreator resourceDataCreator; - ResourceReader(ModuleDefMD module, IBinaryReader reader) { - this.module = module; + ResourceReader(ModuleDef module, IBinaryReader reader) { this.reader = reader; this.resourceDataCreator = new ResourceDataCreator(module); } - public static ResourceElementSet Read(ModuleDefMD module, IBinaryReader reader) { + public static ResourceElementSet Read(ModuleDef module, IBinaryReader reader) { return new ResourceReader(module, reader).Read(); }