Mono.Debugger.Backend.BfdDisassembler.DisassembleMethod C# (CSharp) Method

DisassembleMethod() public method

public DisassembleMethod ( TargetMemoryAccess memory, Method method ) : AssemblerMethod
memory Mono.Debugger.TargetMemoryAccess
method Mono.Debugger.Method
return Mono.Debugger.AssemblerMethod
        public override AssemblerMethod DisassembleMethod(TargetMemoryAccess memory, Method method)
        {
            lock (this) {
                ArrayList list = new ArrayList ();
                TargetAddress current = method.StartAddress;
                while (current < method.EndAddress) {
                    AssemblerLine line = DisassembleInstruction (
                        memory, method, current);
                    if (line == null)
                        break;

                    current += line.InstructionSize;
                    list.Add (line);
                }

                AssemblerLine[] lines = new AssemblerLine [list.Count];
                list.CopyTo (lines, 0);

                return new AssemblerMethod (method, lines);
            }
        }