Added some missing API for address resolving within a module, and looking
up a seciton offset address (SBAddress) within a module that returns a
symbol context (SBSymbolContext). Also added a SBSymbolContextList in
preparation for adding find/lookup APIs that can return multiple results.
Added a lookup example code that shows how to do address lookups.
git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113599 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/API/SBAddress.cpp b/source/API/SBAddress.cpp
index c93b46b..8b8294c 100644
--- a/source/API/SBAddress.cpp
+++ b/source/API/SBAddress.cpp
@@ -55,6 +55,12 @@
}
void
+SBAddress::Clear ()
+{
+ m_opaque_ap.reset();
+}
+
+void
SBAddress::SetAddress (const lldb_private::Address *lldb_object_ptr)
{
if (lldb_object_ptr)
@@ -102,6 +108,11 @@
return false;
}
+lldb_private::Address *
+SBAddress::operator->()
+{
+ return m_opaque_ap.get();
+}
const lldb_private::Address *
SBAddress::operator->() const
@@ -109,9 +120,18 @@
return m_opaque_ap.get();
}
+lldb_private::Address &
+SBAddress::operator*()
+{
+ if (m_opaque_ap.get() == NULL)
+ m_opaque_ap.reset (new lldb_private::Address);
+ return *m_opaque_ap;
+}
+
const lldb_private::Address &
SBAddress::operator*() const
{
+ assert (m_opaque_ap.get());
return *m_opaque_ap;
}