Class CelExpr


  • @Internal
    @Immutable
    public abstract class CelExpr
    extends java.lang.Object
    An abstract representation of a common expression.

    This is the native type equivalent of Expr message in syntax.proto.

    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][] 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][] expression, and the function declaration `startsWith`.