Browse Source

Delay initialization of LoadedAssembly.universalResolver

pull/1872/head
Siegfried Pammer 6 years ago
parent
commit
a2bce0b560
  1. 7
      ILSpy/LoadedAssembly.cs

7
ILSpy/LoadedAssembly.cs

@ -56,7 +56,6 @@ namespace ICSharpCode.ILSpy
this.assemblyTask = Task.Factory.StartNew(LoadAssembly, stream); // requires that this.fileName is set this.assemblyTask = Task.Factory.StartNew(LoadAssembly, stream); // requires that this.fileName is set
this.shortName = Path.GetFileNameWithoutExtension(fileName); this.shortName = Path.GetFileNameWithoutExtension(fileName);
this.resolver = new MyAssemblyResolver(this); this.resolver = new MyAssemblyResolver(this);
this.universalResolver = new MyUniversalResolver(this);
} }
/// <summary> /// <summary>
@ -271,7 +270,7 @@ namespace ICSharpCode.ILSpy
} }
static readonly Dictionary<string, LoadedAssembly> loadingAssemblies = new Dictionary<string, LoadedAssembly>(); static readonly Dictionary<string, LoadedAssembly> loadingAssemblies = new Dictionary<string, LoadedAssembly>();
readonly MyUniversalResolver universalResolver; MyUniversalResolver universalResolver;
LoadedAssembly LookupReferencedAssemblyInternal(Decompiler.Metadata.IAssemblyReference fullName, bool isWinRT) LoadedAssembly LookupReferencedAssemblyInternal(Decompiler.Metadata.IAssemblyReference fullName, bool isWinRT)
{ {
@ -291,6 +290,10 @@ namespace ICSharpCode.ILSpy
} }
} }
if (universalResolver == null) {
universalResolver = new MyUniversalResolver(this);
}
file = universalResolver.FindAssemblyFile(fullName); file = universalResolver.FindAssemblyFile(fullName);
foreach (LoadedAssembly loaded in assemblyList.GetAssemblies()) { foreach (LoadedAssembly loaded in assemblyList.GetAssemblies()) {

Loading…
Cancel
Save