diff options
author | Sean Callanan <scallanan@apple.com> | 2010-07-27 00:55:47 +0000 |
---|---|---|
committer | Sean Callanan <scallanan@apple.com> | 2010-07-27 00:55:47 +0000 |
commit | 8ade104a0a10442b83347e21da001f0a26a73785 (patch) | |
tree | 0894b3f7eee5ad6b9d3b0e0b28e90b39f5a092c4 /lldb/source/Core/ModuleList.cpp | |
parent | ce3a8293a0473078fa29178a00f2dc7945438572 (diff) | |
download | bcm5719-llvm-8ade104a0a10442b83347e21da001f0a26a73785.tar.gz bcm5719-llvm-8ade104a0a10442b83347e21da001f0a26a73785.zip |
Changed SymbolContext so when you search for functions
it returns a list of functions as a SymbolContextList.
Rewrote the clients of SymbolContext to use this
SymbolContextList.
Rewrote some of the providers of the data to SymbolContext
to make them respect preferences as to whether the list
should be cleared first; propagated that change out.
ClangExpressionDeclMap and ClangASTSource use this new
function list to properly generate function definitions -
even for functions that don't have a prototype in the
debug information.
llvm-svn: 109476
Diffstat (limited to 'lldb/source/Core/ModuleList.cpp')
-rw-r--r-- | lldb/source/Core/ModuleList.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lldb/source/Core/ModuleList.cpp b/lldb/source/Core/ModuleList.cpp index ae9bb880a20..1c974c87120 100644 --- a/lldb/source/Core/ModuleList.cpp +++ b/lldb/source/Core/ModuleList.cpp @@ -126,15 +126,18 @@ ModuleList::GetModuleAtIndex(uint32_t idx) } size_t -ModuleList::FindFunctions (const ConstString &name, uint32_t name_type_mask, SymbolContextList &sc_list) +ModuleList::FindFunctions (const ConstString &name, uint32_t name_type_mask, bool append, SymbolContextList &sc_list) { - sc_list.Clear(); + if (!append) + sc_list.Clear(); + Mutex::Locker locker(m_modules_mutex); collection::const_iterator pos, end = m_modules.end(); for (pos = m_modules.begin(); pos != end; ++pos) { (*pos)->FindFunctions (name, name_type_mask, true, sc_list); } + return sc_list.GetSize(); } |