示例#1
0
        protected DwarfMethodSource GetMethodSource(DieSubprogram subprog,
							     int start_row, int end_row)
        {
            DwarfMethodSource source;
            source = (DwarfMethodSource) method_source_hash [subprog.Offset];
            if (source != null)
                return source;

            source = new DwarfMethodSource (subprog, start_row, end_row);
            method_source_hash.Add (subprog.Offset, source);
            return source;
        }
示例#2
0
            void read_line_numbers()
            {
                if (source != null)
                    return;

                subprog.Resolve ();

                SourceAddress start = engine.Lookup (StartAddress);
                SourceAddress end = engine.Lookup (EndAddress);

                if ((start == null) || (end == null))
                    return;

                start_row = start.Row;
                end_row = end.Row;

                SetMethodBounds (StartAddress + start.LineRange,
                         EndAddress - end.LineOffset);

                source = subprog.dwarf.GetMethodSource (subprog, start_row, end_row);

                subprog.dwarf.method_hash.Add (source.Handle, this);
            }