| 247 | explicit IterativeInStep(int64_t expr_id) : ExpressionStepBase(expr_id) {} |
| 248 | |
| 249 | absl::Status Evaluate(ExecutionFrame* frame) const override { |
| 250 | if (!frame->value_stack().HasEnough(2)) { |
| 251 | return absl::Status(absl::StatusCode::kInternal, "Value stack underflow"); |
| 252 | } |
| 253 | |
| 254 | auto args = frame->value_stack().GetSpan(2); |
| 255 | auto attrs = frame->value_stack().GetAttributeSpan(2); |
| 256 | |
| 257 | CEL_ASSIGN_OR_RETURN( |
| 258 | Value result, EvaluateIn(*frame, args[0], attrs[0], args[1], attrs[1])); |
| 259 | frame->value_stack().PopAndPush(2, std::move(result)); |
| 260 | return absl::OkStatus(); |
| 261 | } |
| 262 | }; |
| 263 | |
| 264 | } // namespace |
nothing calls this directly
no test coverage detected