Skip to content

Commit 34ab8be

Browse files
Implement VisitCXXParenListInitExpr
1 parent 5158012 commit 34ab8be

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
@@ -9306,6 +9307,24 @@ ExpectedStmt ASTNodeImporter::VisitPseudoObjectExpr(PseudoObjectExpr *E) {
93069307
E->getResultExprIndex());
93079308
}
93089309

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

0 commit comments

Comments
 (0)