Package dev.cel.expr

Class Expr

  • All Implemented Interfaces:
    Message, MessageLite, MessageLiteOrBuilder, MessageOrBuilder, ExprOrBuilder, java.io.Serializable

    public final class Expr
    extends GeneratedMessageV3
    implements ExprOrBuilder
     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][cel.expr.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][cel.expr.Expr.Select] expression, and the function
     declaration `startsWith`.
     
    Protobuf type cel.expr.Expr
    See Also:
    Serialized Form