Skip to content

Commit 228c997

Browse files
committed
Merge all pattern kinds into a single AST node
1 parent d2afde8 commit 228c997

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

clang/lib/Sema/SemaExpand.cpp

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -437,8 +437,8 @@ StmtResult Sema::BuildNonEnumeratingCXXExpansionStmtPattern(
437437
if (FinaliseExpansionVar(*this, ExpansionVar, Select))
438438
return StmtError();
439439

440-
return new (Context) CXXDestructuringExpansionStmtPattern(
441-
ESD, Init, ExpansionVarStmt, DS, LParenLoc, ColonLoc, RParenLoc);
440+
return CXXExpansionStmtPattern::CreateDestructuring(
441+
Context, ESD, Init, ExpansionVarStmt, DS, LParenLoc, ColonLoc, RParenLoc);
442442
}
443443

444444
StmtResult Sema::FinishCXXExpansionStmt(Stmt *Exp, Stmt *Body) {
@@ -749,9 +749,6 @@ Sema::ComputeExpansionSize(CXXExpansionStmtPattern *Expansion) {
749749
return ER.Val.getInt().getZExtValue();
750750
}
751751

752-
if (auto *Destructuring =
753-
dyn_cast<CXXDestructuringExpansionStmtPattern>(Expansion))
754-
return Destructuring->getDecompositionDecl()->bindings().size();
755-
756-
llvm_unreachable("Invalid expansion statement class");
752+
assert(Expansion->isDestructuring());
753+
return Expansion->getDecompositionDecl()->bindings().size();
757754
}

0 commit comments

Comments
 (0)