prog is the internal implementation of the Program interface.
| 170 | |
| 171 | // prog is the internal implementation of the Program interface. |
| 172 | type prog struct { |
| 173 | *Env |
| 174 | evalOpts EvalOption |
| 175 | defaultVars Activation |
| 176 | dispatcher interpreter.Dispatcher |
| 177 | interpreter interpreter.Interpreter |
| 178 | interruptCheckFrequency uint |
| 179 | |
| 180 | // Intermediate state used to configure the InterpretableDecorator set provided |
| 181 | // to the initInterpretable call. |
| 182 | plannerOptions []interpreter.PlannerOption |
| 183 | regexOptimizations []*interpreter.RegexOptimization |
| 184 | |
| 185 | // Interpretable configured from an Ast and aggregate decorator set based on program options. |
| 186 | interpretable interpreter.InterpretableV2 |
| 187 | observable *interpreter.ObservableInterpretable |
| 188 | callCostEstimator interpreter.ActualCostEstimator |
| 189 | costOptions []interpreter.CostTrackerOption |
| 190 | costLimit *uint64 |
| 191 | |
| 192 | // hasAsync indicates the planned expression contains an asynchronous function call, which can |
| 193 | // only be resolved by ConcurrentEval. |
| 194 | hasAsync bool |
| 195 | |
| 196 | // Async evaluation configuration used by ConcurrentEval. |
| 197 | drainStrategy async.DrainStrategy |
| 198 | asyncObserver async.Observer |
| 199 | asyncCompletionBufferSize int |
| 200 | asyncMaxConcurrency int |
| 201 | } |
| 202 | |
| 203 | // newProgram creates a program instance with an environment, an ast, and an optional list of |
| 204 | // ProgramOption values. |
nothing calls this directly
no outgoing calls
no test coverage detected