expr

package
v0.0.0-...-e165f0f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 1, 2020 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Decl

type Decl struct {
	// The id of the declaration.
	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// The name of the declaration.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// The documentation string for the declaration.
	Doc string `protobuf:"bytes,3,opt,name=doc,proto3" json:"doc,omitempty"`
	// The kind of declaration.
	//
	// Types that are valid to be assigned to Kind:
	//	*Decl_Ident
	//	*Decl_Function
	Kind                 isDecl_Kind `protobuf_oneof:"kind"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

A declaration.

func (*Decl) Descriptor

func (*Decl) Descriptor() ([]byte, []int)

func (*Decl) GetDoc

func (m *Decl) GetDoc() string

func (*Decl) GetFunction

func (m *Decl) GetFunction() *FunctionDecl

func (*Decl) GetId

func (m *Decl) GetId() int32

func (*Decl) GetIdent

func (m *Decl) GetIdent() *IdentDecl

func (*Decl) GetKind

func (m *Decl) GetKind() isDecl_Kind

func (*Decl) GetName

func (m *Decl) GetName() string

func (*Decl) ProtoMessage

func (*Decl) ProtoMessage()

func (*Decl) Reset

func (m *Decl) Reset()

func (*Decl) String

func (m *Decl) String() string

func (*Decl) XXX_DiscardUnknown

func (m *Decl) XXX_DiscardUnknown()

func (*Decl) XXX_Marshal

func (m *Decl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Decl) XXX_Merge

func (m *Decl) XXX_Merge(src proto.Message)

func (*Decl) XXX_OneofWrappers

func (*Decl) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*Decl) XXX_Size

func (m *Decl) XXX_Size() int

func (*Decl) XXX_Unmarshal

func (m *Decl) XXX_Unmarshal(b []byte) error

type DeclType

type DeclType struct {
	// The expression id of the declared type, if applicable.
	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// The type name, e.g. 'int', 'my.type.Type' or 'T'
	Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
	// An ordered list of type parameters, e.g. `<string, int>`.
	// Only applies to a subset of types, e.g. `map`, `list`.
	TypeParams           []*DeclType `protobuf:"bytes,4,rep,name=type_params,json=typeParams,proto3" json:"type_params,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

The declared type of a variable.

Extends runtime type values with extra information used for type checking and dispatching.

func (*DeclType) Descriptor

func (*DeclType) Descriptor() ([]byte, []int)

func (*DeclType) GetId

func (m *DeclType) GetId() int32

func (*DeclType) GetType

func (m *DeclType) GetType() string

func (*DeclType) GetTypeParams

func (m *DeclType) GetTypeParams() []*DeclType

func (*DeclType) ProtoMessage

func (*DeclType) ProtoMessage()

func (*DeclType) Reset

func (m *DeclType) Reset()

func (*DeclType) String

func (m *DeclType) String() string

func (*DeclType) XXX_DiscardUnknown

func (m *DeclType) XXX_DiscardUnknown()

func (*DeclType) XXX_Marshal

func (m *DeclType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DeclType) XXX_Merge

func (m *DeclType) XXX_Merge(src proto.Message)

func (*DeclType) XXX_Size

func (m *DeclType) XXX_Size() int

func (*DeclType) XXX_Unmarshal

func (m *DeclType) XXX_Unmarshal(b []byte) error

type Decl_Function

type Decl_Function struct {
	Function *FunctionDecl `protobuf:"bytes,5,opt,name=function,proto3,oneof"`
}

type Decl_Ident

type Decl_Ident struct {
	Ident *IdentDecl `protobuf:"bytes,4,opt,name=ident,proto3,oneof"`
}

type EnumValue

type EnumValue struct {
	// The fully qualified name of the enum type.
	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	// The value of the enum.
	Value                int32    `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

An enum value.

func (*EnumValue) Descriptor

func (*EnumValue) Descriptor() ([]byte, []int)

func (*EnumValue) GetType

func (m *EnumValue) GetType() string

func (*EnumValue) GetValue

func (m *EnumValue) GetValue() int32

func (*EnumValue) ProtoMessage

func (*EnumValue) ProtoMessage()

func (*EnumValue) Reset

func (m *EnumValue) Reset()

func (*EnumValue) String

func (m *EnumValue) String() string

func (*EnumValue) XXX_DiscardUnknown

func (m *EnumValue) XXX_DiscardUnknown()

func (*EnumValue) XXX_Marshal

func (m *EnumValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EnumValue) XXX_Merge

func (m *EnumValue) XXX_Merge(src proto.Message)

func (*EnumValue) XXX_Size

func (m *EnumValue) XXX_Size() int

func (*EnumValue) XXX_Unmarshal

func (m *EnumValue) XXX_Unmarshal(b []byte) error

type ErrorSet

type ErrorSet struct {
	// The errors in the set.
	Errors               []*status.Status `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

A set of errors.

The errors included depend on the context. See `ExprValue.error`.

func (*ErrorSet) Descriptor

func (*ErrorSet) Descriptor() ([]byte, []int)

func (*ErrorSet) GetErrors

func (m *ErrorSet) GetErrors() []*status.Status

func (*ErrorSet) ProtoMessage

func (*ErrorSet) ProtoMessage()

func (*ErrorSet) Reset

func (m *ErrorSet) Reset()

func (*ErrorSet) String

func (m *ErrorSet) String() string

func (*ErrorSet) XXX_DiscardUnknown

func (m *ErrorSet) XXX_DiscardUnknown()

func (*ErrorSet) XXX_Marshal

func (m *ErrorSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ErrorSet) XXX_Merge

func (m *ErrorSet) XXX_Merge(src proto.Message)

func (*ErrorSet) XXX_Size

func (m *ErrorSet) XXX_Size() int

func (*ErrorSet) XXX_Unmarshal

func (m *ErrorSet) XXX_Unmarshal(b []byte) error

type EvalState

type EvalState struct {
	// The unique values referenced in this message.
	Values []*ExprValue `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
	// An ordered list of results.
	//
	// Tracks the flow of evaluation through the expression.
	// May be sparse.
	Results              []*EvalState_Result `protobuf:"bytes,3,rep,name=results,proto3" json:"results,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

The state of an evaluation.

Can represent an initial, partial, or completed state of evaluation.

func (*EvalState) Descriptor

func (*EvalState) Descriptor() ([]byte, []int)

func (*EvalState) GetResults

func (m *EvalState) GetResults() []*EvalState_Result

func (*EvalState) GetValues

func (m *EvalState) GetValues() []*ExprValue

func (*EvalState) ProtoMessage

func (*EvalState) ProtoMessage()

func (*EvalState) Reset

func (m *EvalState) Reset()

func (*EvalState) String

func (m *EvalState) String() string

func (*EvalState) XXX_DiscardUnknown

func (m *EvalState) XXX_DiscardUnknown()

func (*EvalState) XXX_Marshal

func (m *EvalState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EvalState) XXX_Merge

func (m *EvalState) XXX_Merge(src proto.Message)

func (*EvalState) XXX_Size

func (m *EvalState) XXX_Size() int

func (*EvalState) XXX_Unmarshal

func (m *EvalState) XXX_Unmarshal(b []byte) error

type EvalState_Result

type EvalState_Result struct {
	// The expression this result is for.
	Expr *IdRef `protobuf:"bytes,1,opt,name=expr,proto3" json:"expr,omitempty"`
	// The index in `values` of the resulting value.
	Value                int32    `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

A single evaluation result.

func (*EvalState_Result) Descriptor

func (*EvalState_Result) Descriptor() ([]byte, []int)

func (*EvalState_Result) GetExpr

func (m *EvalState_Result) GetExpr() *IdRef

func (*EvalState_Result) GetValue

func (m *EvalState_Result) GetValue() int32

func (*EvalState_Result) ProtoMessage

func (*EvalState_Result) ProtoMessage()

func (*EvalState_Result) Reset

func (m *EvalState_Result) Reset()

func (*EvalState_Result) String

func (m *EvalState_Result) String() string

func (*EvalState_Result) XXX_DiscardUnknown

func (m *EvalState_Result) XXX_DiscardUnknown()

func (*EvalState_Result) XXX_Marshal

func (m *EvalState_Result) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EvalState_Result) XXX_Merge

func (m *EvalState_Result) XXX_Merge(src proto.Message)

func (*EvalState_Result) XXX_Size

func (m *EvalState_Result) XXX_Size() int

func (*EvalState_Result) XXX_Unmarshal

func (m *EvalState_Result) XXX_Unmarshal(b []byte) error

type Expr

type Expr struct {
	// Required. An id assigned to this node by the parser which is unique in a
	// given expression tree. This is used to associate type information and other
	// attributes to a node in the parse tree.
	Id int32 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
	// Required. Variants of expressions.
	//
	// Types that are valid to be assigned to ExprKind:
	//	*Expr_LiteralExpr
	//	*Expr_IdentExpr
	//	*Expr_SelectExpr
	//	*Expr_CallExpr
	//	*Expr_ListExpr
	//	*Expr_StructExpr
	//	*Expr_ComprehensionExpr
	ExprKind             isExpr_ExprKind `protobuf_oneof:"expr_kind"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

An abstract representation of a common expression.

Expressions are abstractly represented as a collection of identifiers, select statements, function calls, literals, and comprehensions. All operators with the exception of the '.' operator are modelled as function calls. This makes it easy to represent new operators into the existing AST.

All references within expressions must resolve to a Decl[google.api.expr.v1beta1.Decl] provided at type-check for an expression to be valid. A reference may either be a bare identifier `name` or a qualified identifier `google.api.name`. References may either refer to a value or a function declaration.

For example, the expression `google.api.name.startsWith('expr')` references the declaration `google.api.name` within a [Expr.Select][google.api.expr.v1beta1.Expr.Select] expression, and the function declaration `startsWith`.

func (*Expr) Descriptor

func (*Expr) Descriptor() ([]byte, []int)

func (*Expr) GetCallExpr

func (m *Expr) GetCallExpr() *Expr_Call

func (*Expr) GetComprehensionExpr

func (m *Expr) GetComprehensionExpr() *Expr_Comprehension

func (*Expr) GetExprKind

func (m *Expr) GetExprKind() isExpr_ExprKind

func (*Expr) GetId

func (m *Expr) GetId() int32

func (*Expr) GetIdentExpr

func (m *Expr) GetIdentExpr() *Expr_Ident

func (*Expr) GetListExpr

func (m *Expr) GetListExpr() *Expr_CreateList

func (*Expr) GetLiteralExpr

func (m *Expr) GetLiteralExpr() *Literal

func (*Expr) GetSelectExpr

func (m *Expr) GetSelectExpr() *Expr_Select

func (*Expr) GetStructExpr

func (m *Expr) GetStructExpr() *Expr_CreateStruct

func (*Expr) ProtoMessage

func (*Expr) ProtoMessage()

func (*Expr) Reset

func (m *Expr) Reset()

func (*Expr) String

func (m *Expr) String() string

func (*Expr) XXX_DiscardUnknown

func (m *Expr) XXX_DiscardUnknown()

func (*Expr) XXX_Marshal

func (m *Expr) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Expr) XXX_Merge

func (m *Expr) XXX_Merge(src proto.Message)

func (*Expr) XXX_OneofWrappers

func (*Expr) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*Expr) XXX_Size

func (m *Expr) XXX_Size() int

func (*Expr) XXX_Unmarshal

func (m *Expr) XXX_Unmarshal(b []byte) error

type ExprValue

type ExprValue struct {
	// An expression can resolve to a value, error or unknown.
	//
	// Types that are valid to be assigned to Kind:
	//	*ExprValue_Value
	//	*ExprValue_Error
	//	*ExprValue_Unknown
	Kind                 isExprValue_Kind `protobuf_oneof:"kind"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

The value of an evaluated expression.

func (*ExprValue) Descriptor

func (*ExprValue) Descriptor() ([]byte, []int)

func (*ExprValue) GetError

func (m *ExprValue) GetError() *ErrorSet

func (*ExprValue) GetKind

func (m *ExprValue) GetKind() isExprValue_Kind

func (*ExprValue) GetUnknown

func (m *ExprValue) GetUnknown() *UnknownSet

func (*ExprValue) GetValue

func (m *ExprValue) GetValue() *Value

func (*ExprValue) ProtoMessage

func (*ExprValue) ProtoMessage()

func (*ExprValue) Reset

func (m *ExprValue) Reset()

func (*ExprValue) String

func (m *ExprValue) String() string

func (*ExprValue) XXX_DiscardUnknown

func (m *ExprValue) XXX_DiscardUnknown()

func (*ExprValue) XXX_Marshal

func (m *ExprValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ExprValue) XXX_Merge

func (m *ExprValue) XXX_Merge(src proto.Message)

func (*ExprValue) XXX_OneofWrappers

func (*ExprValue) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*ExprValue) XXX_Size

func (m *ExprValue) XXX_Size() int

func (*ExprValue) XXX_Unmarshal

func (m *ExprValue) XXX_Unmarshal(b []byte) error

type ExprValue_Error

type ExprValue_Error struct {
	Error *ErrorSet `protobuf:"bytes,2,opt,name=error,proto3,oneof"`
}

type ExprValue_Unknown

type ExprValue_Unknown struct {
	Unknown *UnknownSet `protobuf:"bytes,3,opt,name=unknown,proto3,oneof"`
}

type ExprValue_Value

type ExprValue_Value struct {
	Value *Value `protobuf:"bytes,1,opt,name=value,proto3,oneof"`
}

type Expr_Call

type Expr_Call struct {
	// The target of an method call-style expression. For example, `x` in
	// `x.f()`.
	Target *Expr `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	// Required. The name of the function or method being called.
	Function string `protobuf:"bytes,2,opt,name=function,proto3" json:"function,omitempty"`
	// The arguments.
	Args                 []*Expr  `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

A call expression, including calls to predefined functions and operators.

For example, `value == 10`, `size(map_value)`.

func (*Expr_Call) Descriptor

func (*Expr_Call) Descriptor() ([]byte, []int)

func (*Expr_Call) GetArgs

func (m *Expr_Call) GetArgs() []*Expr

func (*Expr_Call) GetFunction

func (m *Expr_Call) GetFunction() string

func (*Expr_Call) GetTarget

func (m *Expr_Call) GetTarget() *Expr

func (*Expr_Call) ProtoMessage

func (*Expr_Call) ProtoMessage()

func (*Expr_Call) Reset

func (m *Expr_Call) Reset()

func (*Expr_Call) String

func (m *Expr_Call) String() string

func (*Expr_Call) XXX_DiscardUnknown

func (m *Expr_Call) XXX_DiscardUnknown()

func (*Expr_Call) XXX_Marshal

func (m *Expr_Call) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Expr_Call) XXX_Merge

func (m *Expr_Call) XXX_Merge(src proto.Message)

func (*Expr_Call) XXX_Size

func (m *Expr_Call) XXX_Size() int

func (*Expr_Call) XXX_Unmarshal

func (m *Expr_Call) XXX_Unmarshal(b []byte) error

type Expr_CallExpr

type Expr_CallExpr struct {
	CallExpr *Expr_Call `protobuf:"bytes,6,opt,name=call_expr,json=callExpr,proto3,oneof"`
}

type Expr_Comprehension

type Expr_Comprehension struct {
	// The name of the iteration variable.
	IterVar string `protobuf:"bytes,1,opt,name=iter_var,json=iterVar,proto3" json:"iter_var,omitempty"`
	// The range over which var iterates.
	IterRange *Expr `protobuf:"bytes,2,opt,name=iter_range,json=iterRange,proto3" json:"iter_range,omitempty"`
	// The name of the variable used for accumulation of the result.
	AccuVar string `protobuf:"bytes,3,opt,name=accu_var,json=accuVar,proto3" json:"accu_var,omitempty"`
	// The initial value of the accumulator.
	AccuInit *Expr `protobuf:"bytes,4,opt,name=accu_init,json=accuInit,proto3" json:"accu_init,omitempty"`
	// An expression which can contain iter_var and accu_var.
	//
	// Returns false when the result has been computed and may be used as
	// a hint to short-circuit the remainder of the comprehension.
	LoopCondition *Expr `protobuf:"bytes,5,opt,name=loop_condition,json=loopCondition,proto3" json:"loop_condition,omitempty"`
	// An expression which can contain iter_var and accu_var.
	//
	// Computes the next value of accu_var.
	LoopStep *Expr `protobuf:"bytes,6,opt,name=loop_step,json=loopStep,proto3" json:"loop_step,omitempty"`
	// An expression which can contain accu_var.
	//
	// Computes the result.
	Result               *Expr    `protobuf:"bytes,7,opt,name=result,proto3" json:"result,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

A comprehension expression applied to a list or map.

Comprehensions are not part of the core syntax, but enabled with macros. A macro matches a specific call signature within a parsed AST and replaces the call with an alternate AST block. Macro expansion happens at parse time.

The following macros are supported within CEL:

Aggregate type macros may be applied to all elements in a list or all keys in a map:

  • `all`, `exists`, `exists_one` - test a predicate expression against the inputs and return `true` if the predicate is satisfied for all, any, or only one value `list.all(x, x < 10)`.
  • `filter` - test a predicate expression against the inputs and return the subset of elements which satisfy the predicate: `payments.filter(p, p > 1000)`.
  • `map` - apply an expression to all elements in the input and return the output aggregate type: `[1, 2, 3].map(i, i * i)`.

The `has(m.x)` macro tests whether the property `x` is present in struct `m`. The semantics of this macro depend on the type of `m`. For proto2 messages `has(m.x)` is defined as 'defined, but not set`. For proto3, the macro tests whether the property is set to its default. For map and struct types, the macro tests whether the property `x` is defined on `m`.

func (*Expr_Comprehension) Descriptor

func (*Expr_Comprehension) Descriptor() ([]byte, []int)

func (*Expr_Comprehension) GetAccuInit

func (m *Expr_Comprehension) GetAccuInit() *Expr

func (*Expr_Comprehension) GetAccuVar

func (m *Expr_Comprehension) GetAccuVar() string

func (*Expr_Comprehension) GetIterRange

func (m *Expr_Comprehension) GetIterRange() *Expr

func (*Expr_Comprehension) GetIterVar

func (m *Expr_Comprehension) GetIterVar() string

func (*Expr_Comprehension) GetLoopCondition

func (m *Expr_Comprehension) GetLoopCondition() *Expr

func (*Expr_Comprehension) GetLoopStep

func (m *Expr_Comprehension) GetLoopStep() *Expr

func (*Expr_Comprehension) GetResult

func (m *Expr_Comprehension) GetResult() *Expr

func (*Expr_Comprehension) ProtoMessage

func (*Expr_Comprehension) ProtoMessage()

func (*Expr_Comprehension) Reset

func (m *Expr_Comprehension) Reset()

func (*Expr_Comprehension) String

func (m *Expr_Comprehension) String() string

func (*Expr_Comprehension) XXX_DiscardUnknown

func (m *Expr_Comprehension) XXX_DiscardUnknown()

func (*Expr_Comprehension) XXX_Marshal

func (m *Expr_Comprehension) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Expr_Comprehension) XXX_Merge

func (m *Expr_Comprehension) XXX_Merge(src proto.Message)

func (*Expr_Comprehension) XXX_Size

func (m *Expr_Comprehension) XXX_Size() int

func (*Expr_Comprehension) XXX_Unmarshal

func (m *Expr_Comprehension) XXX_Unmarshal(b []byte) error

type Expr_ComprehensionExpr

type Expr_ComprehensionExpr struct {
	ComprehensionExpr *Expr_Comprehension `protobuf:"bytes,9,opt,name=comprehension_expr,json=comprehensionExpr,proto3,oneof"`
}

type Expr_CreateList

type Expr_CreateList struct {
	// The elements part of the list.
	Elements             []*Expr  `protobuf:"bytes,1,rep,name=elements,proto3" json:"elements,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

A list creation expression.

Lists may either be homogenous, e.g. `[1, 2, 3]`, or heterogenous, e.g. `dyn([1, 'hello', 2.0])`

func (*Expr_CreateList) Descriptor

func (*Expr_CreateList) Descriptor() ([]byte, []int)

func (*Expr_CreateList) GetElements

func (m *Expr_CreateList) GetElements() []*Expr

func (*Expr_CreateList) ProtoMessage

func (*Expr_CreateList) ProtoMessage()

func (*Expr_CreateList) Reset

func (m *Expr_CreateList) Reset()

func (*Expr_CreateList) String

func (m *Expr_CreateList) String() string

func (*Expr_CreateList) XXX_DiscardUnknown

func (m *Expr_CreateList) XXX_DiscardUnknown()

func (*Expr_CreateList) XXX_Marshal

func (m *Expr_CreateList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Expr_CreateList) XXX_Merge

func (m *Expr_CreateList) XXX_Merge(src proto.Message)

func (*Expr_CreateList) XXX_Size

func (m *Expr_CreateList) XXX_Size() int

func (*Expr_CreateList) XXX_Unmarshal

func (m *Expr_CreateList) XXX_Unmarshal(b []byte) error

type Expr_CreateStruct

type Expr_CreateStruct struct {
	// The type name of the message to be created, empty when creating map
	// literals.
	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	// The entries in the creation expression.
	Entries              []*Expr_CreateStruct_Entry `protobuf:"bytes,2,rep,name=entries,proto3" json:"entries,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

A map or message creation expression.

Maps are constructed as `{'key_name': 'value'}`. Message construction is similar, but prefixed with a type name and composed of field ids: `types.MyType{field_id: 'value'}`.

func (*Expr_CreateStruct) Descriptor

func (*Expr_CreateStruct) Descriptor() ([]byte, []int)

func (*Expr_CreateStruct) GetEntries

func (m *Expr_CreateStruct) GetEntries() []*Expr_CreateStruct_Entry

func (*Expr_CreateStruct) GetType

func (m *Expr_CreateStruct) GetType() string

func (*Expr_CreateStruct) ProtoMessage

func (*Expr_CreateStruct) ProtoMessage()

func (*Expr_CreateStruct) Reset

func (m *Expr_CreateStruct) Reset()

func (*Expr_CreateStruct) String

func (m *Expr_CreateStruct) String() string

func (*Expr_CreateStruct) XXX_DiscardUnknown

func (m *Expr_CreateStruct) XXX_DiscardUnknown()

func (*Expr_CreateStruct) XXX_Marshal

func (m *Expr_CreateStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Expr_CreateStruct) XXX_Merge

func (m *Expr_CreateStruct) XXX_Merge(src proto.Message)

func (*Expr_CreateStruct) XXX_Size

func (m *Expr_CreateStruct) XXX_Size() int

func (*Expr_CreateStruct) XXX_Unmarshal

func (m *Expr_CreateStruct) XXX_Unmarshal(b []byte) error

type Expr_CreateStruct_Entry

type Expr_CreateStruct_Entry struct {
	// Required. An id assigned to this node by the parser which is unique
	// in a given expression tree. This is used to associate type
	// information and other attributes to the node.
	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// The `Entry` key kinds.
	//
	// Types that are valid to be assigned to KeyKind:
	//	*Expr_CreateStruct_Entry_FieldKey
	//	*Expr_CreateStruct_Entry_MapKey
	KeyKind isExpr_CreateStruct_Entry_KeyKind `protobuf_oneof:"key_kind"`
	// Required. The value assigned to the key.
	Value                *Expr    `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Represents an entry.

func (*Expr_CreateStruct_Entry) Descriptor

func (*Expr_CreateStruct_Entry) Descriptor() ([]byte, []int)

func (*Expr_CreateStruct_Entry) GetFieldKey

func (m *Expr_CreateStruct_Entry) GetFieldKey() string

func (*Expr_CreateStruct_Entry) GetId

func (m *Expr_CreateStruct_Entry) GetId() int32

func (*Expr_CreateStruct_Entry) GetKeyKind

func (m *Expr_CreateStruct_Entry) GetKeyKind() isExpr_CreateStruct_Entry_KeyKind

func (*Expr_CreateStruct_Entry) GetMapKey

func (m *Expr_CreateStruct_Entry) GetMapKey() *Expr

func (*Expr_CreateStruct_Entry) GetValue

func (m *Expr_CreateStruct_Entry) GetValue() *Expr

func (*Expr_CreateStruct_Entry) ProtoMessage

func (*Expr_CreateStruct_Entry) ProtoMessage()

func (*Expr_CreateStruct_Entry) Reset

func (m *Expr_CreateStruct_Entry) Reset()

func (*Expr_CreateStruct_Entry) String

func (m *Expr_CreateStruct_Entry) String() string

func (*Expr_CreateStruct_Entry) XXX_DiscardUnknown

func (m *Expr_CreateStruct_Entry) XXX_DiscardUnknown()

func (*Expr_CreateStruct_Entry) XXX_Marshal

func (m *Expr_CreateStruct_Entry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Expr_CreateStruct_Entry) XXX_Merge

func (m *Expr_CreateStruct_Entry) XXX_Merge(src proto.Message)

func (*Expr_CreateStruct_Entry) XXX_OneofWrappers

func (*Expr_CreateStruct_Entry) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*Expr_CreateStruct_Entry) XXX_Size

func (m *Expr_CreateStruct_Entry) XXX_Size() int

func (*Expr_CreateStruct_Entry) XXX_Unmarshal

func (m *Expr_CreateStruct_Entry) XXX_Unmarshal(b []byte) error

type Expr_CreateStruct_Entry_FieldKey

type Expr_CreateStruct_Entry_FieldKey struct {
	FieldKey string `protobuf:"bytes,2,opt,name=field_key,json=fieldKey,proto3,oneof"`
}

type Expr_CreateStruct_Entry_MapKey

type Expr_CreateStruct_Entry_MapKey struct {
	MapKey *Expr `protobuf:"bytes,3,opt,name=map_key,json=mapKey,proto3,oneof"`
}

type Expr_Ident

type Expr_Ident struct {
	// Required. Holds a single, unqualified identifier, possibly preceded by a
	// '.'.
	//
	// Qualified names are represented by the [Expr.Select][google.api.expr.v1beta1.Expr.Select] expression.
	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

An identifier expression. e.g. `request`.

func (*Expr_Ident) Descriptor

func (*Expr_Ident) Descriptor() ([]byte, []int)

func (*Expr_Ident) GetName

func (m *Expr_Ident) GetName() string

func (*Expr_Ident) ProtoMessage

func (*Expr_Ident) ProtoMessage()

func (*Expr_Ident) Reset

func (m *Expr_Ident) Reset()

func (*Expr_Ident) String

func (m *Expr_Ident) String() string

func (*Expr_Ident) XXX_DiscardUnknown

func (m *Expr_Ident) XXX_DiscardUnknown()

func (*Expr_Ident) XXX_Marshal

func (m *Expr_Ident) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Expr_Ident) XXX_Merge

func (m *Expr_Ident) XXX_Merge(src proto.Message)

func (*Expr_Ident) XXX_Size

func (m *Expr_Ident) XXX_Size() int

func (*Expr_Ident) XXX_Unmarshal

func (m *Expr_Ident) XXX_Unmarshal(b []byte) error

type Expr_IdentExpr

type Expr_IdentExpr struct {
	IdentExpr *Expr_Ident `protobuf:"bytes,4,opt,name=ident_expr,json=identExpr,proto3,oneof"`
}

type Expr_ListExpr

type Expr_ListExpr struct {
	ListExpr *Expr_CreateList `protobuf:"bytes,7,opt,name=list_expr,json=listExpr,proto3,oneof"`
}

type Expr_LiteralExpr

type Expr_LiteralExpr struct {
	LiteralExpr *Literal `protobuf:"bytes,3,opt,name=literal_expr,json=literalExpr,proto3,oneof"`
}

type Expr_Select

type Expr_Select struct {
	// Required. The target of the selection expression.
	//
	// For example, in the select expression `request.auth`, the `request`
	// portion of the expression is the `operand`.
	Operand *Expr `protobuf:"bytes,1,opt,name=operand,proto3" json:"operand,omitempty"`
	// Required. The name of the field to select.
	//
	// For example, in the select expression `request.auth`, the `auth` portion
	// of the expression would be the `field`.
	Field string `protobuf:"bytes,2,opt,name=field,proto3" json:"field,omitempty"`
	// Whether the select is to be interpreted as a field presence test.
	//
	// This results from the macro `has(request.auth)`.
	TestOnly             bool     `protobuf:"varint,3,opt,name=test_only,json=testOnly,proto3" json:"test_only,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

A field selection expression. e.g. `request.auth`.

func (*Expr_Select) Descriptor

func (*Expr_Select) Descriptor() ([]byte, []int)

func (*Expr_Select) GetField

func (m *Expr_Select) GetField() string

func (*Expr_Select) GetOperand

func (m *Expr_Select) GetOperand() *Expr

func (*Expr_Select) GetTestOnly

func (m *Expr_Select) GetTestOnly() bool

func (*Expr_Select) ProtoMessage

func (*Expr_Select) ProtoMessage()

func (*Expr_Select) Reset

func (m *Expr_Select) Reset()

func (*Expr_Select) String

func (m *Expr_Select) String() string

func (*Expr_Select) XXX_DiscardUnknown

func (m *Expr_Select) XXX_DiscardUnknown()

func (*Expr_Select) XXX_Marshal

func (m *Expr_Select) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Expr_Select) XXX_Merge

func (m *Expr_Select) XXX_Merge(src proto.Message)

func (*Expr_Select) XXX_Size

func (m *Expr_Select) XXX_Size() int

func (*Expr_Select) XXX_Unmarshal

func (m *Expr_Select) XXX_Unmarshal(b []byte) error

type Expr_SelectExpr

type Expr_SelectExpr struct {
	SelectExpr *Expr_Select `protobuf:"bytes,5,opt,name=select_expr,json=selectExpr,proto3,oneof"`
}

type Expr_StructExpr

type Expr_StructExpr struct {
	StructExpr *Expr_CreateStruct `protobuf:"bytes,8,opt,name=struct_expr,json=structExpr,proto3,oneof"`
}

type FunctionDecl

type FunctionDecl struct {
	// The function arguments.
	Args []*IdentDecl `protobuf:"bytes,1,rep,name=args,proto3" json:"args,omitempty"`
	// Optional declared return type.
	ReturnType *DeclType `protobuf:"bytes,2,opt,name=return_type,json=returnType,proto3" json:"return_type,omitempty"`
	// If the first argument of the function is the receiver.
	ReceiverFunction     bool     `protobuf:"varint,3,opt,name=receiver_function,json=receiverFunction,proto3" json:"receiver_function,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

A function declaration.

func (*FunctionDecl) Descriptor

func (*FunctionDecl) Descriptor() ([]byte, []int)

func (*FunctionDecl) GetArgs

func (m *FunctionDecl) GetArgs() []*IdentDecl

func (*FunctionDecl) GetReceiverFunction

func (m *FunctionDecl) GetReceiverFunction() bool

func (*FunctionDecl) GetReturnType

func (m *FunctionDecl) GetReturnType() *DeclType

func (*FunctionDecl) ProtoMessage

func (*FunctionDecl) ProtoMessage()

func (*FunctionDecl) Reset

func (m *FunctionDecl) Reset()

func (*FunctionDecl) String

func (m *FunctionDecl) String() string

func (*FunctionDecl) XXX_DiscardUnknown

func (m *FunctionDecl) XXX_DiscardUnknown()

func (*FunctionDecl) XXX_Marshal

func (m *FunctionDecl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*FunctionDecl) XXX_Merge

func (m *FunctionDecl) XXX_Merge(src proto.Message)

func (*FunctionDecl) XXX_Size

func (m *FunctionDecl) XXX_Size() int

func (*FunctionDecl) XXX_Unmarshal

func (m *FunctionDecl) XXX_Unmarshal(b []byte) error

type IdRef

type IdRef struct {
	// The expression id.
	Id                   int32    `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

A reference to an expression id.

func (*IdRef) Descriptor

func (*IdRef) Descriptor() ([]byte, []int)

func (*IdRef) GetId

func (m *IdRef) GetId() int32

func (*IdRef) ProtoMessage

func (*IdRef) ProtoMessage()

func (*IdRef) Reset

func (m *IdRef) Reset()

func (*IdRef) String

func (m *IdRef) String() string

func (*IdRef) XXX_DiscardUnknown

func (m *IdRef) XXX_DiscardUnknown()

func (*IdRef) XXX_Marshal

func (m *IdRef) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*IdRef) XXX_Merge

func (m *IdRef) XXX_Merge(src proto.Message)

func (*IdRef) XXX_Size

func (m *IdRef) XXX_Size() int

func (*IdRef) XXX_Unmarshal

func (m *IdRef) XXX_Unmarshal(b []byte) error

type IdentDecl

type IdentDecl struct {
	// Optional type of the identifier.
	Type *DeclType `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
	// Optional value of the identifier.
	Value                *Expr    `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

An identifier declaration.

func (*IdentDecl) Descriptor

func (*IdentDecl) Descriptor() ([]byte, []int)

func (*IdentDecl) GetType

func (m *IdentDecl) GetType() *DeclType

func (*IdentDecl) GetValue

func (m *IdentDecl) GetValue() *Expr

func (*IdentDecl) ProtoMessage

func (*IdentDecl) ProtoMessage()

func (*IdentDecl) Reset

func (m *IdentDecl) Reset()

func (*IdentDecl) String

func (m *IdentDecl) String() string

func (*IdentDecl) XXX_DiscardUnknown

func (m *IdentDecl) XXX_DiscardUnknown()

func (*IdentDecl) XXX_Marshal

func (m *IdentDecl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*IdentDecl) XXX_Merge

func (m *IdentDecl) XXX_Merge(src proto.Message)

func (*IdentDecl) XXX_Size

func (m *IdentDecl) XXX_Size() int

func (*IdentDecl) XXX_Unmarshal

func (m *IdentDecl) XXX_Unmarshal(b []byte) error

type ListValue

type ListValue struct {
	// The ordered values in the list.
	Values               []*Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

A list.

Wrapped in a message so 'not set' and empty can be differentiated, which is required for use in a 'oneof'.

func (*ListValue) Descriptor

func (*ListValue) Descriptor() ([]byte, []int)

func (*ListValue) GetValues

func (m *ListValue) GetValues() []*Value

func (*ListValue) ProtoMessage

func (*ListValue) ProtoMessage()

func (*ListValue) Reset

func (m *ListValue) Reset()

func (*ListValue) String

func (m *ListValue) String() string

func (*ListValue) XXX_DiscardUnknown

func (m *ListValue) XXX_DiscardUnknown()

func (*ListValue) XXX_Marshal

func (m *ListValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ListValue) XXX_Merge

func (m *ListValue) XXX_Merge(src proto.Message)

func (*ListValue) XXX_Size

func (m *ListValue) XXX_Size() int

func (*ListValue) XXX_Unmarshal

func (m *ListValue) XXX_Unmarshal(b []byte) error

type Literal

type Literal struct {
	// Required. The valid constant kinds.
	//
	// Types that are valid to be assigned to ConstantKind:
	//	*Literal_NullValue
	//	*Literal_BoolValue
	//	*Literal_Int64Value
	//	*Literal_Uint64Value
	//	*Literal_DoubleValue
	//	*Literal_StringValue
	//	*Literal_BytesValue
	ConstantKind         isLiteral_ConstantKind `protobuf_oneof:"constant_kind"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

Represents a primitive literal.

This is similar to the primitives supported in the well-known type `google.protobuf.Value`, but richer so it can represent CEL's full range of primitives.

Lists and structs are not included as constants as these aggregate types may contain Expr[google.api.expr.v1beta1.Expr] elements which require evaluation and are thus not constant.

Examples of literals include: `"hello"`, `b'bytes'`, `1u`, `4.2`, `-2`, `true`, `null`.

func (*Literal) Descriptor

func (*Literal) Descriptor() ([]byte, []int)

func (*Literal) GetBoolValue

func (m *Literal) GetBoolValue() bool

func (*Literal) GetBytesValue

func (m *Literal) GetBytesValue() []byte

func (*Literal) GetConstantKind

func (m *Literal) GetConstantKind() isLiteral_ConstantKind

func (*Literal) GetDoubleValue

func (m *Literal) GetDoubleValue() float64

func (*Literal) GetInt64Value

func (m *Literal) GetInt64Value() int64

func (*Literal) GetNullValue

func (m *Literal) GetNullValue() _struct.NullValue

func (*Literal) GetStringValue

func (m *Literal) GetStringValue() string

func (*Literal) GetUint64Value

func (m *Literal) GetUint64Value() uint64

func (*Literal) ProtoMessage

func (*Literal) ProtoMessage()

func (*Literal) Reset

func (m *Literal) Reset()

func (*Literal) String

func (m *Literal) String() string

func (*Literal) XXX_DiscardUnknown

func (m *Literal) XXX_DiscardUnknown()

func (*Literal) XXX_Marshal

func (m *Literal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Literal) XXX_Merge

func (m *Literal) XXX_Merge(src proto.Message)

func (*Literal) XXX_OneofWrappers

func (*Literal) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*Literal) XXX_Size

func (m *Literal) XXX_Size() int

func (*Literal) XXX_Unmarshal

func (m *Literal) XXX_Unmarshal(b []byte) error

type Literal_BoolValue

type Literal_BoolValue struct {
	BoolValue bool `protobuf:"varint,2,opt,name=bool_value,json=boolValue,proto3,oneof"`
}

type Literal_BytesValue

type Literal_BytesValue struct {
	BytesValue []byte `protobuf:"bytes,7,opt,name=bytes_value,json=bytesValue,proto3,oneof"`
}

type Literal_DoubleValue

type Literal_DoubleValue struct {
	DoubleValue float64 `protobuf:"fixed64,5,opt,name=double_value,json=doubleValue,proto3,oneof"`
}

type Literal_Int64Value

type Literal_Int64Value struct {
	Int64Value int64 `protobuf:"varint,3,opt,name=int64_value,json=int64Value,proto3,oneof"`
}

type Literal_NullValue

type Literal_NullValue struct {
	NullValue _struct.NullValue `protobuf:"varint,1,opt,name=null_value,json=nullValue,proto3,enum=google.protobuf.NullValue,oneof"`
}

type Literal_StringValue

type Literal_StringValue struct {
	StringValue string `protobuf:"bytes,6,opt,name=string_value,json=stringValue,proto3,oneof"`
}

type Literal_Uint64Value

type Literal_Uint64Value struct {
	Uint64Value uint64 `protobuf:"varint,4,opt,name=uint64_value,json=uint64Value,proto3,oneof"`
}

type MapValue

type MapValue struct {
	// The set of map entries.
	//
	// CEL has fewer restrictions on keys, so a protobuf map represenation
	// cannot be used.
	Entries              []*MapValue_Entry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

A map.

Wrapped in a message so 'not set' and empty can be differentiated, which is required for use in a 'oneof'.

func (*MapValue) Descriptor

func (*MapValue) Descriptor() ([]byte, []int)

func (*MapValue) GetEntries

func (m *MapValue) GetEntries() []*MapValue_Entry

func (*MapValue) ProtoMessage

func (*MapValue) ProtoMessage()

func (*MapValue) Reset

func (m *MapValue) Reset()

func (*MapValue) String

func (m *MapValue) String() string

func (*MapValue) XXX_DiscardUnknown

func (m *MapValue) XXX_DiscardUnknown()

func (*MapValue) XXX_Marshal

func (m *MapValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MapValue) XXX_Merge

func (m *MapValue) XXX_Merge(src proto.Message)

func (*MapValue) XXX_Size

func (m *MapValue) XXX_Size() int

func (*MapValue) XXX_Unmarshal

func (m *MapValue) XXX_Unmarshal(b []byte) error

type MapValue_Entry

type MapValue_Entry struct {
	// The key.
	//
	// Must be unique with in the map.
	// Currently only boolean, int, uint, and string values can be keys.
	Key *Value `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// The value.
	Value                *Value   `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

An entry in the map.

func (*MapValue_Entry) Descriptor

func (*MapValue_Entry) Descriptor() ([]byte, []int)

func (*MapValue_Entry) GetKey

func (m *MapValue_Entry) GetKey() *Value

func (*MapValue_Entry) GetValue

func (m *MapValue_Entry) GetValue() *Value

func (*MapValue_Entry) ProtoMessage

func (*MapValue_Entry) ProtoMessage()

func (*MapValue_Entry) Reset

func (m *MapValue_Entry) Reset()

func (*MapValue_Entry) String

func (m *MapValue_Entry) String() string

func (*MapValue_Entry) XXX_DiscardUnknown

func (m *MapValue_Entry) XXX_DiscardUnknown()

func (*MapValue_Entry) XXX_Marshal

func (m *MapValue_Entry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MapValue_Entry) XXX_Merge

func (m *MapValue_Entry) XXX_Merge(src proto.Message)

func (*MapValue_Entry) XXX_Size

func (m *MapValue_Entry) XXX_Size() int

func (*MapValue_Entry) XXX_Unmarshal

func (m *MapValue_Entry) XXX_Unmarshal(b []byte) error

type ParsedExpr

type ParsedExpr struct {
	// The parsed expression.
	Expr *Expr `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"`
	// The source info derived from input that generated the parsed `expr`.
	SourceInfo *SourceInfo `protobuf:"bytes,3,opt,name=source_info,json=sourceInfo,proto3" json:"source_info,omitempty"`
	// The syntax version of the source, e.g. `cel1`.
	SyntaxVersion        string   `protobuf:"bytes,4,opt,name=syntax_version,json=syntaxVersion,proto3" json:"syntax_version,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

An expression together with source information as returned by the parser.

func (*ParsedExpr) Descriptor

func (*ParsedExpr) Descriptor() ([]byte, []int)

func (*ParsedExpr) GetExpr

func (m *ParsedExpr) GetExpr() *Expr

func (*ParsedExpr) GetSourceInfo

func (m *ParsedExpr) GetSourceInfo() *SourceInfo

func (*ParsedExpr) GetSyntaxVersion

func (m *ParsedExpr) GetSyntaxVersion() string

func (*ParsedExpr) ProtoMessage

func (*ParsedExpr) ProtoMessage()

func (*ParsedExpr) Reset

func (m *ParsedExpr) Reset()

func (*ParsedExpr) String

func (m *ParsedExpr) String() string

func (*ParsedExpr) XXX_DiscardUnknown

func (m *ParsedExpr) XXX_DiscardUnknown()

func (*ParsedExpr) XXX_Marshal

func (m *ParsedExpr) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ParsedExpr) XXX_Merge

func (m *ParsedExpr) XXX_Merge(src proto.Message)

func (*ParsedExpr) XXX_Size

func (m *ParsedExpr) XXX_Size() int

func (*ParsedExpr) XXX_Unmarshal

func (m *ParsedExpr) XXX_Unmarshal(b []byte) error

type SourceInfo

type SourceInfo struct {
	// The location name. All position information attached to an expression is
	// relative to this location.
	//
	// The location could be a file, UI element, or similar. For example,
	// `acme/app/AnvilPolicy.cel`.
	Location string `protobuf:"bytes,2,opt,name=location,proto3" json:"location,omitempty"`
	// Monotonically increasing list of character offsets where newlines appear.
	//
	// The line number of a given position is the index `i` where for a given
	// `id` the `line_offsets[i] < id_positions[id] < line_offsets[i+1]`. The
	// column may be derivd from `id_positions[id] - line_offsets[i]`.
	LineOffsets []int32 `protobuf:"varint,3,rep,packed,name=line_offsets,json=lineOffsets,proto3" json:"line_offsets,omitempty"`
	// A map from the parse node id (e.g. `Expr.id`) to the character offset
	// within source.
	Positions            map[int32]int32 `` /* 161-byte string literal not displayed */
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

Source information collected at parse time.

func (*SourceInfo) Descriptor

func (*SourceInfo) Descriptor() ([]byte, []int)

func (*SourceInfo) GetLineOffsets

func (m *SourceInfo) GetLineOffsets() []int32

func (*SourceInfo) GetLocation

func (m *SourceInfo) GetLocation() string

func (*SourceInfo) GetPositions

func (m *SourceInfo) GetPositions() map[int32]int32

func (*SourceInfo) ProtoMessage

func (*SourceInfo) ProtoMessage()

func (*SourceInfo) Reset

func (m *SourceInfo) Reset()

func (*SourceInfo) String

func (m *SourceInfo) String() string

func (*SourceInfo) XXX_DiscardUnknown

func (m *SourceInfo) XXX_DiscardUnknown()

func (*SourceInfo) XXX_Marshal

func (m *SourceInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SourceInfo) XXX_Merge

func (m *SourceInfo) XXX_Merge(src proto.Message)

func (*SourceInfo) XXX_Size

func (m *SourceInfo) XXX_Size() int

func (*SourceInfo) XXX_Unmarshal

func (m *SourceInfo) XXX_Unmarshal(b []byte) error

type SourcePosition

type SourcePosition struct {
	// The soucre location name (e.g. file name).
	Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"`
	// The character offset.
	Offset int32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
	// The 1-based index of the starting line in the source text
	// where the issue occurs, or 0 if unknown.
	Line int32 `protobuf:"varint,3,opt,name=line,proto3" json:"line,omitempty"`
	// The 0-based index of the starting position within the line of source text
	// where the issue occurs.  Only meaningful if line is nonzer..
	Column               int32    `protobuf:"varint,4,opt,name=column,proto3" json:"column,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

A specific position in source.

func (*SourcePosition) Descriptor

func (*SourcePosition) Descriptor() ([]byte, []int)

func (*SourcePosition) GetColumn

func (m *SourcePosition) GetColumn() int32

func (*SourcePosition) GetLine

func (m *SourcePosition) GetLine() int32

func (*SourcePosition) GetLocation

func (m *SourcePosition) GetLocation() string

func (*SourcePosition) GetOffset

func (m *SourcePosition) GetOffset() int32

func (*SourcePosition) ProtoMessage

func (*SourcePosition) ProtoMessage()

func (*SourcePosition) Reset

func (m *SourcePosition) Reset()

func (*SourcePosition) String

func (m *SourcePosition) String() string

func (*SourcePosition) XXX_DiscardUnknown

func (m *SourcePosition) XXX_DiscardUnknown()

func (*SourcePosition) XXX_Marshal

func (m *SourcePosition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SourcePosition) XXX_Merge

func (m *SourcePosition) XXX_Merge(src proto.Message)

func (*SourcePosition) XXX_Size

func (m *SourcePosition) XXX_Size() int

func (*SourcePosition) XXX_Unmarshal

func (m *SourcePosition) XXX_Unmarshal(b []byte) error

type UnknownSet

type UnknownSet struct {
	// The ids of the expressions with unknown values.
	Exprs                []*IdRef `protobuf:"bytes,1,rep,name=exprs,proto3" json:"exprs,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

A set of expressions for which the value is unknown.

The unknowns included depend on the context. See `ExprValue.unknown`.

func (*UnknownSet) Descriptor

func (*UnknownSet) Descriptor() ([]byte, []int)

func (*UnknownSet) GetExprs

func (m *UnknownSet) GetExprs() []*IdRef

func (*UnknownSet) ProtoMessage

func (*UnknownSet) ProtoMessage()

func (*UnknownSet) Reset

func (m *UnknownSet) Reset()

func (*UnknownSet) String

func (m *UnknownSet) String() string

func (*UnknownSet) XXX_DiscardUnknown

func (m *UnknownSet) XXX_DiscardUnknown()

func (*UnknownSet) XXX_Marshal

func (m *UnknownSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*UnknownSet) XXX_Merge

func (m *UnknownSet) XXX_Merge(src proto.Message)

func (*UnknownSet) XXX_Size

func (m *UnknownSet) XXX_Size() int

func (*UnknownSet) XXX_Unmarshal

func (m *UnknownSet) XXX_Unmarshal(b []byte) error

type Value

type Value struct {
	// Required. The valid kinds of values.
	//
	// Types that are valid to be assigned to Kind:
	//	*Value_NullValue
	//	*Value_BoolValue
	//	*Value_Int64Value
	//	*Value_Uint64Value
	//	*Value_DoubleValue
	//	*Value_StringValue
	//	*Value_BytesValue
	//	*Value_EnumValue
	//	*Value_ObjectValue
	//	*Value_MapValue
	//	*Value_ListValue
	//	*Value_TypeValue
	Kind                 isValue_Kind `protobuf_oneof:"kind"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

Represents a CEL value.

This is similar to `google.protobuf.Value`, but can represent CEL's full range of values.

func (*Value) Descriptor

func (*Value) Descriptor() ([]byte, []int)

func (*Value) GetBoolValue

func (m *Value) GetBoolValue() bool

func (*Value) GetBytesValue

func (m *Value) GetBytesValue() []byte

func (*Value) GetDoubleValue

func (m *Value) GetDoubleValue() float64

func (*Value) GetEnumValue

func (m *Value) GetEnumValue() *EnumValue

func (*Value) GetInt64Value

func (m *Value) GetInt64Value() int64

func (*Value) GetKind

func (m *Value) GetKind() isValue_Kind

func (*Value) GetListValue

func (m *Value) GetListValue() *ListValue

func (*Value) GetMapValue

func (m *Value) GetMapValue() *MapValue

func (*Value) GetNullValue

func (m *Value) GetNullValue() _struct.NullValue

func (*Value) GetObjectValue

func (m *Value) GetObjectValue() *any.Any

func (*Value) GetStringValue

func (m *Value) GetStringValue() string

func (*Value) GetTypeValue

func (m *Value) GetTypeValue() string

func (*Value) GetUint64Value

func (m *Value) GetUint64Value() uint64

func (*Value) ProtoMessage

func (*Value) ProtoMessage()

func (*Value) Reset

func (m *Value) Reset()

func (*Value) String

func (m *Value) String() string

func (*Value) XXX_DiscardUnknown

func (m *Value) XXX_DiscardUnknown()

func (*Value) XXX_Marshal

func (m *Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Value) XXX_Merge

func (m *Value) XXX_Merge(src proto.Message)

func (*Value) XXX_OneofWrappers

func (*Value) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*Value) XXX_Size

func (m *Value) XXX_Size() int

func (*Value) XXX_Unmarshal

func (m *Value) XXX_Unmarshal(b []byte) error

type Value_BoolValue

type Value_BoolValue struct {
	BoolValue bool `protobuf:"varint,2,opt,name=bool_value,json=boolValue,proto3,oneof"`
}

type Value_BytesValue

type Value_BytesValue struct {
	BytesValue []byte `protobuf:"bytes,7,opt,name=bytes_value,json=bytesValue,proto3,oneof"`
}

type Value_DoubleValue

type Value_DoubleValue struct {
	DoubleValue float64 `protobuf:"fixed64,5,opt,name=double_value,json=doubleValue,proto3,oneof"`
}

type Value_EnumValue

type Value_EnumValue struct {
	EnumValue *EnumValue `protobuf:"bytes,9,opt,name=enum_value,json=enumValue,proto3,oneof"`
}

type Value_Int64Value

type Value_Int64Value struct {
	Int64Value int64 `protobuf:"varint,3,opt,name=int64_value,json=int64Value,proto3,oneof"`
}

type Value_ListValue

type Value_ListValue struct {
	ListValue *ListValue `protobuf:"bytes,12,opt,name=list_value,json=listValue,proto3,oneof"`
}

type Value_MapValue

type Value_MapValue struct {
	MapValue *MapValue `protobuf:"bytes,11,opt,name=map_value,json=mapValue,proto3,oneof"`
}

type Value_NullValue

type Value_NullValue struct {
	NullValue _struct.NullValue `protobuf:"varint,1,opt,name=null_value,json=nullValue,proto3,enum=google.protobuf.NullValue,oneof"`
}

type Value_ObjectValue

type Value_ObjectValue struct {
	ObjectValue *any.Any `protobuf:"bytes,10,opt,name=object_value,json=objectValue,proto3,oneof"`
}

type Value_StringValue

type Value_StringValue struct {
	StringValue string `protobuf:"bytes,6,opt,name=string_value,json=stringValue,proto3,oneof"`
}

type Value_TypeValue

type Value_TypeValue struct {
	TypeValue string `protobuf:"bytes,15,opt,name=type_value,json=typeValue,proto3,oneof"`
}

type Value_Uint64Value

type Value_Uint64Value struct {
	Uint64Value uint64 `protobuf:"varint,4,opt,name=uint64_value,json=uint64Value,proto3,oneof"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL