================ @@ -4024,32 +4026,50 @@ QualType ASTContext::getRValueReferenceType(QualType T) const { return QualType(New, 0); } -/// getMemberPointerType - Return the uniqued reference to the type for a -/// member pointer to the specified type, in the specified class. -QualType ASTContext::getMemberPointerType(QualType T, const Type *Cls) const { +QualType ASTContext::getMemberPointerType(QualType T, + NestedNameSpecifier *Qualifier, + const CXXRecordDecl *Cls) const { + if (!Qualifier) { + assert(Cls && "At least one of Qualifier or Cls must be provided"); + Qualifier = NestedNameSpecifier::Create(*this, /*Prefix=*/nullptr, + /*Template=*/false, + getTypeDeclType(Cls).getTypePtr()); + } else if (!Cls) { + Cls = Qualifier->getAsRecordDecl(); ---------------- erichkeane wrote:
By this point I'm even more in hate with the use of `qualifier`. I'm mentally thinking `Const-volatile/etc` every single time... https://github.com/llvm/llvm-project/pull/130537 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits