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;
 }