flat is the flattened sequence of execution steps that will be evaluated. activation provides bindings between parameter names and values. state contains the value factory for evaluation and the allocated data structures needed for evaluation.
| 306 | // state contains the value factory for evaluation and the allocated data |
| 307 | // structures needed for evaluation. |
| 308 | ExecutionFrame( |
| 309 | ExecutionPathView flat, const cel::ActivationInterface& activation, |
| 310 | const cel::RuntimeOptions& options, FlatExpressionEvaluatorState& state, |
| 311 | EvaluationListener callback = EvaluationListener(), |
| 312 | const cel::EmbedderContext* absl_nullable embedder_context = nullptr) |
| 313 | : ExecutionFrameBase(activation, std::move(callback), options, |
| 314 | state.type_provider(), state.descriptor_pool(), |
| 315 | state.message_factory(), state.arena(), |
| 316 | embedder_context, state.comprehension_slots()), |
| 317 | pc_(0UL), |
| 318 | execution_path_(flat), |
| 319 | value_stack_(&state.value_stack()), |
| 320 | iterator_stack_(&state.iterator_stack()), |
| 321 | subexpressions_() {} |
| 322 | |
| 323 | ExecutionFrame( |
| 324 | absl::Span<const ExecutionPathView> subexpressions, |
nothing calls this directly
no test coverage detected