Go to the documentation of this file.
28 : m_opaque_ptr(lldb_object_ptr) {}
31 : m_opaque_ptr(rhs.m_opaque_ptr) {
46 return this->
operator bool();
48 SBFunction::operator bool()
const {
51 return m_opaque_ptr !=
nullptr;
57 const char *cstr =
nullptr;
67 const char *cstr =
nullptr;
77 const char *cstr =
nullptr;
99 s.
Printf(
"SBFunction: id = 0x%8.8" PRIx64
", name = %s",
117 const char *flavor) {
122 TargetSP target_sp(target.
GetSP());
123 std::unique_lock<std::recursive_mutex> lock;
126 if (target_sp && module_sp) {
127 lock = std::unique_lock<std::recursive_mutex>(target_sp->GetAPIMutex());
128 const bool force_live_memory =
true;
130 module_sp->GetArchitecture(),
nullptr, flavor, *target_sp,
134 return sb_instructions;
160 addr->
Slide(byte_size);
172 if (variable_list_sp) {
178 return variable_sp->GetName().GetCString();
199 sb_type.
ref().
SetType(function_type->shared_from_this());
Address & GetBaseAddress()
Get accessor for the base address of the range.
lldb::VariableListSP GetBlockVariableList(bool can_create)
Get the variable list for this block only.
void Printf(const char *format,...) __attribute__((format(printf
const AddressRange & GetAddressRange()
lldb::SBAddress GetEndAddress()
const char * GetMangledName() const
size_t AppendVariablesWithScope(lldb::ValueType type, VariableList &var_list, bool if_unique=true)
const char * GetName() const
lldb_private::Function * m_opaque_ptr
lldb::addr_t GetByteSize() const
Get accessor for the byte size of this range.
LanguageType
Programming language type.
const char * AsCString(const char *value_if_empty=nullptr) const
Get the string value as a C string.
void SetPtr(lldb_private::Block *lldb_object_ptr)
void SetAddress(lldb::SBSection section, lldb::addr_t offset)
uint32_t GetPrologueByteSize()
lldb::VariableSP GetVariableAtIndex(size_t idx) const
CompileUnit * GetCompileUnit()
Get accessor for the compile unit that owns this function.
ConstString GetName() const
Block & GetBlock(bool can_create)
Get accessor for the block list.
lldb::SBAddress GetStartAddress()
void reset(lldb_private::Function *lldb_object_ptr)
bool GetIsOptimized()
Get whether compiler optimizations were enabled for this compile unit.
@ eValueTypeVariableArgument
function argument variables
const char * GetArgumentName(uint32_t arg_idx)
lldb::LanguageType GetLanguage()
bool GetDescription(lldb::SBStream &description)
lldb::user_id_t GetID() const
Get accessor for the user ID.
lldb_private::TypeImpl & ref()
lldb::LanguageType GetLanguage()
@ eLanguageTypeUnknown
Unknown or invalid language value.
lldb::SBInstructionList GetInstructions(lldb::SBTarget target)
void SetType(const lldb::TypeSP &type_sp)
uint32_t GetPrologueByteSize()
Get the size of the prologue instructions for this function.
void SetDisassembler(const lldb::DisassemblerSP &opaque_sp)
bool operator!=(const lldb::SBFunction &rhs) const
const lldb::SBFunction & operator=(const lldb::SBFunction &rhs)
Type * GetType()
Get accessor for the type that describes the function return value type, and parameter types.
const Mangled & GetMangled() const
bool operator==(const lldb::SBFunction &rhs) const
lldb_private::Function * get()
A class that represents a running process on the host machine.
lldb::TargetSP GetSP() const
#define LLDB_INSTRUMENT_VA(...)
lldb::ModuleSP GetModule() const
Get accessor for the module for this address.
const char * GetDisplayName() const
bool Slide(int64_t offset)