diff options
Diffstat (limited to 'include/lldb/Symbol/LineEntry.h')
-rw-r--r-- | include/lldb/Symbol/LineEntry.h | 83 |
1 files changed, 34 insertions, 49 deletions
diff --git a/include/lldb/Symbol/LineEntry.h b/include/lldb/Symbol/LineEntry.h index c1ce614609c1..fe97a78e3ed4 100644 --- a/include/lldb/Symbol/LineEntry.h +++ b/include/lldb/Symbol/LineEntry.h @@ -1,9 +1,8 @@ //===-- LineEntry.h ---------------------------------------------*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// @@ -16,16 +15,12 @@ namespace lldb_private { -//---------------------------------------------------------------------- -/// @class LineEntry LineEntry.h "lldb/Symbol/LineEntry.h" +/// \class LineEntry LineEntry.h "lldb/Symbol/LineEntry.h" /// A line table entry class. -//---------------------------------------------------------------------- struct LineEntry { - //------------------------------------------------------------------ /// Default constructor. /// /// Initialize all member variables to invalid values. - //------------------------------------------------------------------ LineEntry(); LineEntry(const lldb::SectionSP §ion_sp, lldb::addr_t section_offset, @@ -34,95 +29,84 @@ struct LineEntry { bool _is_start_of_basic_block, bool _is_prologue_end, bool _is_epilogue_begin, bool _is_terminal_entry); - //------------------------------------------------------------------ /// Clear the object's state. /// /// Clears all member variables to invalid values. - //------------------------------------------------------------------ void Clear(); - //------------------------------------------------------------------ /// Dump a description of this object to a Stream. /// /// Dump a description of the contents of this object to the supplied stream /// \a s. /// - /// @param[in] s + /// \param[in] s /// The stream to which to dump the object description. /// - /// @param[in] comp_unit + /// \param[in] comp_unit /// The compile unit object that contains the support file /// list so the line entry can dump the file name (since this /// object contains a file index into the support file list). /// - /// @param[in] show_file + /// \param[in] show_file /// If \b true, display the filename with the line entry which /// requires that the compile unit object \a comp_unit be a /// valid pointer. /// - /// @param[in] style + /// \param[in] style /// The display style for the section offset address. /// - /// @return + /// \return /// Returns \b true if the address was able to be displayed /// using \a style. File and load addresses may be unresolved /// and it may not be possible to display a valid address value. /// Returns \b false if the address was not able to be properly /// dumped. /// - /// @see Address::DumpStyle - //------------------------------------------------------------------ + /// \see Address::DumpStyle bool Dump(Stream *s, Target *target, bool show_file, Address::DumpStyle style, Address::DumpStyle fallback_style, bool show_range) const; bool GetDescription(Stream *s, lldb::DescriptionLevel level, CompileUnit *cu, Target *target, bool show_address_only) const; - //------------------------------------------------------------------ /// Dumps information specific to a process that stops at this line entry to /// the supplied stream \a s. /// - /// @param[in] s + /// \param[in] s /// The stream to which to dump the object description. /// - /// @param[in] comp_unit + /// \param[in] comp_unit /// The compile unit object that contains the support file /// list so the line entry can dump the file name (since this /// object contains a file index into the support file list). /// - /// @return + /// \return /// Returns \b true if the file and line were properly dumped, /// \b false otherwise. - //------------------------------------------------------------------ bool DumpStopContext(Stream *s, bool show_fullpaths) const; - //------------------------------------------------------------------ /// Check if a line entry object is valid. /// - /// @return + /// \return /// Returns \b true if the line entry contains a valid section /// offset address, file index, and line number, \b false /// otherwise. - //------------------------------------------------------------------ bool IsValid() const; - //------------------------------------------------------------------ /// Compare two LineEntry objects. /// - /// @param[in] lhs + /// \param[in] lhs /// The Left Hand Side const LineEntry object reference. /// - /// @param[in] rhs + /// \param[in] rhs /// The Right Hand Side const LineEntry object reference. /// - /// @return - /// @li -1 if lhs < rhs - /// @li 0 if lhs == rhs - /// @li 1 if lhs > rhs - //------------------------------------------------------------------ + /// \return + /// \li -1 if lhs < rhs + /// \li 0 if lhs == rhs + /// \li 1 if lhs > rhs 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. /// @@ -139,27 +123,30 @@ struct LineEntry { /// LineEntry (and it will include the range of the following LineEntries /// that match either 32 or 0.) /// + /// When \b include_inlined_functions is \b true inlined functions with + /// a call site at this LineEntry will also be included in the complete + /// range. + /// /// 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 + /// @param[in] include_inlined_functions + /// Whether to include inlined functions at the same line or not. + /// + /// \return /// The contiguous AddressRange for this source line. - //------------------------------------------------------------------ - AddressRange GetSameLineContiguousAddressRange() const; + AddressRange + GetSameLineContiguousAddressRange(bool include_inlined_functions) const; - //------------------------------------------------------------------ /// Apply file mappings from target.source-map to the LineEntry's file. /// - /// @param[in] target_sp + /// \param[in] target_sp /// Shared pointer to the target this LineEntry belongs to. - //------------------------------------------------------------------ void ApplyFileMappings(lldb::TargetSP target_sp); - //------------------------------------------------------------------ // Member variables. - //------------------------------------------------------------------ AddressRange range; ///< The section offset address range for this line entry. FileSpec file; ///< The source file, possibly mapped by the target.source-map ///setting @@ -183,18 +170,16 @@ struct LineEntry { ///instructions. }; -//------------------------------------------------------------------ /// Less than operator. /// -/// @param[in] lhs +/// \param[in] lhs /// The Left Hand Side const LineEntry object reference. /// -/// @param[in] rhs +/// \param[in] rhs /// The Right Hand Side const LineEntry object reference. /// -/// @return +/// \return /// Returns \b true if lhs < rhs, false otherwise. -//------------------------------------------------------------------ bool operator<(const LineEntry &lhs, const LineEntry &rhs); } // namespace lldb_private |