Documentation ¶
Overview ¶
Package interpreter provides the implementation of the Flux interpreter.
Index ¶
- func DoFunctionCall(f func(args Arguments) (values.Value, error), argsObj values.Object) (values.Value, error)
- func ResolveFunction(f values.Function) (*semantic.FunctionExpression, error)
- func ToFloatArray(a values.Array) ([]float64, error)
- func ToStringArray(a values.Array) ([]string, error)
- type Arguments
- type Importer
- type Interpreter
- type Package
- func (p *Package) Array() values.Array
- func (p *Package) Bool() bool
- func (p *Package) Copy() *Package
- func (p *Package) Duration() values.Duration
- func (p *Package) Equal(rhs values.Value) bool
- func (p *Package) Float() float64
- func (p *Package) Function() values.Function
- func (p *Package) Get(name string) (values.Value, bool)
- func (p *Package) Int() int64
- func (p *Package) IsNull() bool
- func (p *Package) Len() int
- func (p *Package) Name() string
- func (p *Package) Object() values.Object
- func (p *Package) PolyType() semantic.PolyType
- func (p *Package) Range(f func(name string, v values.Value))
- func (p *Package) Regexp() *regexp.Regexp
- func (p *Package) Set(name string, v values.Value)
- func (p *Package) SideEffects() []values.Value
- func (p *Package) Str() string
- func (p *Package) String() string
- func (p *Package) Time() values.Time
- func (p *Package) Type() semantic.Type
- func (p *Package) UInt() uint64
- type Resolver
- type Scope
- type Value
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DoFunctionCall ¶
func ResolveFunction ¶
func ResolveFunction(f values.Function) (*semantic.FunctionExpression, error)
Types ¶
type Arguments ¶
type Arguments interface { GetAll() []string Get(name string) (values.Value, bool) GetRequired(name string) (values.Value, error) GetString(name string) (string, bool, error) GetInt(name string) (int64, bool, error) GetFloat(name string) (float64, bool, error) GetBool(name string) (bool, bool, error) GetFunction(name string) (values.Function, bool, error) GetArray(name string, t semantic.Nature) (values.Array, bool, error) GetObject(name string) (values.Object, bool, error) GetRequiredString(name string) (string, error) GetRequiredInt(name string) (int64, error) GetRequiredFloat(name string) (float64, error) GetRequiredBool(name string) (bool, error) GetRequiredFunction(name string) (values.Function, error) GetRequiredArray(name string, t semantic.Nature) (values.Array, error) GetRequiredObject(name string) (values.Object, error) // contains filtered or unexported methods }
Arguments provides access to the keyword arguments passed to a function. semantic.The Get{Type} methods return three values: the typed value of the arg, whether the argument was specified and any errors about the argument type. semantic.The GetRequired{Type} methods return only two values, the typed value of the arg and any errors, a missing argument is considered an error in this case.
func NewArguments ¶
type Interpreter ¶
type Interpreter struct {
// contains filtered or unexported fields
}
func NewInterpreter ¶
func NewInterpreter() *Interpreter
type Package ¶ added in v0.10.0
type Package struct {
// contains filtered or unexported fields
}
func NewPackage ¶ added in v0.14.0
func NewPackageWithValues ¶ added in v0.14.0
func (*Package) SideEffects ¶ added in v0.10.0
type Scope ¶
type Scope interface { // Lookup a name in the current scope Lookup(name string) (values.Value, bool) // Bind a variable in the current scope Set(name string, v values.Value) // Create a new scope by nesting the current scope // If the passed in object is not nil, its values will be added to the new nested scope. Nest(values.Object) Scope // Return the parent of the current scope Pop() Scope // Number of visible names in scope Size() int // Range over all variable bindings in scope applying f Range(f func(k string, v values.Value)) // Range over all variable bindings only in the current scope LocalRange(f func(k string, v values.Value)) // Set the return value of the scope SetReturn(values.Value) // Retrieve the return values of the scope Return() values.Value // Create a copy of the scope Copy() Scope }
type Value ¶
type Value interface { // Type reports the type of value Type() semantic.Type // Value returns the actual value represented. Value() interface{} // Property returns a new value which is a property of this value. Property(name string) (values.Value, error) }
Value represents any value that can be the result of evaluating any expression.
Click to show internal directories.
Click to hide internal directories.