Browse Source

Fix bug in DecompilerTypeSystem initialization, causing assemblies being added multiple times.

pull/1030/head
Siegfried Pammer 7 years ago
parent
commit
529a61a117
  1. 5
      ICSharpCode.Decompiler/Metadata/AssemblyReferences.cs
  2. 4
      ICSharpCode.Decompiler/TypeSystem/DecompilerTypeSystem.cs

5
ICSharpCode.Decompiler/Metadata/AssemblyReferences.cs

@ -195,5 +195,10 @@ namespace ICSharpCode.Decompiler.Metadata @@ -195,5 +195,10 @@ namespace ICSharpCode.Decompiler.Metadata
throw new ArgumentNullException(nameof(handle));
Handle = handle;
}
public override string ToString()
{
return FullName;
}
}
}

4
ICSharpCode.Decompiler/TypeSystem/DecompilerTypeSystem.cs

@ -121,8 +121,8 @@ namespace ICSharpCode.Decompiler.TypeSystem @@ -121,8 +121,8 @@ namespace ICSharpCode.Decompiler.TypeSystem
assemblyReferenceQueue.Enqueue((true, moduleDefinition, refs));
}
var comparer = KeyComparer.Create(((bool IsAssembly, PEFile MainModule, object Reference) reference) =>
reference.IsAssembly ? "A:" + reference.MainModule.FileName + ":" + ((AssemblyReference)reference.Reference).FullName :
"M:" + reference.MainModule.FileName + ":" + reference.Reference);
reference.IsAssembly ? "A:" + ((AssemblyReference)reference.Reference).FullName :
"M:" + reference.Reference);
var processedAssemblyReferences = new HashSet<(bool IsAssembly, PEFile Parent, object Reference)>(comparer);
while (assemblyReferenceQueue.Count > 0) {
var asmRef = assemblyReferenceQueue.Dequeue();

Loading…
Cancel
Save