Enum full_moon::ast::Expression [−][src]
#[non_exhaustive] pub enum Expression<'a> { BinaryOperator { lhs: Box<Expression<'a>>, binop: BinOp<'a>, rhs: Box<Expression<'a>>, }, Parentheses { contained: ContainedSpan<'a>, expression: Box<Expression<'a>>, }, UnaryOperator { unop: UnOp<'a>, expression: Box<Expression<'a>>, }, Value { value: Box<Value<'a>>, type_assertion: Option<TypeAssertion<'a>>, }, }
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
Show fields
Fields of BinaryOperator
lhs: Box<Expression<'a>>
The left hand side of the binary operation, the 1
part of 1 + 3
binop: BinOp<'a>
The binary operation used, the +
part of 1 + 3
rhs: Box<Expression<'a>>
The right hand side of the binary operation, the 3
part of 1 + 3
A statement in parentheses, such as (#list)
Show fields
Fields of Parentheses
contained: ContainedSpan<'a>
The parentheses of the ParenExpression
expression: Box<Expression<'a>>
The expression inside the parentheses
A unary operation, such as #list
Show fields
Fields of UnaryOperator
unop: UnOp<'a>
The unary operation, the #
part of #list
expression: Box<Expression<'a>>
The expression the operation is being done on, the list
part of #list
A value, such as “strings”
Show fields
Fields of Value
value: Box<Value<'a>>
The value itself
type_assertion: Option<TypeAssertion<'a>>
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
The tokens surrounding a node that are ignored and not accessible through the node’s own accessors. Use this if you want to get surrounding comments or whitespace. Returns a tuple of the leading and trailing trivia. Read more
type Owned = Expression<'static>
type Owned = Expression<'static>
What an owned version of the object looks like. Usually contains a 'static
lifetime.
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<'a> RefUnwindSafe for Expression<'a>
impl<'a> Send for Expression<'a>
impl<'a> Sync for Expression<'a>
impl<'a> Unpin for Expression<'a>
impl<'a> UnwindSafe for Expression<'a>
Blanket Implementations
Mutably borrows from an owned value. Read more