diff options
| author | Sean Callanan <scallanan@apple.com> | 2011-10-13 01:49:10 +0000 |
|---|---|---|
| committer | Sean Callanan <scallanan@apple.com> | 2011-10-13 01:49:10 +0000 |
| commit | 213fdb8bf64da2d8845fc65c97b0eddf53765123 (patch) | |
| tree | 9c53a72b1a788c3771f535f66d8c21e2e16e31ac /lldb/source/Symbol | |
| parent | 7596f9373a10ead8bd824e7cbb96026e264602b7 (diff) | |
| download | bcm5719-llvm-213fdb8bf64da2d8845fc65c97b0eddf53765123.tar.gz bcm5719-llvm-213fdb8bf64da2d8845fc65c97b0eddf53765123.zip | |
Completed the glue that passes a ClangNamespaceDecl *
down through Module and SymbolVendor into SymbolFile.
Added checks to SymbolFileDWARF that restrict symbol
searches when a namespace is passed in.
llvm-svn: 141847
Diffstat (limited to 'lldb/source/Symbol')
| -rw-r--r-- | lldb/source/Symbol/SymbolContext.cpp | 2 | ||||
| -rw-r--r-- | lldb/source/Symbol/SymbolVendor.cpp | 16 |
2 files changed, 9 insertions, 9 deletions
diff --git a/lldb/source/Symbol/SymbolContext.cpp b/lldb/source/Symbol/SymbolContext.cpp index 261b1482c86..f571d44d415 100644 --- a/lldb/source/Symbol/SymbolContext.cpp +++ b/lldb/source/Symbol/SymbolContext.cpp @@ -457,7 +457,7 @@ SymbolContext::FindNamespace (const ConstString &name) const { ClangNamespaceDecl namespace_decl; if (module_sp) - namespace_decl = module_sp->GetSymbolVendor()->FindNamespace (*this, name); + namespace_decl = module_sp->GetSymbolVendor()->FindNamespace (*this, name, NULL); return namespace_decl; } diff --git a/lldb/source/Symbol/SymbolVendor.cpp b/lldb/source/Symbol/SymbolVendor.cpp index 4c236400d62..7711923222a 100644 --- a/lldb/source/Symbol/SymbolVendor.cpp +++ b/lldb/source/Symbol/SymbolVendor.cpp @@ -216,11 +216,11 @@ SymbolVendor::ResolveSymbolContext (const FileSpec& file_spec, uint32_t line, bo } uint32_t -SymbolVendor::FindGlobalVariables (const ConstString &name, bool append, uint32_t max_matches, VariableList& variables) +SymbolVendor::FindGlobalVariables (const ConstString &name, const ClangNamespaceDecl *namespace_decl, bool append, uint32_t max_matches, VariableList& variables) { Mutex::Locker locker(m_mutex); if (m_sym_file_ap.get()) - return m_sym_file_ap->FindGlobalVariables(name, append, max_matches, variables); + return m_sym_file_ap->FindGlobalVariables(name, namespace_decl, append, max_matches, variables); return 0; } @@ -234,11 +234,11 @@ SymbolVendor::FindGlobalVariables (const RegularExpression& regex, bool append, } uint32_t -SymbolVendor::FindFunctions(const ConstString &name, uint32_t name_type_mask, bool append, SymbolContextList& sc_list) +SymbolVendor::FindFunctions(const ConstString &name, const ClangNamespaceDecl *namespace_decl, uint32_t name_type_mask, bool append, SymbolContextList& sc_list) { Mutex::Locker locker(m_mutex); if (m_sym_file_ap.get()) - return m_sym_file_ap->FindFunctions(name, name_type_mask, append, sc_list); + return m_sym_file_ap->FindFunctions(name, namespace_decl, name_type_mask, append, sc_list); return 0; } @@ -253,23 +253,23 @@ SymbolVendor::FindFunctions(const RegularExpression& regex, bool append, SymbolC uint32_t -SymbolVendor::FindTypes (const SymbolContext& sc, const ConstString &name, bool append, uint32_t max_matches, TypeList& types) +SymbolVendor::FindTypes (const SymbolContext& sc, const ConstString &name, const ClangNamespaceDecl *namespace_decl, bool append, uint32_t max_matches, TypeList& types) { Mutex::Locker locker(m_mutex); if (m_sym_file_ap.get()) - return m_sym_file_ap->FindTypes(sc, name, append, max_matches, types); + return m_sym_file_ap->FindTypes(sc, name, namespace_decl, append, max_matches, types); if (!append) types.Clear(); return 0; } ClangNamespaceDecl -SymbolVendor::FindNamespace(const SymbolContext& sc, const ConstString &name) +SymbolVendor::FindNamespace(const SymbolContext& sc, const ConstString &name, const ClangNamespaceDecl *parent_namespace_decl) { Mutex::Locker locker(m_mutex); ClangNamespaceDecl namespace_decl; if (m_sym_file_ap.get()) - namespace_decl = m_sym_file_ap->FindNamespace (sc, name); + namespace_decl = m_sym_file_ap->FindNamespace (sc, name, parent_namespace_decl); return namespace_decl; } |

