Ejemplo n.º 1
0
        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();
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }