Skip to content

Commit e250737

Browse files
[Serialization] Migrate away from PointerUnion::{is,get} (NFC)
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 3dbff90 commit e250737

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
@@ -4598,7 +4598,7 @@ void ASTDeclReader::UpdateDecl(Decl *D) {
45984598
.dyn_cast<FunctionTemplateSpecializationInfo *>())
45994599
FTSInfo->setPointOfInstantiation(POI);
46004600
else
4601-
FD->TemplateOrSpecialization.get<MemberSpecializationInfo *>()
4601+
cast<MemberSpecializationInfo *>(FD->TemplateOrSpecialization)
46024602
->setPointOfInstantiation(POI);
46034603
}
46044604
break;
@@ -4697,8 +4697,8 @@ void ASTDeclReader::UpdateDecl(Decl *D) {
46974697

46984698
// FIXME: If we already have a partial specialization set,
46994699
// check that it matches.
4700-
if (!Spec->getSpecializedTemplateOrPartial()
4701-
.is<ClassTemplatePartialSpecializationDecl *>())
4700+
if (!isa<ClassTemplatePartialSpecializationDecl *>(
4701+
Spec->getSpecializedTemplateOrPartial()))
47024702
Spec->setInstantiationOf(PartialSpec, TemplArgList);
47034703
}
47044704
}

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
@@ -5111,7 +5111,7 @@ ASTWriter::WriteAST(llvm::PointerUnion<Sema *, Preprocessor *> Subject,
51115111

51125112
Sema *SemaPtr = Subject.dyn_cast<Sema *>();
51135113
Preprocessor &PPRef =
5114-
SemaPtr ? SemaPtr->getPreprocessor() : *Subject.get<Preprocessor *>();
5114+
SemaPtr ? SemaPtr->getPreprocessor() : *cast<Preprocessor *>(Subject);
51155115

51165116
ASTHasCompilerErrors = PPRef.getDiagnostics().hasUncompilableErrorOccurred();
51175117

clang/lib/Serialization/ASTWriterDecl.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1694,7 +1694,7 @@ void ASTDeclWriter::VisitFriendDecl(FriendDecl *D) {
16941694
// so as to simplify memory allocation during deserialization.
16951695
Record.push_back(D->NumTPLists);
16961696
VisitDecl(D);
1697-
bool hasFriendDecl = D->Friend.is<NamedDecl*>();
1697+
bool hasFriendDecl = isa<NamedDecl *>(D->Friend);
16981698
Record.push_back(hasFriendDecl);
16991699
if (hasFriendDecl)
17001700
Record.AddDeclRef(D->getFriendDecl());
@@ -1795,7 +1795,7 @@ void ASTDeclWriter::VisitClassTemplateSpecializationDecl(
17951795
if (Decl *InstFromD = InstFrom.dyn_cast<ClassTemplateDecl *>()) {
17961796
Record.AddDeclRef(InstFromD);
17971797
} else {
1798-
Record.AddDeclRef(InstFrom.get<ClassTemplatePartialSpecializationDecl *>());
1798+
Record.AddDeclRef(cast<ClassTemplatePartialSpecializationDecl *>(InstFrom));
17991799
Record.AddTemplateArgumentList(&D->getTemplateInstantiationArgs());
18001800
}
18011801

@@ -1873,7 +1873,7 @@ void ASTDeclWriter::VisitVarTemplateSpecializationDecl(
18731873
if (Decl *InstFromD = InstFrom.dyn_cast<VarTemplateDecl *>()) {
18741874
Record.AddDeclRef(InstFromD);
18751875
} else {
1876-
Record.AddDeclRef(InstFrom.get<VarTemplatePartialSpecializationDecl *>());
1876+
Record.AddDeclRef(cast<VarTemplatePartialSpecializationDecl *>(InstFrom));
18771877
Record.AddTemplateArgumentList(&D->getTemplateInstantiationArgs());
18781878
}
18791879

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)