Struct darklua_core::process::Evaluator
source · pub struct Evaluator { /* private fields */ }
Expand description
A struct to convert an Expression node into a LuaValue object.
Implementations§
source§impl Evaluator
impl Evaluator
sourcepub fn assume_pure_metamethods(self) -> Self
pub fn assume_pure_metamethods(self) -> Self
When evaluating expressions related to tables, this value tells the evaluator if
metamethods can have side effects. For example, indexing a normal table in Lua does not
have any side effects, but if the table is a metatable, it’s __index
metamethod can
possibly have side effects (since it can be a function call).
pub fn evaluate(&self, expression: &Expression) -> LuaValue
pub fn can_return_multiple_values(&self, expression: &Expression) -> bool
pub fn has_side_effects(&self, expression: &Expression) -> bool
Trait Implementations§
source§impl PartialEq<Evaluator> for Evaluator
impl PartialEq<Evaluator> for Evaluator
impl Eq for Evaluator
impl StructuralEq for Evaluator
impl StructuralPartialEq for Evaluator
Auto Trait Implementations§
impl RefUnwindSafe for Evaluator
impl Send for Evaluator
impl Sync for Evaluator
impl Unpin for Evaluator
impl UnwindSafe for Evaluator
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
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<I, T> ExtractContext<I, ()> for T
impl<I, T> ExtractContext<I, ()> for T
§fn extract_context(self, _original_input: I)
fn extract_context(self, _original_input: I)
Given the context attached to a nom error, and given the original
input to the nom parser, extract more the useful context information. Read more
§impl<I> RecreateContext<I> for I
impl<I> RecreateContext<I> for I
§fn recreate_context(_original_input: I, tail: I) -> I
fn recreate_context(_original_input: I, tail: I) -> I
Given the original input, as well as the context reported by nom,
recreate a context in the original string where the error occurred. Read more