istio: istio.io/istio/mixer/pkg/runtime/lang Index | Files

package lang

import "istio.io/istio/mixer/pkg/runtime/lang"

Package lang chooses a language runtime for expressions.

Index

Package Files

lang.go

type Compiler Uses

type Compiler interface {
    // Compile creates a compiled expression from a string expression
    Compile(expr string) (compiled.Expression, v1beta1.ValueType, error)
}

Compiler creates a compiled expression from a string expression

func NewBuilder Uses

func NewBuilder(finder attribute.AttributeDescriptorFinder, mode LanguageRuntime) Compiler

NewBuilder returns an expression builder

type LanguageRuntime Uses

type LanguageRuntime int

LanguageRuntime enumerates the expression languages supported by istio

const (
    // CEXL is legacy istio expression language
    CEXL LanguageRuntime = iota

    // CEL is Common Expression Language (https://github.com/google/cel-spec)
    CEL

    // COMPAT is a hybrid with CEXL syntax but CEL semantics
    COMPAT
)

func GetLanguageRuntime Uses

func GetLanguageRuntime(annotations map[string]string) LanguageRuntime

GetLanguageRuntime reads an override from a resource annotation

func (LanguageRuntime) String Uses

func (mode LanguageRuntime) String() string

type TypeChecker Uses

type TypeChecker = checker.TypeChecker

TypeChecker interface (bound to legacy one)

func NewTypeChecker Uses

func NewTypeChecker(finder attribute.AttributeDescriptorFinder, mode LanguageRuntime) TypeChecker

NewTypeChecker returns a type checker

Package lang imports 7 packages (graph) and is imported by 14 packages. Updated 2019-09-13. Refresh now. Tools for package owners.