Author: Kazu Hirata Date: 2024-12-09T09:47:38-08:00 New Revision: 83cb3dbc0c7c1c6950d52412e3346e3b382d79d6
URL: https://github.com/llvm/llvm-project/commit/83cb3dbc0c7c1c6950d52412e3346e3b382d79d6 DIFF: https://github.com/llvm/llvm-project/commit/83cb3dbc0c7c1c6950d52412e3346e3b382d79d6.diff LOG: [Serialization] Migrate away from PointerUnion::{is,get} (NFC) (#118948) Note that PointerUnion::{is,get} have been soft deprecated in PointerUnion.h: // FIXME: Replace the uses of is(), get() and dyn_cast() with // isa<T>, cast<T> and the llvm::dyn_cast<T> I'm not touching PointerUnion::dyn_cast for now because it's a bit complicated; we could blindly migrate it to dyn_cast_if_present, but we should probably use dyn_cast when the operand is known to be non-null. Added: Modified: clang/lib/Serialization/ASTReaderDecl.cpp clang/lib/Serialization/ASTReaderStmt.cpp clang/lib/Serialization/ASTWriter.cpp clang/lib/Serialization/ASTWriterDecl.cpp clang/lib/Serialization/ASTWriterStmt.cpp Removed: ################################################################################ diff --git a/clang/lib/Serialization/ASTReaderDecl.cpp b/clang/lib/Serialization/ASTReaderDecl.cpp index 6ece3ba7af9f4b..ff0b9630392382 100644 --- a/clang/lib/Serialization/ASTReaderDecl.cpp +++ b/clang/lib/Serialization/ASTReaderDecl.cpp @@ -4616,7 +4616,7 @@ void ASTDeclReader::UpdateDecl( .dyn_cast<FunctionTemplateSpecializationInfo *>()) FTSInfo->setPointOfInstantiation(POI); else - FD->TemplateOrSpecialization.get<MemberSpecializationInfo *>() + cast<MemberSpecializationInfo *>(FD->TemplateOrSpecialization) ->setPointOfInstantiation(POI); } break; @@ -4715,8 +4715,8 @@ void ASTDeclReader::UpdateDecl( // FIXME: If we already have a partial specialization set, // check that it matches. - if (!Spec->getSpecializedTemplateOrPartial() - .is<ClassTemplatePartialSpecializationDecl *>()) + if (!isa<ClassTemplatePartialSpecializationDecl *>( + Spec->getSpecializedTemplateOrPartial())) Spec->setInstantiationOf(PartialSpec, TemplArgList); } } diff --git a/clang/lib/Serialization/ASTReaderStmt.cpp b/clang/lib/Serialization/ASTReaderStmt.cpp index 731ad0b64dc850..9f4877b19d8705 100644 --- a/clang/lib/Serialization/ASTReaderStmt.cpp +++ b/clang/lib/Serialization/ASTReaderStmt.cpp @@ -911,9 +911,9 @@ void ASTStmtReader::VisitRequiresExpr(RequiresExpr *E) { std::move(*Req), Status, SubstitutedConstraintExpr); else R = new (Record.getContext()) concepts::ExprRequirement( - E.get<concepts::Requirement::SubstitutionDiagnostic *>(), - RK == concepts::Requirement::RK_Simple, NoexceptLoc, - std::move(*Req)); + cast<concepts::Requirement::SubstitutionDiagnostic *>(E), + RK == concepts::Requirement::RK_Simple, NoexceptLoc, + std::move(*Req)); } break; case concepts::Requirement::RK_Nested: { ASTContext &C = Record.getContext(); diff --git a/clang/lib/Serialization/ASTWriter.cpp b/clang/lib/Serialization/ASTWriter.cpp index f8158a654c45aa..368e8f23675433 100644 --- a/clang/lib/Serialization/ASTWriter.cpp +++ b/clang/lib/Serialization/ASTWriter.cpp @@ -4941,7 +4941,7 @@ ASTWriter::WriteAST(llvm::PointerUnion<Sema *, Preprocessor *> Subject, Sema *SemaPtr = Subject.dyn_cast<Sema *>(); Preprocessor &PPRef = - SemaPtr ? SemaPtr->getPreprocessor() : *Subject.get<Preprocessor *>(); + SemaPtr ? SemaPtr->getPreprocessor() : *cast<Preprocessor *>(Subject); ASTHasCompilerErrors = PPRef.getDiagnostics().hasUncompilableErrorOccurred(); diff --git a/clang/lib/Serialization/ASTWriterDecl.cpp b/clang/lib/Serialization/ASTWriterDecl.cpp index ad357e30d57529..c5112d46a95d7e 100644 --- a/clang/lib/Serialization/ASTWriterDecl.cpp +++ b/clang/lib/Serialization/ASTWriterDecl.cpp @@ -1656,7 +1656,7 @@ void ASTDeclWriter::VisitFriendDecl(FriendDecl *D) { // so as to simplify memory allocation during deserialization. Record.push_back(D->NumTPLists); VisitDecl(D); - bool hasFriendDecl = D->Friend.is<NamedDecl*>(); + bool hasFriendDecl = isa<NamedDecl *>(D->Friend); Record.push_back(hasFriendDecl); if (hasFriendDecl) Record.AddDeclRef(D->getFriendDecl()); @@ -1757,7 +1757,7 @@ void ASTDeclWriter::VisitClassTemplateSpecializationDecl( if (Decl *InstFromD = InstFrom.dyn_cast<ClassTemplateDecl *>()) { Record.AddDeclRef(InstFromD); } else { - Record.AddDeclRef(InstFrom.get<ClassTemplatePartialSpecializationDecl *>()); + Record.AddDeclRef(cast<ClassTemplatePartialSpecializationDecl *>(InstFrom)); Record.AddTemplateArgumentList(&D->getTemplateInstantiationArgs()); } @@ -1835,7 +1835,7 @@ void ASTDeclWriter::VisitVarTemplateSpecializationDecl( if (Decl *InstFromD = InstFrom.dyn_cast<VarTemplateDecl *>()) { Record.AddDeclRef(InstFromD); } else { - Record.AddDeclRef(InstFrom.get<VarTemplatePartialSpecializationDecl *>()); + Record.AddDeclRef(cast<VarTemplatePartialSpecializationDecl *>(InstFrom)); Record.AddTemplateArgumentList(&D->getTemplateInstantiationArgs()); } diff --git a/clang/lib/Serialization/ASTWriterStmt.cpp b/clang/lib/Serialization/ASTWriterStmt.cpp index 4994047d9fe10f..603aa5707ce9be 100644 --- a/clang/lib/Serialization/ASTWriterStmt.cpp +++ b/clang/lib/Serialization/ASTWriterStmt.cpp @@ -480,7 +480,7 @@ addConstraintSatisfaction(ASTRecordWriter &Record, if (E) Record.AddStmt(E); else { - auto *Diag = DetailRecord.get<std::pair<SourceLocation, StringRef> *>(); + auto *Diag = cast<std::pair<SourceLocation, StringRef> *>(DetailRecord); Record.AddSourceLocation(Diag->first); Record.AddString(Diag->second); } @@ -532,10 +532,11 @@ void ASTStmtWriter::VisitRequiresExpr(RequiresExpr *E) { Record.push_back(ExprReq->getKind()); Record.push_back(ExprReq->Status); if (ExprReq->isExprSubstitutionFailure()) { - addSubstitutionDiagnostic(Record, - ExprReq->Value.get<concepts::Requirement::SubstitutionDiagnostic *>()); + addSubstitutionDiagnostic( + Record, cast<concepts::Requirement::SubstitutionDiagnostic *>( + ExprReq->Value)); } else - Record.AddStmt(ExprReq->Value.get<Expr *>()); + Record.AddStmt(cast<Expr *>(ExprReq->Value)); if (ExprReq->getKind() == concepts::Requirement::RK_Compound) { Record.AddSourceLocation(ExprReq->NoexceptLoc); const auto &RetReq = ExprReq->getReturnTypeRequirement(); @@ -1166,7 +1167,7 @@ void ASTStmtWriter::VisitInitListExpr(InitListExpr *E) { Record.AddStmt(E->getSyntacticForm()); Record.AddSourceLocation(E->getLBraceLoc()); Record.AddSourceLocation(E->getRBraceLoc()); - bool isArrayFiller = E->ArrayFillerOrUnionFieldInit.is<Expr*>(); + bool isArrayFiller = isa<Expr *>(E->ArrayFillerOrUnionFieldInit); Record.push_back(isArrayFiller); if (isArrayFiller) Record.AddStmt(E->getArrayFiller()); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits