MCPcopy Create free account
hub / github.com/cel-expr/cel-go / prog

Struct prog

cel/program.go:172–201  ·  view source on GitHub ↗

prog is the internal implementation of the Program interface.

Source from the content-addressed store, hash-verified

170
171// prog is the internal implementation of the Program interface.
172type 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.

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected