summaryrefslogtreecommitdiffstats
path: root/lldb/source/Symbol
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2011-10-13 01:49:10 +0000
committerSean Callanan <scallanan@apple.com>2011-10-13 01:49:10 +0000
commit213fdb8bf64da2d8845fc65c97b0eddf53765123 (patch)
tree9c53a72b1a788c3771f535f66d8c21e2e16e31ac /lldb/source/Symbol
parent7596f9373a10ead8bd824e7cbb96026e264602b7 (diff)
downloadbcm5719-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.cpp2
-rw-r--r--lldb/source/Symbol/SymbolVendor.cpp16
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;
}
OpenPOWER on IntegriCloud