Struct preserves_schema::compiler::context::FunctionContext

source ·
pub struct FunctionContext<'a, 'm, 'b> {
    pub error_context: String,
    pub m: &'a mut ModuleContext<'m, 'b>,
    pub temp_counter: usize,
    pub captures: Vec<Capture>,
    pub capture_mode: CaptureMode,
}

Fields§

§error_context: String§m: &'a mut ModuleContext<'m, 'b>§temp_counter: usize§captures: Vec<Capture>§capture_mode: CaptureMode

Implementations§

source§

impl<'a, 'm, 'b> FunctionContext<'a, 'm, 'b>

source

pub fn new(m: &'a mut ModuleContext<'m, 'b>, error_context: &str) -> Self

source

pub fn capture(&mut self, field_name: String, ty: TField, source_expr: String)

source

pub fn lookup_capture(&self, field_name: &str) -> &Capture

source

pub fn gentempname(&mut self) -> String

source

pub fn declare_compound( &self, body: &mut Vec<Item>, name: &str, init_expr: Item )

source

pub fn define_atom(&mut self, body: &mut Vec<Item>, name: &str, val_expr: Item)

source

pub fn with_definite_mode<R, F: FnOnce(&mut Self) -> R>(&mut self, f: F) -> R

source

pub fn with_indefinite_mode<F: FnOnce(&mut Self)>(&mut self, f: F) -> Vec<Item>

source

pub fn branch<R, F: FnOnce(&mut Self) -> R>(&mut self, f: F) -> R

source

pub fn err_code(&self) -> Item

source

pub fn fully_qualified_error_context(&self) -> String

source

pub fn conformance_err_code(&self) -> Item

Auto Trait Implementations§

§

impl<'a, 'm, 'b> Freeze for FunctionContext<'a, 'm, 'b>

§

impl<'a, 'm, 'b> !RefUnwindSafe for FunctionContext<'a, 'm, 'b>

§

impl<'a, 'm, 'b> !Send for FunctionContext<'a, 'm, 'b>

§

impl<'a, 'm, 'b> !Sync for FunctionContext<'a, 'm, 'b>

§

impl<'a, 'm, 'b> Unpin for FunctionContext<'a, 'm, 'b>

§

impl<'a, 'm, 'b> !UnwindSafe for FunctionContext<'a, 'm, 'b>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<L, N> Codec<N> for L
where N: NestedValue,

source§

fn parse<'a, T>(&'a self, value: &N) -> Result<T, ParseError>
where T: Parse<&'a L, N>,

Delegates to T::parse, using self as language and the given value as input.
source§

fn unparse<'a, T>(&'a self, value: &T) -> N
where T: Unparse<&'a L, N>,

Delegates to value.unparse, using self as language.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.