Mono.Debugger.Backend.Mono.MonoSymbolFile.MonoLineNumberTable.Lookup C# (CSharp) Method

Lookup() public method

public Lookup ( TargetAddress address ) : SourceAddress
address Mono.Debugger.TargetAddress
return Mono.Debugger.SourceAddress
            public override SourceAddress Lookup(TargetAddress address)
            {
                if (address.IsNull || (address < start) || (address >= end))
                    return null;

                if (Addresses.Length < 1)
                    return null;

                TargetAddress next_address = end;
                TargetAddress next_not_hidden = end;

                for (int i = Addresses.Length-1; i >= 0; i--) {
                    LineEntry entry = (LineEntry) Addresses [i];

                    int range = (int) (next_not_hidden - address);

                    next_address = entry.Address;
                    if (!entry.IsHidden)
                        next_not_hidden = entry.Address;

                    if (next_address > address)
                        continue;

                    int offset = (int) (address - next_address);
                    return create_address (entry, offset, range);
                }

                if (Addresses.Length < 1)
                    return null;

                return create_address (Addresses [0], (int) (address - start),
                               (int) (Addresses [0].Address - address));
            }

Same methods

MonoSymbolFile.MonoLineNumberTable::Lookup ( int line ) : TargetAddress
MonoSymbolFile.MonoLineNumberTable::Lookup ( int line, int column ) : TargetAddress