29 : m_opaque_ptr(lldb_object_ptr) {}
32 : m_opaque_ptr(rhs.m_opaque_ptr) {
47 return this->
operator bool();
49SBFunction::operator bool()
const {
52 return m_opaque_ptr !=
nullptr;
97 s.Printf(
"SBFunction: id = 0x%8.8" PRIx64
", name = %s",
104 s.Printf(
"No value");
115 const char *flavor) {
121 std::unique_lock<std::recursive_mutex> lock;
124 if (target_sp && module_sp) {
125 lock = std::unique_lock<std::recursive_mutex>(target_sp->GetAPIMutex());
126 const bool force_live_memory =
true;
128 module_sp->GetArchitecture(),
nullptr, flavor, *target_sp,
132 return sb_instructions;
158 addr->
Slide(byte_size);
171 ranges.
Append(std::move(range));
185 if (!variable_list_sp)
195 return variable_sp->GetName().GetCString();
213 sb_type.
ref().
SetType(function_type->shared_from_this());
#define LLDB_INSTRUMENT_VA(...)
void Append(const lldb::SBAddressRange &addr_range)
AddressRangeUP m_opaque_up
void SetAddress(lldb::SBSection section, lldb::addr_t offset)
void SetPtr(lldb_private::Block *lldb_object_ptr)
uint32_t GetPrologueByteSize()
const char * GetArgumentName(uint32_t arg_idx)
const char * GetMangledName() const
lldb::SBAddress GetEndAddress()
lldb_private::Function * m_opaque_ptr
bool GetDescription(lldb::SBStream &description)
lldb::SBAddress GetStartAddress()
const lldb::SBFunction & operator=(const lldb::SBFunction &rhs)
const char * GetDisplayName() const
lldb_private::Function * get()
lldb::SBInstructionList GetInstructions(lldb::SBTarget target)
bool operator!=(const lldb::SBFunction &rhs) const
void reset(lldb_private::Function *lldb_object_ptr)
bool operator==(const lldb::SBFunction &rhs) const
const char * GetName() const
lldb::SBAddressRangeList GetRanges()
lldb::LanguageType GetLanguage()
void SetDisassembler(const lldb::DisassemblerSP &opaque_sp)
lldb::TargetSP GetSP() const
lldb_private::TypeImpl & ref()
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::ModuleSP GetModule() const
Get accessor for the module for this address.
A class that describes a single lexical block.
lldb::VariableListSP GetBlockVariableList(bool can_create)
Get the variable list for this block only.
bool GetIsOptimized()
Get whether compiler optimizations were enabled for this compile unit.
lldb::LanguageType GetLanguage()
const char * AsCString(const char *value_if_empty=nullptr) const
Get the string value as a C string.
static lldb::DisassemblerSP DisassembleRange(const ArchSpec &arch, const char *plugin_name, const char *flavor, Target &target, const AddressRange &disasm_range, bool force_live_memory=false)
A class that describes a function.
const AddressRange & GetAddressRange()
ConstString GetName() const
const Mangled & GetMangled() const
Type * GetType()
Get accessor for the type that describes the function return value type, and parameter types.
uint32_t GetPrologueByteSize()
Get the size of the prologue instructions for this function.
CompileUnit * GetCompileUnit()
Get accessor for the compile unit that owns this function.
Block & GetBlock(bool can_create)
Get accessor for the block list.
ConstString & GetMangledName()
Mangled name get accessor.
ConstString GetDisplayDemangledName() const
Display demangled name get accessor.
void SetType(const lldb::TypeSP &type_sp)
lldb::VariableSP GetVariableAtIndex(size_t idx) const
size_t AppendVariablesWithScope(lldb::ValueType type, VariableList &var_list, bool if_unique=true)
A class that represents a running process on the host machine.
LanguageType
Programming language type.
@ eLanguageTypeUnknown
Unknown or invalid language value.
std::shared_ptr< lldb_private::VariableList > VariableListSP
std::shared_ptr< lldb_private::Variable > VariableSP
std::shared_ptr< lldb_private::Target > TargetSP
std::shared_ptr< lldb_private::Module > ModuleSP
@ eValueTypeVariableArgument
function argument variables
lldb::user_id_t GetID() const
Get accessor for the user ID.