| 2452 | } |
| 2453 | |
| 2454 | void ComprehensionVisitor::PostVisitArgTrivial(cel::ComprehensionArg arg_num, |
| 2455 | const cel::Expr* expr) { |
| 2456 | if (visitor_->PlanRecursiveProgram()) { |
| 2457 | return; |
| 2458 | } |
| 2459 | switch (arg_num) { |
| 2460 | case cel::ITER_RANGE: { |
| 2461 | break; |
| 2462 | } |
| 2463 | case cel::ACCU_INIT: { |
| 2464 | if (!accu_init_extracted_) { |
| 2465 | visitor_->AddStep(CreateAssignSlotAndPopStep(accu_slot_)); |
| 2466 | } |
| 2467 | break; |
| 2468 | } |
| 2469 | case cel::LOOP_CONDITION: { |
| 2470 | break; |
| 2471 | } |
| 2472 | case cel::LOOP_STEP: { |
| 2473 | break; |
| 2474 | } |
| 2475 | case cel::RESULT: { |
| 2476 | visitor_->AddStep(CreateClearSlotStep(accu_slot_, expr->id())); |
| 2477 | break; |
| 2478 | } |
| 2479 | } |
| 2480 | } |
| 2481 | |
| 2482 | void ComprehensionVisitor::PostVisit(const cel::Expr* expr) { |
| 2483 | if (is_trivial_) { |
nothing calls this directly
no test coverage detected