Mono.Debugger.SourceFile.FindMethod C# (CSharp) Method

FindMethod() public method

public FindMethod ( int line ) : MethodSource
line int
return MethodSource
        public MethodSource FindMethod(int line)
        {
            MethodSource[] methods = module.GetMethods (this);
            foreach (MethodSource method in methods) {
                if (!method.HasSourceFile || (method.SourceFile != this))
                    continue;
                if ((method.StartRow <= line) && (method.EndRow >= line))
                    return method;
            }

            return null;
        }

Usage Example

Example #1
0
        internal BreakpointHandle ResolveBreakpoint(Breakpoint breakpoint)
        {
            if (!module.IsLoaded)
            {
                return(null);
            }

            if ((function == null) && (source == null))
            {
                if (file != null)
                {
                    source = file.FindMethod(line);
                }
                else
                {
                    throw new TargetException(TargetError.LocationInvalid);
                }

                if ((source != null) && source.IsManaged)
                {
                    function = source.Function;
                }
            }

            if (function != null)
            {
                return(function.GetBreakpointHandle(breakpoint, line, column));
            }

            if ((source == null) || source.IsManaged)
            {
                throw new TargetException(TargetError.LocationInvalid);
            }

            TargetAddress address = GetAddress();

            if (!address.IsNull)
            {
                return(new AddressBreakpointHandle(breakpoint, address));
            }

            return(null);
        }