Browse Source

Refactor code in HandleCommandLineArgumentsAfterShowList as per code-review.

pull/1324/head
Siegfried Pammer 7 years ago
parent
commit
c73f46d27c
  1. 24
      ILSpy/MainWindow.xaml.cs

24
ILSpy/MainWindow.xaml.cs

@ -300,24 +300,16 @@ namespace ICSharpCode.ILSpy @@ -300,24 +300,16 @@ namespace ICSharpCode.ILSpy
var module = asm.GetPEFileOrNull();
if (CanResolveTypeInPEFile(module, typeRef, out var typeHandle)) {
IEntity mr = null;
if (typeHandle.Kind == HandleKind.ExportedType) {
var decompilerTypeSystem = new DecompilerTypeSystem(module, module.GetAssemblyResolver());
if (memberRef == null) {
mr = typeRef.Resolve(new SimpleTypeResolveContext(decompilerTypeSystem)) as ITypeDefinition;
} else {
mr = memberRef.Resolve(new SimpleTypeResolveContext(decompilerTypeSystem));
}
} else {
var compilation = new SimpleCompilation(module, MinimalCorlib.Instance);
if (memberRef == null) {
mr = ((MetadataModule)compilation.MainModule).GetDefinition((TypeDefinitionHandle)typeHandle);
} else {
mr = memberRef.Resolve(new SimpleTypeResolveContext(compilation));
}
}
ICompilation compilation = typeHandle.Kind == HandleKind.ExportedType
? new DecompilerTypeSystem(module, module.GetAssemblyResolver())
: new SimpleCompilation(module, MinimalCorlib.Instance);
mr = memberRef == null
? typeRef.Resolve(new SimpleTypeResolveContext(compilation)) as ITypeDefinition
: (IEntity)memberRef.Resolve(new SimpleTypeResolveContext(compilation));
if (mr != null && mr.ParentModule.PEFile != null) {
found = true;
// Defer JumpToReference call to allow an assembly that was loaded while
// resolving a type-forwarder in FindMemberByKey to appear in the assembly list.
Dispatcher.BeginInvoke(new Action(() => JumpToReference(mr)), DispatcherPriority.Loaded);
break;
}

Loading…
Cancel
Save