Lines Matching refs:ArrayConstructor
144 Expr<T> FoldOperation(FoldingContext &, ArrayConstructor<T> &&);
278 std::unique_ptr<ArrayConstructor<T>> array;
292 array = std::make_unique<ArrayConstructor<T>>(*typedExpr);
313 // Fold the ArrayConstructor<> into a Constant<>.
1269 Expr<T> FoldArray(ArrayConstructor<T> &&array) {
1365 Expr<T> FoldOperation(FoldingContext &context, ArrayConstructor<T> &&array) {
1390 ArrayConstructor<T> result{expr};
1398 } else if (const auto *a{UnwrapExpr<ArrayConstructor<T>>(expr)}) {
1424 // Given a flat ArrayConstructor<T> and a shape, it wraps the array
1429 FoldingContext &context, ArrayConstructor<T> &&values, const Shape &shape) {
1454 // that follow. Given one or two flat ArrayConstructor<OPERAND> (wrapped in an
1457 // ArrayConstructor<RESULT> (wrapped in an Expr<RESULT>).
1466 ArrayConstructor<RESULT> result{values};
1471 auto &aConst{std::get<ArrayConstructor<kindType>>(kindExpr.u)};
1479 auto &aConst{std::get<ArrayConstructor<OPERAND>>(values.u)};
1494 ArrayConstructor<RESULT> ArrayConstructorFromMold(
1496 ArrayConstructor<RESULT> result{prototype};
1507 const ArrayConstructor<LEFT> &leftArrConst,
1508 const ArrayConstructor<RIGHT> &rightArrConst) {
1535 auto &leftArrConst{std::get<ArrayConstructor<LEFT>>(leftValues.u)};
1541 auto &rightArrConst{std::get<ArrayConstructor<kindType>>(kindExpr.u)};
1561 auto &rightArrConst{std::get<ArrayConstructor<RIGHT>>(rightValues.u)};
1586 auto &leftArrConst{std::get<ArrayConstructor<LEFT>>(leftValues.u)};
1607 auto &rightArrConst{std::get<ArrayConstructor<kindType>>(kindExpr.u)};
1617 auto &rightArrConst{std::get<ArrayConstructor<RIGHT>>(rightValues.u)};