================ @@ -150,6 +246,11 @@ std::vector<const NamedDecl *> HeuristicResolver::resolveMemberExpr( if (ME->isArrow()) { BaseType = getPointeeType(BaseType); } + + if (BaseType->isDependentType()) ---------------- zyn0217 wrote:
I don't know if I should assume the non-nullity for `BaseType`: All of the construction points appear to create expressions with valid base types. Except for ASTImporter and ASTReader, where an empty expression may be created. But would we somehow end up resolving expressions created from these two places? I suppose we might encounter these inside a preamble, but I don't think this is where the heuristic resolver would work. Anyway, I moved this statement after the non-null check. Thanks for spotting it! https://github.com/llvm/llvm-project/pull/71279 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits