newExecutionFrame creates an ExecutionFrame for the given input without a timeout context.
(input any)
| 423 | |
| 424 | // newExecutionFrame creates an ExecutionFrame for the given input without a timeout context. |
| 425 | func (p *prog) newExecutionFrame(input any) (*interpreter.ExecutionFrame, error) { |
| 426 | frame, err := interpreter.NewExecutionFrame(input) |
| 427 | if err != nil { |
| 428 | return nil, err |
| 429 | } |
| 430 | if p.defaultVars != nil { |
| 431 | // Update the frame's activation in place. |
| 432 | frame.Activation = interpreter.NewHierarchicalActivation(p.defaultVars, frame.Activation) |
| 433 | } |
| 434 | |
| 435 | return frame, nil |
| 436 | } |
| 437 | |
| 438 | // newAsyncFrame creates an ExecutionFrame configured for asynchronous evaluation under the |
| 439 | // given context, wiring the observer and concurrency limit from the program options. |
no test coverage detected