Skip to content

Commit 61674a3

Browse files
Code review
Skip null check in VisitPseudoObjectExpr Fix bad naming in VisitConceptSpecializationExpr Simplify test for ImportCXXParenListInitExpr
1 parent 87765e4 commit 61674a3

File tree

2 files changed

+9
-16
lines changed

2 files changed

+9
-16
lines changed

clang/lib/AST/ASTImporter.cpp

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9281,30 +9281,26 @@ ExpectedStmt ASTNodeImporter::VisitSubstNonTypeTemplateParmPackExpr(
92819281
SubstNonTypeTemplateParmPackExpr *E) {
92829282
Error Err = Error::success();
92839283
auto ToType = importChecked(Err, E->getType());
9284-
auto ToNameLoc = importChecked(Err, E->getParameterPackLocation());
9284+
auto ToPackLoc = importChecked(Err, E->getParameterPackLocation());
92859285
auto ToArgPack = importChecked(Err, E->getArgumentPack());
92869286
auto ToAssociatedDecl = importChecked(Err, E->getAssociatedDecl());
92879287
if (Err)
92889288
return std::move(Err);
92899289

92909290
return new (Importer.getToContext()) SubstNonTypeTemplateParmPackExpr(
9291-
ToType, E->getValueKind(), ToNameLoc, ToArgPack, ToAssociatedDecl,
9291+
ToType, E->getValueKind(), ToPackLoc, ToArgPack, ToAssociatedDecl,
92929292
E->getIndex(), E->getFinal());
92939293
}
92949294

92959295
ExpectedStmt ASTNodeImporter::VisitPseudoObjectExpr(PseudoObjectExpr *E) {
92969296
SmallVector<Expr *, 4> ToSemantics(E->getNumSemanticExprs());
92979297
if (Error Err = ImportContainerChecked(E->semantics(), ToSemantics))
92989298
return std::move(Err);
9299-
Expr *ToSynt = nullptr;
9300-
if (const Expr *FromSynt = E->getSyntacticForm()) {
9301-
if (auto ToSyntOrErr = import(FromSynt))
9302-
ToSynt = *ToSyntOrErr;
9303-
else
9304-
return ToSyntOrErr.takeError();
9305-
}
9306-
return PseudoObjectExpr::Create(Importer.getToContext(), ToSynt, ToSemantics,
9307-
E->getResultExprIndex());
9299+
auto ToSyntOrErr = import(E->getSyntacticForm());
9300+
if (!ToSyntOrErr)
9301+
return ToSyntOrErr.takeError();
9302+
return PseudoObjectExpr::Create(Importer.getToContext(), *ToSyntOrErr,
9303+
ToSemantics, E->getResultExprIndex());
93089304
}
93099305

93109306
ExpectedStmt

clang/unittests/AST/ASTImporterTest.cpp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3323,13 +3323,10 @@ TEST_P(ImportExpr, ImportCXXParenListInitExpr) {
33233323
int val;
33243324
double d;
33253325
};
3326-
template <int N> struct Container {
3327-
Node* create() { return new Node(N, 3.14); }
3328-
};
3329-
using declToImport = Container<42>;
3326+
Node* declToImport() { return new Node(2, 3.14); }
33303327
)";
33313328
testImport(Code, Lang_CXX20, "", Lang_CXX20, Verifier,
3332-
typedefNameDecl(hasName("declToImport")));
3329+
functionDecl(hasName("declToImport")));
33333330
}
33343331

33353332
TEST_P(ImportExpr, ImportPseudoObjectExpr) {

0 commit comments

Comments
 (0)