17 : range(), file_sp(std::make_shared<
SupportFile>()),
19 is_start_of_statement(0), is_start_of_basic_block(0), is_prologue_end(0),
20 is_epilogue_begin(0), is_terminal_entry(0) {}
24 file_sp = std::make_shared<SupportFile>();
65 if (!
range.
Dump(s, target, style, fallback_style))
79 *s <<
", is_start_of_statement = TRUE";
82 *s <<
", is_start_of_basic_block = TRUE";
85 *s <<
", is_prologue_end = TRUE";
88 *s <<
", is_epilogue_begin = TRUE";
91 *s <<
", is_terminal_entry = TRUE";
97 bool show_address_only)
const {
101 if (show_address_only) {
119 *s <<
", is_start_of_statement = TRUE";
122 *s <<
", is_start_of_basic_block = TRUE";
125 *s <<
", is_prologue_end = TRUE";
128 *s <<
", is_epilogue_begin = TRUE";
131 *s <<
", is_terminal_entry = TRUE";
156 if (a_byte_size < b_byte_size)
158 if (a_byte_size > b_byte_size)
183 bool include_inlined_functions)
const {
187 auto symbol_context_scope = lldb::eSymbolContextLineEntry;
189 if (include_inlined_functions)
190 symbol_context_scope |= lldb::eSymbolContextBlock;
217 if (include_inlined_functions && next_line_sc.
block &&
225 auto inlined_parent_block =
228 if (!inlined_parent_block)
241 return complete_line_range;
247 if (
auto new_file_spec = target_sp->GetSourcePathMap().FindFile(
249 file_sp = std::make_shared<SupportFile>(*new_file_spec,
A section + offset based address range class.
Address & GetBaseAddress()
Get accessor for the base address of the range.
bool Dump(Stream *s, Target *target, Address::DumpStyle style, Address::DumpStyle fallback_style=Address::DumpStyleInvalid) const
Dump a description of this object to a Stream.
void Clear()
Clear the object's state.
bool Extend(const AddressRange &rhs_range)
Extends this range with rhs_range if it overlaps this range on the right side.
lldb::addr_t GetByteSize() const
Get accessor for the byte size of this range.
A section + offset based address class.
static int CompareFileAddress(const Address &lhs, const Address &rhs)
Compare two Address objects.
uint32_t CalculateSymbolContext(SymbolContext *sc, lldb::SymbolContextItem resolve_scope=lldb::eSymbolContextEverything) const
Reconstruct a symbol context from an address.
DumpStyle
Dump styles allow the Address::Dump(Stream *,DumpStyle) const function to display Address contents in...
@ DumpStyleFileAddress
Display as the file address (if any).
@ DumpStyleModuleWithFileAddress
Display as the file address with the module name prepended (if any).
@ DumpStyleLoadAddress
Display as the load address (if resolved).
bool Slide(int64_t offset)
bool Dump(Stream *s, ExecutionContextScope *exe_scope, DumpStyle style, DumpStyle fallback_style=DumpStyleInvalid, uint32_t addr_byte_size=UINT32_MAX, bool all_ranges=false, std::optional< Stream::HighlightSettings > settings=std::nullopt) const
Dump a description of this object to a Stream.
bool IsValid() const
Check if the object state is valid.
Block * GetContainingInlinedBlockWithCallSite(const Declaration &find_call_site)
Get the inlined block at the given call site that contains this block.
Block * GetContainingInlinedBlock()
Get the inlined block that contains this block.
A class that describes a compilation unit.
void Dump(Stream *s, const char *value_if_empty=nullptr) const
Dump the object description to a stream.
A class that describes the declaration location of a lldb object.
const ConstString & GetFilename() const
Filename string const get accessor.
static int Compare(const FileSpec &lhs, const FileSpec &rhs, bool full)
Compare two FileSpec objects.
void Dump(llvm::raw_ostream &s) const
Dump this object to a Stream.
A stream class that can stream formatted output to a file.
llvm::raw_ostream & AsRawOstream()
Returns a raw_ostream that forwards the data to this Stream object.
size_t Printf(const char *format,...) __attribute__((format(printf
Output printf formatted output to the stream.
size_t EOL()
Output and End of Line character to the stream.
Wraps either a FileSpec that represents a local file or a source file whose contents is known (for ex...
@ eEqualFileSpecAndChecksumIfSet
Defines a symbol context baton that can be handed other debug core functions.
Block * block
The Block for a given query.
LineEntry line_entry
The LineEntry for a given query.
#define LLDB_INVALID_LINE_NUMBER
A class that represents a running process on the host machine.
bool operator<(const Address &lhs, const Address &rhs)
DescriptionLevel
Description levels for "void GetDescription(Stream *, DescriptionLevel)" calls.
std::shared_ptr< lldb_private::Target > TargetSP
A line table entry class.
uint16_t column
The column number of the source line, or zero if there is no column information.
uint16_t is_epilogue_begin
Indicates this entry is one (of possibly many) where execution should be suspended for an exit breakp...
void Clear()
Clear the object's state.
bool Dump(Stream *s, Target *target, bool show_file, Address::DumpStyle style, Address::DumpStyle fallback_style, bool show_range) const
Dump a description of this object to a Stream.
lldb::SupportFileSP original_file_sp
The original source file, from debug info.
AddressRange GetSameLineContiguousAddressRange(bool include_inlined_functions) const
Give the range for this LineEntry + any additional LineEntries for this same source line that are con...
bool IsValid() const
Check if a line entry object is valid.
static int Compare(const LineEntry &lhs, const LineEntry &rhs)
Compare two LineEntry objects.
AddressRange range
The section offset address range for this line entry.
uint32_t line
The source line number, or LLDB_INVALID_LINE_NUMBER if there is no line number information.
LineEntry()
Default constructor.
bool GetDescription(Stream *s, lldb::DescriptionLevel level, CompileUnit *cu, Target *target, bool show_address_only) const
uint16_t is_start_of_basic_block
Indicates this entry is the beginning of a basic block.
bool DumpStopContext(Stream *s, bool show_fullpaths) const
Dumps information specific to a process that stops at this line entry to the supplied stream s.
const FileSpec & GetFile() const
Helper to access the file.
uint16_t is_prologue_end
Indicates this entry is one (of possibly many) where execution should be suspended for an entry break...
lldb::SupportFileSP file_sp
The source file, possibly mapped by the target.source-map setting.
uint16_t is_terminal_entry
Indicates this entry is that of the first byte after the end of a sequence of target machine instruct...
void ApplyFileMappings(lldb::TargetSP target_sp)
Apply file mappings from target.source-map to the LineEntry's file.
uint16_t is_start_of_statement
Indicates this entry is the beginning of a statement.