Struct googapis::google::api::expr::v1alpha1::SourceInfo[][src]

pub struct SourceInfo {
    pub syntax_version: String,
    pub location: String,
    pub line_offsets: Vec<i32>,
    pub positions: HashMap<i64, i32>,
    pub macro_calls: HashMap<i64, Expr>,
}
Expand description

Source information collected at parse time.

Fields

syntax_version: String

The syntax version of the source, e.g. cel1.

location: String

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.

line_offsets: Vec<i32>

Monotonically increasing list of code point offsets where newlines \n 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\].

positions: HashMap<i64, i32>

A map from the parse node id (e.g. Expr.id) to the code point offset within the source.

macro_calls: HashMap<i64, Expr>

A map from the parse node id where a macro replacement was made to the call Expr that resulted in a macro expansion.

For example, has(value.field) is a function call that is replaced by a test_only field selection in the AST. Likewise, the call list.exists(e, e > 10) translates to a comprehension expression. The key in the map corresponds to the expression id of the expanded macro, and the value is the call Expr that was replaced.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Returns the encoded length of the message without a length delimiter.

Clears the message, resetting all fields to their default.

Encodes the message to a buffer. Read more

Encodes the message to a newly allocated buffer.

Encodes the message with a length-delimiter to a buffer. Read more

Encodes the message with a length-delimiter to a newly allocated buffer.

Decodes an instance of the message from a buffer. Read more

Decodes a length-delimited instance of the message from the buffer.

Decodes an instance of the message from a buffer, and merges it into self. Read more

Decodes a length-delimited instance of the message from buffer, and merges it into self. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

Wrap the input message T in a tonic::Request

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more