protected override LineNumberTableData ReadLineNumbers()
{
List<LineEntry> lines = new List<LineEntry> ();
int last_line = -1;
for (int i = 0; i < line_numbers.Length; i++) {
JitLineNumberEntry lne = line_numbers [i];
generate_line_number (lines, method.StartAddress + lne.Address,
lne.Offset, ref last_line);
}
lines.Sort ();
int start_row = 0, end_row = 0;
if (lines.Count > 0) {
start_row = lines [0].Line;
end_row = lines [lines.Count - 1].Line;
foreach (LineEntry line in lines) {
if (line.IsHidden)
continue;
if (line.Line < start_row)
start_row = line.Line;
if (line.Line > end_row)
end_row = line.Line;
}
}
return new LineNumberTableData (start_row, end_row, lines.ToArray ());
}