Struct google_api_proto::google::api::expr::v1alpha1::CheckedExpr
source · pub struct CheckedExpr {
pub reference_map: BTreeMap<i64, Reference>,
pub type_map: BTreeMap<i64, Type>,
pub source_info: Option<SourceInfo>,
pub expr_version: String,
pub expr: Option<Expr>,
}
Expand description
A CEL expression which has been successfully type checked.
Fields§
§reference_map: BTreeMap<i64, Reference>
A map from expression ids to resolved references.
The following entries are in this table:
- An Ident or Select expression is represented here if it resolves to a
declaration. For instance, if
a.b.c
is represented byselect(select(id(a), b), c)
, anda.b
resolves to a declaration, whilec
is a field selection, then the reference is attached to the nested select expression (but not to the id or or the outer select). In turn, ifa
resolves to a declaration andb.c
are field selections, the reference is attached to the ident expression. - Every Call expression has an entry here, identifying the function being called.
- Every CreateStruct expression for a message has an entry, identifying the message.
type_map: BTreeMap<i64, Type>
A map from expression ids to types.
Every expression node which has a type different than DYN has a mapping here. If an expression has type DYN, it is omitted from this map to save space.
source_info: Option<SourceInfo>
The source info derived from input that generated the parsed expr
and
any optimizations made during the type-checking pass.
expr_version: String
The expr version indicates the major / minor version number of the expr
representation.
The most common reason for a version change will be to indicate to the CEL runtimes that transformations have been performed on the expr during static analysis. In some cases, this will save the runtime the work of applying the same or similar transformations prior to evaluation.
expr: Option<Expr>
The checked expression. Semantically equivalent to the parsed expr
, but
may have structural differences.
Trait Implementations§
source§impl Clone for CheckedExpr
impl Clone for CheckedExpr
source§fn clone(&self) -> CheckedExpr
fn clone(&self) -> CheckedExpr
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for CheckedExpr
impl Debug for CheckedExpr
source§impl Default for CheckedExpr
impl Default for CheckedExpr
source§impl Message for CheckedExpr
impl Message for CheckedExpr
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for CheckedExpr
impl PartialEq for CheckedExpr
source§fn eq(&self, other: &CheckedExpr) -> bool
fn eq(&self, other: &CheckedExpr) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for CheckedExpr
Auto Trait Implementations§
impl !Freeze for CheckedExpr
impl RefUnwindSafe for CheckedExpr
impl Send for CheckedExpr
impl Sync for CheckedExpr
impl Unpin for CheckedExpr
impl UnwindSafe for CheckedExpr
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request