diff options
Diffstat (limited to 'include/lldb/API/SBAddress.h')
-rw-r--r-- | include/lldb/API/SBAddress.h | 162 |
1 files changed, 66 insertions, 96 deletions
diff --git a/include/lldb/API/SBAddress.h b/include/lldb/API/SBAddress.h index 4cbbee9fd132..ddbe5a742786 100644 --- a/include/lldb/API/SBAddress.h +++ b/include/lldb/API/SBAddress.h @@ -15,138 +15,108 @@ namespace lldb { -class LLDB_API SBAddress -{ +class LLDB_API SBAddress { public: + SBAddress(); - SBAddress (); + SBAddress(const lldb::SBAddress &rhs); - SBAddress (const lldb::SBAddress &rhs); + SBAddress(lldb::SBSection section, lldb::addr_t offset); - SBAddress (lldb::SBSection section, lldb::addr_t offset); + // Create an address by resolving a load address using the supplied target + SBAddress(lldb::addr_t load_addr, lldb::SBTarget &target); - // Create an address by resolving a load address using the supplied target - SBAddress (lldb::addr_t load_addr, lldb::SBTarget &target); + ~SBAddress(); - ~SBAddress (); + const lldb::SBAddress &operator=(const lldb::SBAddress &rhs); - const lldb::SBAddress & - operator = (const lldb::SBAddress &rhs); + bool IsValid() const; - bool - IsValid () const; + void Clear(); - void - Clear (); + addr_t GetFileAddress() const; - addr_t - GetFileAddress () const; + addr_t GetLoadAddress(const lldb::SBTarget &target) const; - addr_t - GetLoadAddress (const lldb::SBTarget &target) const; + void SetAddress(lldb::SBSection section, lldb::addr_t offset); - void - SetAddress (lldb::SBSection section, lldb::addr_t offset); + void SetLoadAddress(lldb::addr_t load_addr, lldb::SBTarget &target); + bool OffsetAddress(addr_t offset); - void - SetLoadAddress (lldb::addr_t load_addr, - lldb::SBTarget &target); - bool - OffsetAddress (addr_t offset); + bool GetDescription(lldb::SBStream &description); - bool - GetDescription (lldb::SBStream &description); + // The following queries can lookup symbol information for a given address. + // An address might refer to code or data from an existing module, or it + // might refer to something on the stack or heap. The following functions + // will only return valid values if the address has been resolved to a code + // or data address using "void SBAddress::SetLoadAddress(...)" or + // "lldb::SBAddress SBTarget::ResolveLoadAddress (...)". + lldb::SBSymbolContext GetSymbolContext(uint32_t resolve_scope); - // The following queries can lookup symbol information for a given address. - // An address might refer to code or data from an existing module, or it - // might refer to something on the stack or heap. The following functions - // will only return valid values if the address has been resolved to a code - // or data address using "void SBAddress::SetLoadAddress(...)" or - // "lldb::SBAddress SBTarget::ResolveLoadAddress (...)". - lldb::SBSymbolContext - GetSymbolContext (uint32_t resolve_scope); + // The following functions grab individual objects for a given address and + // are less efficient if you want more than one symbol related objects. + // Use one of the following when you want multiple debug symbol related + // objects for an address: + // lldb::SBSymbolContext SBAddress::GetSymbolContext (uint32_t + // resolve_scope); + // lldb::SBSymbolContext SBTarget::ResolveSymbolContextForAddress (const + // SBAddress &addr, uint32_t resolve_scope); + // One or more bits from the SymbolContextItem enumerations can be logically + // OR'ed together to more efficiently retrieve multiple symbol objects. - - // The following functions grab individual objects for a given address and - // are less efficient if you want more than one symbol related objects. - // Use one of the following when you want multiple debug symbol related - // objects for an address: - // lldb::SBSymbolContext SBAddress::GetSymbolContext (uint32_t resolve_scope); - // lldb::SBSymbolContext SBTarget::ResolveSymbolContextForAddress (const SBAddress &addr, uint32_t resolve_scope); - // One or more bits from the SymbolContextItem enumerations can be logically - // OR'ed together to more efficiently retrieve multiple symbol objects. + lldb::SBSection GetSection(); - lldb::SBSection - GetSection (); + lldb::addr_t GetOffset(); - lldb::addr_t - GetOffset (); + lldb::SBModule GetModule(); - lldb::SBModule - GetModule (); - - lldb::SBCompileUnit - GetCompileUnit (); + lldb::SBCompileUnit GetCompileUnit(); - lldb::SBFunction - GetFunction (); + lldb::SBFunction GetFunction(); - lldb::SBBlock - GetBlock (); + lldb::SBBlock GetBlock(); - lldb::SBSymbol - GetSymbol (); + lldb::SBSymbol GetSymbol(); - lldb::SBLineEntry - GetLineEntry (); - - lldb::AddressClass - GetAddressClass (); + lldb::SBLineEntry GetLineEntry(); -protected: + lldb::AddressClass GetAddressClass(); - friend class SBBlock; - friend class SBBreakpointLocation; - friend class SBFrame; - friend class SBFunction; - friend class SBLineEntry; - friend class SBInstruction; - friend class SBModule; - friend class SBSection; - friend class SBSymbol; - friend class SBSymbolContext; - friend class SBTarget; - friend class SBThread; - friend class SBThreadPlan; - friend class SBValue; - friend class SBQueueItem; +protected: + friend class SBBlock; + friend class SBBreakpointLocation; + friend class SBFrame; + friend class SBFunction; + friend class SBLineEntry; + friend class SBInstruction; + friend class SBModule; + friend class SBSection; + friend class SBSymbol; + friend class SBSymbolContext; + friend class SBTarget; + friend class SBThread; + friend class SBThreadPlan; + friend class SBValue; + friend class SBQueueItem; - lldb_private::Address * - operator->(); + lldb_private::Address *operator->(); - const lldb_private::Address * - operator->() const; + const lldb_private::Address *operator->() const; - lldb_private::Address * - get (); + lldb_private::Address *get(); - lldb_private::Address & - ref(); + lldb_private::Address &ref(); - const lldb_private::Address & - ref() const; + const lldb_private::Address &ref() const; - SBAddress (const lldb_private::Address *lldb_object_ptr); + SBAddress(const lldb_private::Address *lldb_object_ptr); - void - SetAddress (const lldb_private::Address *lldb_object_ptr); + void SetAddress(const lldb_private::Address *lldb_object_ptr); private: - - std::unique_ptr<lldb_private::Address> m_opaque_ap; + std::unique_ptr<lldb_private::Address> m_opaque_ap; }; - } // namespace lldb #endif // LLDB_SBAddress_h_ |