Browse Source

Simplify ShowIL implementation

pull/1740/head
Siegfried Pammer 6 years ago
parent
commit
d2999e7d5d
  1. 14
      ICSharpCode.Decompiler.Console/IlspyCmdProgram.cs

14
ICSharpCode.Decompiler.Console/IlspyCmdProgram.cs

@ -141,16 +141,10 @@ Remarks:
int ShowIL(string assemblyFileName, TextWriter output) int ShowIL(string assemblyFileName, TextWriter output)
{ {
CSharpDecompiler decompiler = GetDecompiler(assemblyFileName, referencePaths); var module = new PEFile(assemblyFileName);
ITextOutput textOutput = new PlainTextOutput(); output.WriteLine($"// IL code: {module.Name}");
ReflectionDisassembler disassembler = new ReflectionDisassembler(textOutput, CancellationToken.None); var disassembler = new ReflectionDisassembler(new PlainTextOutput(output), CancellationToken.None);
disassembler.WriteModuleContents(module);
disassembler.DisassembleNamespace(decompiler.TypeSystem.MainModule.RootNamespace.Name,
decompiler.TypeSystem.MainModule.PEFile,
decompiler.TypeSystem.MainModule.TypeDefinitions.Select(x => (TypeDefinitionHandle)x.MetadataToken));
output.WriteLine($"// IL code: {decompiler.TypeSystem.MainModule.AssemblyName}");
output.WriteLine(textOutput.ToString());
return 0; return 0;
} }

Loading…
Cancel
Save