Mono.Debugger.SymbolTable.Lookup C# (CSharp) Method

Lookup() public method

public Lookup ( TargetAddress address ) : Method
address TargetAddress
return Method
        public virtual Method Lookup(TargetAddress address)
        {
            if (IsContinuous && ((address < start_address) || (address >= end_address)))
                return null;

            if (HasRanges) {
                if (SymbolRanges == null)
                    return null;

                foreach (SymbolRangeEntry range in SymbolRanges) {
                    if ((address < range.StartAddress) || (address >= range.EndAddress))
                        continue;

                    return range.SymbolLookup.Lookup (address);
                }

                return null;
            }

            if (!HasMethods)
                return null;

            ArrayList methods = ensure_methods ();
            if (methods == null)
                return null;

            foreach (Method method in methods) {
                if (!method.IsLoaded)
                    continue;

                if ((address < method.StartAddress) || (address >= method.EndAddress))
                    continue;

                return method;
            }

            return null;
        }