Skip to content

Commit 45558df

Browse files
Implement VisitSubstNonTypeTemplateParmPackExpr
1 parent 2347324 commit 45558df

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

clang/lib/AST/ASTImporter.cpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -696,6 +696,8 @@ namespace clang {
696696
ExpectedStmt VisitCXXFoldExpr(CXXFoldExpr *E);
697697
ExpectedStmt VisitRequiresExpr(RequiresExpr* E);
698698
ExpectedStmt VisitConceptSpecializationExpr(ConceptSpecializationExpr* E);
699+
ExpectedStmt
700+
VisitSubstNonTypeTemplateParmPackExpr(SubstNonTypeTemplateParmPackExpr *E);
699701

700702
// Helper for chaining together multiple imports. If an error is detected,
701703
// subsequent imports will return default constructed nodes, so that failure
@@ -9274,6 +9276,21 @@ ASTNodeImporter::VisitConceptSpecializationExpr(ConceptSpecializationExpr *E) {
92749276
const_cast<ImplicitConceptSpecializationDecl *>(CSD), &Satisfaction);
92759277
}
92769278

9279+
ExpectedStmt ASTNodeImporter::VisitSubstNonTypeTemplateParmPackExpr(
9280+
SubstNonTypeTemplateParmPackExpr *E) {
9281+
Error Err = Error::success();
9282+
auto ToType = importChecked(Err, E->getType());
9283+
auto ToNameLoc = importChecked(Err, E->getParameterPackLocation());
9284+
auto ToArgPack = importChecked(Err, E->getArgumentPack());
9285+
auto ToAssociatedDecl = importChecked(Err, E->getAssociatedDecl());
9286+
if (Err)
9287+
return std::move(Err);
9288+
9289+
return new (Importer.getToContext()) SubstNonTypeTemplateParmPackExpr(
9290+
ToType, E->getValueKind(), ToNameLoc, ToArgPack, ToAssociatedDecl,
9291+
E->getIndex(), E->getFinal());
9292+
}
9293+
92779294
Error ASTNodeImporter::ImportOverriddenMethods(CXXMethodDecl *ToMethod,
92789295
CXXMethodDecl *FromMethod) {
92799296
Error ImportErrors = Error::success();

0 commit comments

Comments
 (0)