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/SBModule.cpp b/source/API/SBModule.cpp
index 011197a..e338101 100644
--- a/source/API/SBModule.cpp
+++ b/source/API/SBModule.cpp
@@ -8,6 +8,8 @@
//===----------------------------------------------------------------------===//
#include "lldb/API/SBModule.h"
+#include "lldb/API/SBAddress.h"
+#include "lldb/API/SBFileSpec.h"
#include "lldb/API/SBFileSpec.h"
#include "lldb/Core/Module.h"
@@ -105,3 +107,23 @@
m_opaque_sp = module_sp;
}
+
+bool
+SBModule::ResolveFileAddress (lldb::addr_t vm_addr, SBAddress& addr)
+{
+ if (m_opaque_sp)
+ return m_opaque_sp->ResolveFileAddress (vm_addr, *addr);
+
+ addr->Clear();
+ return false;
+}
+
+SBSymbolContext
+SBModule::ResolveSymbolContextForAddress (const SBAddress& addr, uint32_t resolve_scope)
+{
+ SBSymbolContext sb_sc;
+ if (m_opaque_sp && addr.IsValid())
+ m_opaque_sp->ResolveSymbolContextForAddress (*addr, resolve_scope, *sb_sc);
+ return sb_sc;
+}
+