pub enum ArithmeticExpr {
Literal(i64),
Reference(ArithmeticTarget),
UnaryOp(UnaryOperator, Box<Self>),
BinaryOp(BinaryOperator, Box<Self>, Box<Self>),
Conditional(Box<Self>, Box<Self>, Box<Self>),
Assignment(ArithmeticTarget, Box<Self>),
BinaryAssignment(BinaryOperator, ArithmeticTarget, Box<Self>),
UnaryAssignment(UnaryAssignmentOperator, ArithmeticTarget),
}Expand description
An arithmetic expression.
Variants§
Literal(i64)
A literal integer value.
Reference(ArithmeticTarget)
A dereference of a variable or array element.
UnaryOp(UnaryOperator, Box<Self>)
A unary operation on an the result of a given nested expression.
BinaryOp(BinaryOperator, Box<Self>, Box<Self>)
A binary operation on two nested expressions.
Conditional(Box<Self>, Box<Self>, Box<Self>)
A ternary conditional expression.
Assignment(ArithmeticTarget, Box<Self>)
An assignment operation.
BinaryAssignment(BinaryOperator, ArithmeticTarget, Box<Self>)
A binary assignment operation.
UnaryAssignment(UnaryAssignmentOperator, ArithmeticTarget)
A unary assignment operation.
Trait Implementations§
Source§impl<'a> Arbitrary<'a> for ArithmeticExpr
Available on crate feature arbitrary only.
impl<'a> Arbitrary<'a> for ArithmeticExpr
Available on crate feature
arbitrary only.Source§fn arbitrary(u: &mut Unstructured<'a>) -> Result<Self>
fn arbitrary(u: &mut Unstructured<'a>) -> Result<Self>
Generate an arbitrary value of
Self from the given unstructured data. Read moreSource§fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>
fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>
Generate an arbitrary value of
Self from the entirety of the given
unstructured data. Read moreSource§fn size_hint(depth: usize) -> (usize, Option<usize>)
fn size_hint(depth: usize) -> (usize, Option<usize>)
Get a size hint for how many bytes out of an
Unstructured this type
needs to construct itself. Read moreSource§fn try_size_hint(
depth: usize,
) -> Result<(usize, Option<usize>), MaxRecursionReached>
fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>
Get a size hint for how many bytes out of an
Unstructured this type
needs to construct itself. Read moreSource§impl Clone for ArithmeticExpr
impl Clone for ArithmeticExpr
Source§impl Debug for ArithmeticExpr
impl Debug for ArithmeticExpr
Source§impl<'de> Deserialize<'de> for ArithmeticExpr
Available on crate features serde only.
impl<'de> Deserialize<'de> for ArithmeticExpr
Available on crate features
serde only.Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for ArithmeticExpr
impl Display for ArithmeticExpr
impl Eq for ArithmeticExpr
Available on crate features
serde only.impl Node for ArithmeticExpr
Source§impl PartialEq for ArithmeticExpr
Available on crate features serde only.
impl PartialEq for ArithmeticExpr
Available on crate features
serde only.Source§impl Serialize for ArithmeticExpr
Available on crate features serde only.
impl Serialize for ArithmeticExpr
Available on crate features
serde only.Source§impl SourceLocation for ArithmeticExpr
impl SourceLocation for ArithmeticExpr
Source§fn location(&self) -> Option<SourceSpan>
fn location(&self) -> Option<SourceSpan>
The location of the syntax item, when known
impl StructuralPartialEq for ArithmeticExpr
Available on crate features
serde only.Auto Trait Implementations§
impl Freeze for ArithmeticExpr
impl RefUnwindSafe for ArithmeticExpr
impl Send for ArithmeticExpr
impl Sync for ArithmeticExpr
impl Unpin for ArithmeticExpr
impl UnsafeUnpin for ArithmeticExpr
impl UnwindSafe for ArithmeticExpr
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.