pub struct FunctionRegistry { /* private fields */ }Expand description
Registry of user-defined functions
Implementations§
Source§impl FunctionRegistry
impl FunctionRegistry
Sourcepub fn is_recursive(&self, name: &str) -> bool
pub fn is_recursive(&self, name: &str) -> bool
Check if a function is recursive (calls itself directly or indirectly)
Sourcepub fn validate(&self) -> Result<(), FunctionError>
pub fn validate(&self) -> Result<(), FunctionError>
Validate all functions
Sourcepub fn from_program(program: &Program) -> Result<Self, FunctionError>
pub fn from_program(program: &Program) -> Result<Self, FunctionError>
Build registry from a program
Sourcepub fn analyze_recursion(&self, func: &FuncDef) -> Option<RecursionWarning>
pub fn analyze_recursion(&self, func: &FuncDef) -> Option<RecursionWarning>
Analyze recursive function for potential infinite recursion
Sourcepub fn validate_with_warnings(
&self,
) -> (Result<(), FunctionError>, Vec<RecursionWarning>)
pub fn validate_with_warnings( &self, ) -> (Result<(), FunctionError>, Vec<RecursionWarning>)
Validate all functions, collecting warnings
Trait Implementations§
Source§impl Debug for FunctionRegistry
impl Debug for FunctionRegistry
Source§impl Default for FunctionRegistry
impl Default for FunctionRegistry
Source§fn default() -> FunctionRegistry
fn default() -> FunctionRegistry
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for FunctionRegistry
impl RefUnwindSafe for FunctionRegistry
impl Send for FunctionRegistry
impl Sync for FunctionRegistry
impl Unpin for FunctionRegistry
impl UnsafeUnpin for FunctionRegistry
impl UnwindSafe for FunctionRegistry
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
Mutably borrows from an owned value. Read more