pub struct CompilationContext {
pub depth: usize,
pub max_depth: usize,
pub variables: HashMap<String, Value>,
pub functions: HashMap<String, FunctionDef>,
}Expand description
Compilation context for building filter operations
The compilation context tracks the current compilation state including:
- Recursion depth to prevent infinite recursion
- Variable scoping information
- Function definition context
Fields§
§depth: usizeCurrent recursion depth
max_depth: usizeMaximum allowed recursion depth
variables: HashMap<String, Value>Variables available during compilation
functions: HashMap<String, FunctionDef>Functions available during compilation
Implementations§
Source§impl CompilationContext
impl CompilationContext
Sourcepub fn with_max_depth(max_depth: usize) -> Self
pub fn with_max_depth(max_depth: usize) -> Self
Create a compilation context with custom max depth
Trait Implementations§
Source§impl Clone for CompilationContext
impl Clone for CompilationContext
Source§fn clone(&self) -> CompilationContext
fn clone(&self) -> CompilationContext
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CompilationContext
impl Debug for CompilationContext
Auto Trait Implementations§
impl Freeze for CompilationContext
impl !RefUnwindSafe for CompilationContext
impl Send for CompilationContext
impl Sync for CompilationContext
impl Unpin for CompilationContext
impl !UnwindSafe for CompilationContext
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more