Enum full_moon::ast::Expression [−][src]
#[non_exhaustive] pub enum Expression { BinaryOperator { lhs: Box<Expression>, binop: BinOp, rhs: Box<Expression>, }, Parentheses { contained: ContainedSpan, expression: Box<Expression>, }, UnaryOperator { unop: UnOp, expression: Box<Expression>, }, Value { value: Box<Value>, type_assertion: Option<TypeAssertion>, }, }
Expand description
An expression, mostly useful for getting values
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
A binary operation, such as 1 + 3
Fields of BinaryOperator
lhs: Box<Expression>
The left hand side of the binary operation, the 1
part of 1 + 3
binop: BinOp
The binary operation used, the +
part of 1 + 3
rhs: Box<Expression>
The right hand side of the binary operation, the 3
part of 1 + 3
A statement in parentheses, such as (#list)
Fields of Parentheses
contained: ContainedSpan
The parentheses of the ParenExpression
expression: Box<Expression>
The expression inside the parentheses
A unary operation, such as #list
Fields of UnaryOperator
unop: UnOp
The unary operation, the #
part of #list
expression: Box<Expression>
The expression the operation is being done on, the list
part of #list
A value, such as “strings”
Fields of Value
value: Box<Value>
The value itself
type_assertion: Option<TypeAssertion>
What the value is being asserted as using ::
.
Only available when the “roblox” feature flag is enabled.
Trait Implementations
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
The start position of a node. None if can’t be determined
The end position of a node. None if it can’t be determined
Whether another node of the same type is the same as this one semantically, ignoring position
The token references that comprise a node
The full range of a node, if it has both start and end positions
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl RefUnwindSafe for Expression
impl Send for Expression
impl Sync for Expression
impl Unpin for Expression
impl UnwindSafe for Expression
Blanket Implementations
Mutably borrows from an owned value. Read more