Lines Matching defs:triplet
330 // Fold subscript expressions and check for an empty triplet.
339 if (Triplet * triplet{std::get_if<Triplet>(&ss.u)}) {
340 auto expr{Fold(triplet->stride())};
342 triplet->set_stride(std::move(expr));
344 if (auto expr{triplet->lower()}) {
347 triplet->set_lower(std::move(*expr));
351 if (auto expr{triplet->upper()}) {
354 triplet->set_upper(std::move(*expr));
360 Say("Stride of triplet must not be zero"_err_en_US);
379 } else { // not triplet
403 if (auto *triplet{std::get_if<Triplet>(&ss.u)}) {
404 auto stride{ToInt64(triplet->stride())};
406 if (const auto *lowerExpr{triplet->GetLower()}) {
411 if (const auto *upperExpr{triplet->GetUpper()}) {
538 if (auto *triplet{std::get_if<parser::SubscriptTriplet>(
540 if (!std::get<2 /*stride*/>(triplet->t).has_value()) {
1800 [&](const parser::AcValue::Triplet &triplet) { Add(triplet); },
1812 void ArrayConstructorContext::Add(const parser::AcValue::Triplet &triplet) {
1813 MaybeExpr lowerExpr{exprAnalyzer_.Analyze(std::get<0>(triplet.t))};
1814 MaybeExpr upperExpr{exprAnalyzer_.Analyze(std::get<1>(triplet.t))};
1815 MaybeExpr strideExpr{exprAnalyzer_.Analyze(std::get<2>(triplet.t))};