[Lldb-commits] [lldb] Improve namespace lookup using .debug_names parent chain (PR #110062)

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Thu Oct 10 02:09:12 PDT 2024


================
@@ -565,6 +565,48 @@ void DebugNamesDWARFIndex::GetTypesWithQuery(
   m_fallback.GetTypesWithQuery(query, callback);
 }
 
+void DebugNamesDWARFIndex::GetNamespacesWithParents(
+    ConstString name, const CompilerDeclContext &parent_decl_ctx,
+    llvm::function_ref<bool(DWARFDIE die)> callback) {
+  std::vector<lldb_private::CompilerContext> parent_contexts =
+      parent_decl_ctx.GetCompilerContext();
+  if (parent_contexts.empty())
+    return GetNamespaces(name, callback);
----------------
labath wrote:

Is that right? AIUI, `GetNamespaces` will return *all* namespaces with the given name, regardless of their nesting level, but `parent_contexts.empty()` basically means "I'm looking for a top-level namespace".

https://github.com/llvm/llvm-project/pull/110062


More information about the lldb-commits mailing list