Versions in this module Expand all Collapse all v1 v1.4.18 May 16, 2024 v1.4.17 May 12, 2024 v1.4.16 May 9, 2024 v1.4.15 Feb 18, 2024 v1.4.14 Feb 16, 2024 v1.4.13 Dec 22, 2023 v1.4.12 Nov 17, 2023 v1.4.11 Nov 14, 2023 v1.4.10 Nov 8, 2023 Changes in this version + var ErrUnsupportedBinaryExpr = errors.New("unsupported binary expression") + func NewOperationError(left, right reflect.Value, operator string) error type BinaryExprExecutor + func FromToken(t token.Token) (BinaryExprExecutor, error) + type BoolOperator struct + func (o BoolOperator) Operate(left, right reflect.Value) (reflect.Value, error) + type ComplexOperator struct + func (o ComplexOperator) Operate(left, right reflect.Value) (reflect.Value, error) + type FloatOperator struct + func (o FloatOperator) Operate(left, right reflect.Value) (reflect.Value, error) + type GenericOperator struct + func (o GenericOperator) Operate(left, right reflect.Value) (reflect.Value, error) + type IntOperator struct + func (o IntOperator) Operate(left, right reflect.Value) (reflect.Value, error) + type InvalidTypeOperator struct + func (o InvalidTypeOperator) Operate(left, right reflect.Value) (result reflect.Value, err error) + type OperationError struct + func (c OperationError) Error() string + type Operator interface + Operate func(left, right reflect.Value) (reflect.Value, error) + type OperatorExecutor struct + func (c OperatorExecutor) Exec(left reflect.Value, next func() (reflect.Value, error)) (reflect.Value, error) + type OperatorExpr int + const Add + const And + const Eq + const Ge + const Gt + const Land + const Le + const Lor + const Lt + const Mul + const Ne + const Or + const Quo + const Rem + const Sub + func (e OperatorExpr) String() string + type StringOperator struct + func (o StringOperator) Operate(left, right reflect.Value) (reflect.Value, error) + type UintOperator struct + func (o UintOperator) Operate(left, right reflect.Value) (reflect.Value, error) v1.4.9 Oct 11, 2023 Changes in this version + type ADDExprExecutor struct + func (ADDExprExecutor) Exec(right reflect.Value, next func() (reflect.Value, error)) (reflect.Value, error) + type ANDExprExecutor struct + func (ANDExprExecutor) Exec(right reflect.Value, next func() (reflect.Value, error)) (reflect.Value, error) + type BinaryExprExecutor interface + Exec func(right reflect.Value, next func() (reflect.Value, error)) (reflect.Value, error) + type COMMENTExprExecutor struct + func (COMMENTExprExecutor) Exec(_ reflect.Value, _ func() (reflect.Value, error)) (reflect.Value, error) + type EQLExprExecutor struct + func (EQLExprExecutor) Exec(right reflect.Value, next func() (reflect.Value, error)) (reflect.Value, error) + type GEQExprExecutor struct + func (GEQExprExecutor) Exec(right reflect.Value, next func() (reflect.Value, error)) (reflect.Value, error) + type GTRExprExecutor struct + func (GTRExprExecutor) Exec(right reflect.Value, next func() (reflect.Value, error)) (reflect.Value, error) + type LANDExprExecutor struct + func (LANDExprExecutor) Exec(right reflect.Value, next func() (reflect.Value, error)) (reflect.Value, error) + type LEQExprExecutor struct + func (LEQExprExecutor) Exec(right reflect.Value, next func() (reflect.Value, error)) (reflect.Value, error) + type LORExprExecutor struct + func (LORExprExecutor) Exec(right reflect.Value, next func() (reflect.Value, error)) (reflect.Value, error) + type LPARENExprExecutor struct + func (LPARENExprExecutor) Exec(_ reflect.Value, next func() (reflect.Value, error)) (reflect.Value, error) + type LSSExprExecutor struct + func (LSSExprExecutor) Exec(right reflect.Value, next func() (reflect.Value, error)) (reflect.Value, error) + type MULExprExecutor struct + func (MULExprExecutor) Exec(right reflect.Value, next func() (reflect.Value, error)) (reflect.Value, error) + type NEQExprExecutor struct + func (NEQExprExecutor) Exec(right reflect.Value, next func() (reflect.Value, error)) (reflect.Value, error) + type NOTExprExecutor struct + func (NOTExprExecutor) Exec(_ reflect.Value, next func() (reflect.Value, error)) (reflect.Value, error) + type ORExprExecutor struct + func (ORExprExecutor) Exec(right reflect.Value, next func() (reflect.Value, error)) (reflect.Value, error) + type QUOExprExecutor struct + func (QUOExprExecutor) Exec(right reflect.Value, next func() (reflect.Value, error)) (reflect.Value, error) + type REMExprExecutor struct + func (REMExprExecutor) Exec(right reflect.Value, next func() (reflect.Value, error)) (reflect.Value, error) + type RPARENExprExecutor struct + func (RPARENExprExecutor) Exec(right reflect.Value, _ func() (reflect.Value, error)) (reflect.Value, error) + type SUBExprExecutor struct + func (SUBExprExecutor) Exec(right reflect.Value, next func() (reflect.Value, error)) (reflect.Value, error)