| 75 | arena)) {} |
| 76 | |
| 77 | absl::StatusOr<CelValue> CelExpressionFlatImpl::Trace( |
| 78 | const BaseActivation& activation, CelEvaluationState* _state, |
| 79 | CelEvaluationListener callback) const { |
| 80 | auto state = |
| 81 | ::cel::internal::down_cast<CelExpressionFlatEvaluationState*>(_state); |
| 82 | state->state().Reset(); |
| 83 | cel::interop_internal::AdapterActivationImpl modern_activation(activation); |
| 84 | |
| 85 | CEL_ASSIGN_OR_RETURN(cel::Value value, |
| 86 | flat_expression_.EvaluateWithCallback( |
| 87 | modern_activation, |
| 88 | /*embedder_context=*/nullptr, |
| 89 | AdaptListener(callback), state->state())); |
| 90 | |
| 91 | return cel::interop_internal::ModernValueToLegacyValueOrDie(state->arena(), |
| 92 | value); |
| 93 | } |
| 94 | |
| 95 | std::unique_ptr<CelEvaluationState> CelExpressionFlatImpl::InitializeState( |
| 96 | google::protobuf::Arena* arena) const { |