public virtual void Process(ILInstruction ilInstruction, string operandString) { _writer.WriteLine("IL_{0:x4}: {1,-10} {2}", ilInstruction.Offset, ilInstruction.OpCode.Name, operandString); }
public override void Process(ILInstruction ilInstruction, string operandString) { _writer.WriteLine("IL_{0:x4}: {1,-4}| {2, -8}", ilInstruction.Offset, ilInstruction.OpCode.Value.ToString("x2"), operandString); }
public override void Process(ILInstruction instruction, string operandString) { var endCount = 0; if (_endCounts.TryGetValue(instruction.Offset, out endCount)) { for (var i = 0; i < endCount; i++) { Dedent(); _writer.WriteLine(_indent + "}"); } } var startCount = 0; if (_startCounts.TryGetValue(instruction.Offset, out startCount)) { for (var i = 0; i < startCount; i++) { _writer.WriteLine(_indent + ".try"); _writer.WriteLine(_indent + "{"); Indent(); } } var t = default(Type); if (_startCatch.TryGetValue(instruction.Offset, out t)) { Dedent(); _writer.WriteLine(_indent + "}"); _writer.WriteLine(_indent + $"catch ({t.ToIL()})"); _writer.WriteLine(_indent + "{"); Indent(); } if (_startFilter.Contains(instruction.Offset)) { Dedent(); _writer.WriteLine(_indent + "}"); _writer.WriteLine(_indent + "filter"); _writer.WriteLine(_indent + "{"); Indent(); } if (_startFinally.Contains(instruction.Offset)) { Dedent(); _writer.WriteLine(_indent + "}"); _writer.WriteLine(_indent + "finally"); _writer.WriteLine(_indent + "{"); Indent(); } if (_startFault.Contains(instruction.Offset)) { Dedent(); _writer.WriteLine(_indent + "}"); _writer.WriteLine(_indent + "fault"); _writer.WriteLine(_indent + "{"); Indent(); } _writer.WriteLine(string.Format("{3}IL_{0:x4}: {1,-10} {2}", instruction.Offset, instruction.OpCode.Name, operandString, _indent)); }