Skip to content

Commit a58a1ae

Browse files
Implement VisitCXXParenListInitExpr
1 parent a206fc2 commit a58a1ae

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

clang/lib/AST/ASTImporter.cpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -699,6 +699,7 @@ namespace clang {
699699
ExpectedStmt
700700
VisitSubstNonTypeTemplateParmPackExpr(SubstNonTypeTemplateParmPackExpr *E);
701701
ExpectedStmt VisitPseudoObjectExpr(PseudoObjectExpr *E);
702+
ExpectedStmt VisitCXXParenListInitExpr(CXXParenListInitExpr *E);
702703

703704
// Helper for chaining together multiple imports. If an error is detected,
704705
// subsequent imports will return default constructed nodes, so that failure
@@ -9307,6 +9308,24 @@ ExpectedStmt ASTNodeImporter::VisitPseudoObjectExpr(PseudoObjectExpr *E) {
93079308
E->getResultExprIndex());
93089309
}
93099310

9311+
ExpectedStmt
9312+
ASTNodeImporter::VisitCXXParenListInitExpr(CXXParenListInitExpr *E) {
9313+
Error Err = Error::success();
9314+
auto ToType = importChecked(Err, E->getType());
9315+
auto ToInitLoc = importChecked(Err, E->getInitLoc());
9316+
auto ToBeginLoc = importChecked(Err, E->getBeginLoc());
9317+
auto ToEndLoc = importChecked(Err, E->getEndLoc());
9318+
if (Err)
9319+
return std::move(Err);
9320+
9321+
SmallVector<Expr *, 4> ToArgs(E->getInitExprs().size());
9322+
if (Error Err = ImportContainerChecked(E->getInitExprs(), ToArgs))
9323+
return std::move(Err);
9324+
return CXXParenListInitExpr::Create(Importer.getToContext(), ToArgs, ToType,
9325+
E->getUserSpecifiedInitExprs().size(),
9326+
ToInitLoc, ToBeginLoc, ToEndLoc);
9327+
}
9328+
93109329
Error ASTNodeImporter::ImportOverriddenMethods(CXXMethodDecl *ToMethod,
93119330
CXXMethodDecl *FromMethod) {
93129331
Error ImportErrors = Error::success();

0 commit comments

Comments
 (0)