32 : m_opaque_ptr(lldb_object_ptr) {}
49 return this->
operator bool();
51SBBlock::operator bool()
const {
54 return m_opaque_ptr !=
nullptr;
118 bool show_inline =
true;
120 [](
Variable *) {
return true; }, var_list);
171 strm.
Printf(
"Block: {id: %" PRIu64
"} ",
id);
243 bool locals,
bool statics,
253 if (variable_list_sp) {
254 const size_t num_variables = variable_list_sp->GetSize();
256 for (
size_t i = 0; i < num_variables; ++i) {
257 VariableSP variable_sp(variable_list_sp->GetVariableAtIndex(i));
259 bool add_variable =
false;
260 switch (variable_sp->GetScope()) {
264 add_variable = statics;
268 add_variable = arguments;
272 add_variable = locals;
281 frame_sp->GetValueObjectForFrameVariable(variable_sp,
284 value_sb.
SetSP(valobj_sp, use_dynamic);
285 value_list.
Append(value_sb);
297 bool locals,
bool statics) {
308 if (variable_list_sp) {
309 const size_t num_variables = variable_list_sp->GetSize();
311 for (
size_t i = 0; i < num_variables; ++i) {
312 VariableSP variable_sp(variable_list_sp->GetVariableAtIndex(i));
314 bool add_variable =
false;
315 switch (variable_sp->GetScope()) {
319 add_variable = statics;
323 add_variable = arguments;
327 add_variable = locals;
#define LLDB_INSTRUMENT_VA(...)
std::unique_ptr< lldb_private::AddressRangeListImpl > m_opaque_up
lldb_private::Address & ref()
void AppendVariables(bool can_create, bool get_parent_variables, lldb_private::VariableList *var_list)
lldb::SBAddress GetRangeEndAddress(uint32_t idx)
lldb::SBAddressRangeList GetRanges()
const char * GetInlinedName() const
uint32_t GetInlinedCallSiteLine() const
lldb::SBAddress GetRangeStartAddress(uint32_t idx)
const lldb::SBBlock & operator=(const lldb::SBBlock &rhs)
lldb::SBBlock GetContainingInlinedBlock()
Get the inlined block that contains this block.
uint32_t GetRangeIndexForBlockAddress(lldb::SBAddress block_addr)
lldb::SBValueList GetVariables(lldb::SBFrame &frame, bool arguments, bool locals, bool statics, lldb::DynamicValueType use_dynamic)
void SetPtr(lldb_private::Block *lldb_object_ptr)
lldb::SBBlock GetParent()
lldb::SBBlock GetFirstChild()
uint32_t GetInlinedCallSiteColumn() const
lldb::SBBlock GetSibling()
lldb::SBFileSpec GetInlinedCallSiteFile() const
lldb_private::Block * m_opaque_ptr
lldb_private::Block * GetPtr()
bool GetDescription(lldb::SBStream &description)
void SetFileSpec(const lldb_private::FileSpec &fspec)
lldb::StackFrameSP GetFrameSP() const
lldb_private::Stream & ref()
lldb::TargetSP GetSP() const
void Append(const lldb::SBValue &val_obj)
void SetSP(const lldb::ValueObjectSP &sp)
A section + offset based address range class.
Address & GetBaseAddress()
Get accessor for the base address of the range.
lldb::addr_t GetByteSize() const
Get accessor for the byte size of this range.
bool Slide(int64_t offset)
lldb::addr_t GetFileAddress() const
Get the file address.
A class that describes a single lexical block.
Block * GetFirstChild() const
Get the first child block.
lldb::VariableListSP GetBlockVariableList(bool can_create)
Get the variable list for this block only.
void CalculateSymbolContext(SymbolContext *sc) override
Reconstruct the object's symbol context into sc.
Block * GetContainingInlinedBlock()
Get the inlined block that contains this block.
bool GetRangeAtIndex(uint32_t range_idx, AddressRange &range)
const InlineFunctionInfo * GetInlinedFunctionInfo() const
Get const accessor for any inlined function information.
AddressRanges GetRanges()
Block * GetSibling() const
Get the sibling block for this block.
Block * GetParent() const
Get the parent block.
uint32_t AppendVariables(bool can_create, bool get_parent_variables, bool stop_if_block_is_inlined_function, const std::function< bool(Variable *)> &filter, VariableList *variable_list)
Appends the variables from this block, and optionally from all parent blocks, to variable_list.
size_t GetNumRanges() const
void DumpAddressRanges(Stream *s, lldb::addr_t base_addr)
uint32_t GetRangeIndexContainingAddress(const Address &addr)
const char * AsCString(const char *value_if_empty=nullptr) const
Get the string value as a C string.
uint32_t GetLine() const
Get accessor for the declaration line number.
uint16_t GetColumn() const
Get accessor for the declaration column number.
FileSpec & GetFile()
Get accessor for file specification.
const AddressRange & GetAddressRange()
A class that describes information for an inlined function.
Declaration & GetCallSite()
Get accessor for the call site declaration information.
ConstString GetName() const
A stream class that can stream formatted output to a file.
size_t Printf(const char *format,...) __attribute__((format(printf
Output printf formatted output to the stream.
size_t PutCString(llvm::StringRef cstr)
Output a C string to the stream.
Defines a symbol context baton that can be handed other debug core functions.
Function * function
The Function for a given query.
static lldb::ValueObjectSP Create(ExecutionContextScope *exe_scope, const lldb::VariableSP &var_sp)
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::StackFrame > StackFrameSP
std::shared_ptr< lldb_private::ValueObject > ValueObjectSP
std::shared_ptr< lldb_private::VariableList > VariableListSP
std::shared_ptr< lldb_private::Variable > VariableSP
std::shared_ptr< lldb_private::Target > TargetSP
@ eValueTypeVariableGlobal
globals variable
@ eValueTypeVariableLocal
function local variables
@ eValueTypeVariableArgument
function argument variables
@ eValueTypeVariableStatic
static variable
@ eValueTypeVariableThreadLocal
thread local storage variable
lldb::user_id_t GetID() const
Get accessor for the user ID.