================ @@ -153,19 +127,89 @@ void TypeQuery::SetLanguages(LanguageSet languages) { bool TypeQuery::ContextMatches( llvm::ArrayRef<CompilerContext> context_chain) const { - if (GetExactMatch() || context_chain.size() == m_context.size()) - return ::contextMatches(context_chain, m_context); - - // We don't have an exact match, we need to bottom m_context.size() items to - // match for a successful lookup. - if (context_chain.size() < m_context.size()) - return false; // Not enough items in context_chain to allow for a match. - - size_t compare_count = context_chain.size() - m_context.size(); - return ::contextMatches( - llvm::ArrayRef<CompilerContext>(context_chain.data() + compare_count, - m_context.size()), - m_context); + auto ctx = context_chain.rbegin(), ctx_end = context_chain.rend(); + for (auto pat = m_context.rbegin(), pat_end = m_context.rend(); + pat != pat_end;) { + + // Handle AnyModule matches. These are tricky as they can match any number ---------------- labath wrote:
I'll try to create simplified version of the patch (probably tomorrow). I'd appreciate if you could give it a spin. https://github.com/llvm/llvm-project/pull/99305 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits