Versions in this module Expand all Collapse all v0 v0.1.0 Feb 5, 2019 Changes in this version + func PruneAst(expr *exprpb.Expr, state EvalState) *exprpb.Expr + type Activation interface + Parent func() Activation + ResolveName func(name string) (ref.Val, bool) + func NewActivation(bindings map[string]interface{}) Activation + func NewHierarchicalActivation(parent Activation, child Activation) Activation + type Dispatcher interface + Add func(overloads ...*functions.Overload) error + FindOverload func(overload string) (*functions.Overload, bool) + OverloadIds func() []string + func ExtendDispatcher(parent Dispatcher) Dispatcher + func NewDispatcher() Dispatcher + type EvalState interface + Reset func() + SetValue func(int64, ref.Val) + Value func(int64) (ref.Val, bool) + func NewEvalState() EvalState + type Interpretable interface + Eval func(activation Activation) ref.Val + ID func() int64 + type InterpretableDecorator func(Interpretable) (Interpretable, error) + func ExhaustiveEval(state EvalState) InterpretableDecorator + func FoldConstants() InterpretableDecorator + func TrackState(state EvalState) InterpretableDecorator + type Interpreter interface + NewInterpretable func(checked *exprpb.CheckedExpr, decorators ...InterpretableDecorator) (Interpretable, error) + NewUncheckedInterpretable func(expr *exprpb.Expr, decorators ...InterpretableDecorator) (Interpretable, error) + func NewInterpreter(dispatcher Dispatcher, packager packages.Packager, ...) Interpreter + func NewStandardInterpreter(packager packages.Packager, typeProvider ref.TypeProvider) Interpreter