public void Decompile(Stream assemblyStream, TextWriter codeWriter) { var assembly = AssemblyDefinition.ReadAssembly(assemblyStream); //#if DEBUG //assembly.Write(@"d:\Temp\assembly\" + System.DateTime.Now.Ticks + "-il.dll"); //#endif var output = new CustomizableIndentPlainTextOutput(codeWriter) { IndentationString = " " }; var disassembler = new ReflectionDisassembler(output, false, CancellationToken.None); foreach (TypeDefinition td in assembly.MainModule.Types) { // Skip a large helper class generated by Peachpie if (td.Name == Pchp.Core.Context.ScriptInfo.ScriptTypeName) { continue; } disassembler.DisassembleType(td); output.WriteLine(); } }
public void Decompile(Stream assemblyStream, TextWriter codeWriter) { var assembly = AssemblyDefinition.ReadAssembly(assemblyStream); var output = new CustomizableIndentPlainTextOutput(codeWriter) { IndentationString = " " }; var disassembler = new ReflectionDisassembler(output, false, CancellationToken.None); disassembler.WriteModuleContents(assembly.MainModule); }
public void Decompile(Stream assemblyStream, TextWriter codeWriter) { var assembly = AssemblyDefinition.ReadAssembly(assemblyStream); //#if DEBUG //assembly.Write(@"d:\Temp\assembly\" + System.DateTime.Now.Ticks + "-il.dll"); //#endif var output = new CustomizableIndentPlainTextOutput(codeWriter) { IndentationString = " " }; var disassembler = new ReflectionDisassembler(output, false, CancellationToken.None); disassembler.WriteModuleContents(assembly.MainModule); }