public CodeViewData Run(IDnlibDef item, CancellationToken token) { var builder = CreateBuilder(item, token); if (builder == null) { return(new CodeViewData("")); } builder.RunTransformations(); var output = new CodeViewOutput(); builder.GenerateCode(output); return(output.GetResult()); }
public CodeViewData Run(IDnlibDef item, CancellationToken token) { try { var output = new CodeViewOutput(); var disassembler = new ReflectionDisassembler(output, true, token); DoDisassemble(item, output, disassembler); return(output.GetResult()); } catch { // Retry if ILStructure failed. var output = new CodeViewOutput(); output.WriteComment("// ILStructure failed!"); output.WriteLine(); var disassembler = new ReflectionDisassembler(output, false, token); DoDisassemble(item, output, disassembler); return(output.GetResult()); } }