Skip to main content

Isolate

Struct Isolate 

Source
pub struct Isolate { /* private fields */ }
Expand description

Isolate is a component that encapsulates an isolated environment for executing expressions.

Rerunning the Isolate allows for efficient memory reuse through an arena allocator. The arena allocator optimizes memory management by reusing memory blocks for subsequent evaluations, contributing to improved performance and resource utilization in scenarios where the Isolate is reused multiple times.

Implementations§

Source§

impl Isolate

Source

pub fn new() -> Self

Source

pub fn with_environment(variable: Variable) -> Self

Source

pub fn with_cache(self, cache: Option<Arc<OpcodeCache>>) -> Self

Source

pub fn set_environment(&mut self, variable: Variable)

Source

pub fn set_cache(&mut self, cache: Arc<OpcodeCache>)

Source

pub fn scope(&self) -> &Scope

Source

pub fn set_local(&mut self, name: Symbol, value: Variable)

Source

pub fn insert_dollar(&mut self, path: &str, value: Variable)

Source

pub fn set_reference(&mut self, reference: &str) -> Result<(), IsolateError>

Source

pub fn set_reference_value( &mut self, value: Variable, ) -> Result<(), IsolateError>

Source

pub fn get_reference(&self, reference: &str) -> Option<Variable>

Source

pub fn compile_standard( &mut self, source: &str, ) -> Result<Expression<Standard>, IsolateError>

Source

pub fn run_standard(&mut self, source: &str) -> Result<Variable, IsolateError>

Source

pub fn run_compiled( &mut self, source: &[Opcode], ) -> Result<Variable, IsolateError>

Source

pub fn compile_unary( &mut self, source: &str, ) -> Result<Expression<Unary>, IsolateError>

Source

pub fn run_unary(&mut self, source: &str) -> Result<bool, IsolateError>

Source

pub fn run_unary_compiled( &mut self, code: &[Opcode], ) -> Result<bool, IsolateError>

Trait Implementations§

Source§

impl Debug for Isolate

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

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

Source§

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>,

Source§

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.