apolyakov created this revision.
apolyakov added reviewers: aprantl, clayborg.
The new API allows to find a list of compile units related to target/module.
https://reviews.llvm.org/D48801
Files:
include/lldb/API/SBModule.h
include/lldb/API/SBTarget.h
scripts/interface/SBModule.i
scripts/interface/SBTarget.i
source/API/SBModule.cpp
source/API/SBTarget.cpp
Index: source/API/SBTarget.cpp
===================================================================
--- source/API/SBTarget.cpp
+++ source/API/SBTarget.cpp
@@ -1548,6 +1548,18 @@
return sb_module;
}
+SBSymbolContextList
+SBTarget::FindCompileUnits(const SBFileSpec &sb_file_spec) {
+ SBSymbolContextList sb_sc_list;
+ const TargetSP target_sp(GetSP());
+ if (target_sp && sb_file_spec.IsValid()) {
+ const bool append = true;
+ target_sp->GetImages().FindCompileUnits(*sb_file_spec,
+ append, *sb_sc_list);
+ }
+ return sb_sc_list;
+}
+
lldb::ByteOrder SBTarget::GetByteOrder() {
TargetSP target_sp(GetSP());
if (target_sp)
Index: source/API/SBModule.cpp
===================================================================
--- source/API/SBModule.cpp
+++ source/API/SBModule.cpp
@@ -253,6 +253,17 @@
return sb_cu;
}
+SBSymbolContextList
+SBModule::FindCompileUnits(const SBFileSpec &sb_file_spec) {
+ SBSymbolContextList sb_sc_list;
+ const ModuleSP module_sp(GetSP());
+ if (sb_file_spec.IsValid() && module_sp) {
+ const bool append = true;
+ module_sp->FindCompileUnits(*sb_file_spec, append, *sb_sc_list);
+ }
+ return sb_sc_list;
+}
+
static Symtab *GetUnifiedSymbolTable(const lldb::ModuleSP &module_sp) {
if (module_sp) {
SymbolVendor *symbols = module_sp->GetSymbolVendor();
Index: scripts/interface/SBTarget.i
===================================================================
--- scripts/interface/SBTarget.i
+++ scripts/interface/SBTarget.i
@@ -410,6 +410,9 @@
lldb::SBModule
FindModule (const lldb::SBFileSpec &file_spec);
+ lldb::SBSymbolContextList
+ FindCompileUnits (const lldb::SBFileSpec &sb_file_spec);
+
lldb::ByteOrder
GetByteOrder ();
Index: scripts/interface/SBModule.i
===================================================================
--- scripts/interface/SBModule.i
+++ scripts/interface/SBModule.i
@@ -179,6 +179,9 @@
lldb::SBCompileUnit
GetCompileUnitAtIndex (uint32_t);
+ lldb::SBSymbolContextList
+ FindCompileUnits (const lldb::SBFileSpec &sb_file_spec);
+
size_t
GetNumSymbols ();
Index: include/lldb/API/SBTarget.h
===================================================================
--- include/lldb/API/SBTarget.h
+++ include/lldb/API/SBTarget.h
@@ -295,6 +295,9 @@
lldb::SBModule FindModule(const lldb::SBFileSpec &file_spec);
+ lldb::SBSymbolContextList
+ FindCompileUnits(const lldb::SBFileSpec &sb_file_spec);
+
lldb::ByteOrder GetByteOrder();
uint32_t GetAddressByteSize();
Index: include/lldb/API/SBModule.h
===================================================================
--- include/lldb/API/SBModule.h
+++ include/lldb/API/SBModule.h
@@ -129,6 +129,9 @@
lldb::SBCompileUnit GetCompileUnitAtIndex(uint32_t);
+ lldb::SBSymbolContextList
+ FindCompileUnits(const lldb::SBFileSpec &sb_file_spec);
+
size_t GetNumSymbols();
lldb::SBSymbol GetSymbolAtIndex(size_t idx);
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits