Skip to content

Commit 83cb3db

Browse files
[Serialization] Migrate away from PointerUnion::{is,get} (NFC) (llvm#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.
1 parent 624e89b commit 83cb3db

File tree

5 files changed

+16
-15
lines changed

5 files changed

+16
-15
lines changed

clang/lib/Serialization/ASTReaderDecl.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4616,7 +4616,7 @@ void ASTDeclReader::UpdateDecl(
46164616
.dyn_cast<FunctionTemplateSpecializationInfo *>())
46174617
FTSInfo->setPointOfInstantiation(POI);
46184618
else
4619-
FD->TemplateOrSpecialization.get<MemberSpecializationInfo *>()
4619+
cast<MemberSpecializationInfo *>(FD->TemplateOrSpecialization)
46204620
->setPointOfInstantiation(POI);
46214621
}
46224622
break;
@@ -4715,8 +4715,8 @@ void ASTDeclReader::UpdateDecl(
47154715

47164716
// FIXME: If we already have a partial specialization set,
47174717
// check that it matches.
4718-
if (!Spec->getSpecializedTemplateOrPartial()
4719-
.is<ClassTemplatePartialSpecializationDecl *>())
4718+
if (!isa<ClassTemplatePartialSpecializationDecl *>(
4719+
Spec->getSpecializedTemplateOrPartial()))
47204720
Spec->setInstantiationOf(PartialSpec, TemplArgList);
47214721
}
47224722
}

clang/lib/Serialization/ASTReaderStmt.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -911,9 +911,9 @@ void ASTStmtReader::VisitRequiresExpr(RequiresExpr *E) {
911911
std::move(*Req), Status, SubstitutedConstraintExpr);
912912
else
913913
R = new (Record.getContext()) concepts::ExprRequirement(
914-
E.get<concepts::Requirement::SubstitutionDiagnostic *>(),
915-
RK == concepts::Requirement::RK_Simple, NoexceptLoc,
916-
std::move(*Req));
914+
cast<concepts::Requirement::SubstitutionDiagnostic *>(E),
915+
RK == concepts::Requirement::RK_Simple, NoexceptLoc,
916+
std::move(*Req));
917917
} break;
918918
case concepts::Requirement::RK_Nested: {
919919
ASTContext &C = Record.getContext();

clang/lib/Serialization/ASTWriter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4941,7 +4941,7 @@ ASTWriter::WriteAST(llvm::PointerUnion<Sema *, Preprocessor *> Subject,
49414941

49424942
Sema *SemaPtr = Subject.dyn_cast<Sema *>();
49434943
Preprocessor &PPRef =
4944-
SemaPtr ? SemaPtr->getPreprocessor() : *Subject.get<Preprocessor *>();
4944+
SemaPtr ? SemaPtr->getPreprocessor() : *cast<Preprocessor *>(Subject);
49454945

49464946
ASTHasCompilerErrors = PPRef.getDiagnostics().hasUncompilableErrorOccurred();
49474947

clang/lib/Serialization/ASTWriterDecl.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1656,7 +1656,7 @@ void ASTDeclWriter::VisitFriendDecl(FriendDecl *D) {
16561656
// so as to simplify memory allocation during deserialization.
16571657
Record.push_back(D->NumTPLists);
16581658
VisitDecl(D);
1659-
bool hasFriendDecl = D->Friend.is<NamedDecl*>();
1659+
bool hasFriendDecl = isa<NamedDecl *>(D->Friend);
16601660
Record.push_back(hasFriendDecl);
16611661
if (hasFriendDecl)
16621662
Record.AddDeclRef(D->getFriendDecl());
@@ -1757,7 +1757,7 @@ void ASTDeclWriter::VisitClassTemplateSpecializationDecl(
17571757
if (Decl *InstFromD = InstFrom.dyn_cast<ClassTemplateDecl *>()) {
17581758
Record.AddDeclRef(InstFromD);
17591759
} else {
1760-
Record.AddDeclRef(InstFrom.get<ClassTemplatePartialSpecializationDecl *>());
1760+
Record.AddDeclRef(cast<ClassTemplatePartialSpecializationDecl *>(InstFrom));
17611761
Record.AddTemplateArgumentList(&D->getTemplateInstantiationArgs());
17621762
}
17631763

@@ -1835,7 +1835,7 @@ void ASTDeclWriter::VisitVarTemplateSpecializationDecl(
18351835
if (Decl *InstFromD = InstFrom.dyn_cast<VarTemplateDecl *>()) {
18361836
Record.AddDeclRef(InstFromD);
18371837
} else {
1838-
Record.AddDeclRef(InstFrom.get<VarTemplatePartialSpecializationDecl *>());
1838+
Record.AddDeclRef(cast<VarTemplatePartialSpecializationDecl *>(InstFrom));
18391839
Record.AddTemplateArgumentList(&D->getTemplateInstantiationArgs());
18401840
}
18411841

clang/lib/Serialization/ASTWriterStmt.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,7 @@ addConstraintSatisfaction(ASTRecordWriter &Record,
480480
if (E)
481481
Record.AddStmt(E);
482482
else {
483-
auto *Diag = DetailRecord.get<std::pair<SourceLocation, StringRef> *>();
483+
auto *Diag = cast<std::pair<SourceLocation, StringRef> *>(DetailRecord);
484484
Record.AddSourceLocation(Diag->first);
485485
Record.AddString(Diag->second);
486486
}
@@ -532,10 +532,11 @@ void ASTStmtWriter::VisitRequiresExpr(RequiresExpr *E) {
532532
Record.push_back(ExprReq->getKind());
533533
Record.push_back(ExprReq->Status);
534534
if (ExprReq->isExprSubstitutionFailure()) {
535-
addSubstitutionDiagnostic(Record,
536-
ExprReq->Value.get<concepts::Requirement::SubstitutionDiagnostic *>());
535+
addSubstitutionDiagnostic(
536+
Record, cast<concepts::Requirement::SubstitutionDiagnostic *>(
537+
ExprReq->Value));
537538
} else
538-
Record.AddStmt(ExprReq->Value.get<Expr *>());
539+
Record.AddStmt(cast<Expr *>(ExprReq->Value));
539540
if (ExprReq->getKind() == concepts::Requirement::RK_Compound) {
540541
Record.AddSourceLocation(ExprReq->NoexceptLoc);
541542
const auto &RetReq = ExprReq->getReturnTypeRequirement();
@@ -1166,7 +1167,7 @@ void ASTStmtWriter::VisitInitListExpr(InitListExpr *E) {
11661167
Record.AddStmt(E->getSyntacticForm());
11671168
Record.AddSourceLocation(E->getLBraceLoc());
11681169
Record.AddSourceLocation(E->getRBraceLoc());
1169-
bool isArrayFiller = E->ArrayFillerOrUnionFieldInit.is<Expr*>();
1170+
bool isArrayFiller = isa<Expr *>(E->ArrayFillerOrUnionFieldInit);
11701171
Record.push_back(isArrayFiller);
11711172
if (isArrayFiller)
11721173
Record.AddStmt(E->getArrayFiller());

0 commit comments

Comments
 (0)