[−][src]Enum rhai::Expr
[INTERNALS] An expression sub-tree.
Exported under the internals
feature only.
WARNING
This type is volatile and may change.
Variants
Integer constant.
FloatConstant(FloatWrapper, Position)
Floating-point constant.
Character constant.
String constant.
FnPtr constant.
Variable access - (optional index, optional modules, hash, variable name)
Property access - (getter, setter), prop
{ stmt }
Wrapped expression - should not be optimized away.
FnCall(Box<FnCallInfo>, Position)
func(expr, ... )
Dot(Box<BinaryExpr>, Position)
lhs.rhs
Index(Box<BinaryExpr>, Position)
expr[expr]
[ expr, ... ]
#{ name:expr, ... }
In(Box<BinaryExpr>, Position)
lhs in rhs
And(Box<BinaryExpr>, Position)
lhs && rhs
Or(Box<BinaryExpr>, Position)
lhs || rhs
True(Position)
true
False(Position)
false
Unit(Position)
()
Custom(Box<CustomExpr>, Position)
Custom syntax
Implementations
impl Expr
[src]
pub fn get_type_id(&self) -> Option<TypeId>
[src]
Get the type of an expression.
Returns None
if the expression's result type is not constant.
pub fn get_constant_value(&self) -> Option<Dynamic>
[src]
Get the Dynamic
value of a constant expression.
Returns None
if the expression is not constant.
pub fn position(&self) -> Position
[src]
Get the Position
of the expression.
pub fn set_position(&mut self, new_pos: Position) -> &mut SelfⓘNotable traits for &'_ mut W
impl<'_, W> Write for &'_ mut W where
W: Write + ?Sized, impl<'_, R> Read for &'_ mut R where
R: Read + ?Sized, impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
F: Unpin + Future + ?Sized, type Output = <F as Future>::Output;
[src]
Notable traits for &'_ mut W
impl<'_, W> Write for &'_ mut W where
W: Write + ?Sized, impl<'_, R> Read for &'_ mut R where
R: Read + ?Sized, impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
F: Unpin + Future + ?Sized, type Output = <F as Future>::Output;
Override the Position
of the expression.
pub fn is_pure(&self) -> bool
[src]
Is the expression pure?
A pure expression has no side effects.
pub fn is_unit(&self) -> bool
[src]
Is the expression the unit ()
literal?
pub fn is_literal(&self) -> bool
[src]
Is the expression a simple constant literal?
pub fn is_constant(&self) -> bool
[src]
Is the expression a constant?
pub fn is_valid_postfix(&self, token: &Token) -> bool
[src]
Is a particular token allowed as a postfix operator to this expression?
Trait Implementations
impl Clone for Expr
[src]
impl Debug for Expr
[src]
impl Default for Expr
[src]
impl<'a> From<&'a Expr> for Expression<'a>
[src]
impl Hash for Expr
[src]
Auto Trait Implementations
impl !RefUnwindSafe for Expr
impl !Send for Expr
impl !Sync for Expr
impl Unpin for Expr
impl !UnwindSafe for Expr
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow(&self) -> &TⓘNotable traits for &'_ mut W
impl<'_, W> Write for &'_ mut W where
W: Write + ?Sized, impl<'_, R> Read for &'_ mut R where
R: Read + ?Sized, impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
F: Unpin + Future + ?Sized, type Output = <F as Future>::Output;
[src]
Notable traits for &'_ mut W
impl<'_, W> Write for &'_ mut W where
W: Write + ?Sized, impl<'_, R> Read for &'_ mut R where
R: Read + ?Sized, impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
F: Unpin + Future + ?Sized, type Output = <F as Future>::Output;
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut TⓘNotable traits for &'_ mut W
impl<'_, W> Write for &'_ mut W where
W: Write + ?Sized, impl<'_, R> Read for &'_ mut R where
R: Read + ?Sized, impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
F: Unpin + Future + ?Sized, type Output = <F as Future>::Output;
[src]
Notable traits for &'_ mut W
impl<'_, W> Write for &'_ mut W where
W: Write + ?Sized, impl<'_, R> Read for &'_ mut R where
R: Read + ?Sized, impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
F: Unpin + Future + ?Sized, type Output = <F as Future>::Output;
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,