aboutsummaryrefslogtreecommitdiff
path: root/include/lldb/API/SBAddress.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/lldb/API/SBAddress.h')
-rw-r--r--include/lldb/API/SBAddress.h162
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_