diff options
Diffstat (limited to 'include/lldb/Symbol/LineEntry.h')
-rw-r--r-- | include/lldb/Symbol/LineEntry.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/include/lldb/Symbol/LineEntry.h b/include/lldb/Symbol/LineEntry.h index 082caea3b12fe..374c04a7fcec4 100644 --- a/include/lldb/Symbol/LineEntry.h +++ b/include/lldb/Symbol/LineEntry.h @@ -140,6 +140,32 @@ struct LineEntry static int Compare (const LineEntry& lhs, const LineEntry& rhs); + //------------------------------------------------------------------ + /// Give the range for this LineEntry + any additional LineEntries for + /// this same source line that are contiguous. + /// + /// A compiler may emit multiple line entries for a single source line, + /// e.g. to indicate subexpressions at different columns. This method + /// will get the AddressRange for all of the LineEntries for this source + /// line that are contiguous. + // + /// Line entries with a line number of 0 are treated specially - these + /// are compiler-generated line table entries that the user did not + /// write in their source code, and we want to skip past in the debugger. + /// If this LineEntry is for line 32, and the following LineEntry is for + /// line 0, we will extend the range to include the AddressRange of the + /// line 0 LineEntry (and it will include the range of the following + /// LineEntries that match either 32 or 0.) + /// + /// If the initial LineEntry this method is called on is a line #0, only + /// the range of contiuous LineEntries with line #0 will be included in + /// the complete range. + /// + /// @return + /// The contiguous AddressRange for this source line. + //------------------------------------------------------------------ + AddressRange + GetSameLineContiguousAddressRange () const; //------------------------------------------------------------------ // Member variables. |