#[non_exhaustive]
pub enum Value {
Function((TokenReference, FunctionBody)),
FunctionCall(FunctionCall),
IfExpression(IfExpression),
TableConstructor(TableConstructor),
Number(TokenReference),
ParenthesesExpression(Expression),
String(TokenReference),
Symbol(TokenReference),
Var(Var),
}
Expand description
Values that cannot be used standalone, but as part of things such as Stmt
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
Function((TokenReference, FunctionBody))
An anonymous function, such as function() end)
FunctionCall(FunctionCall)
A call of a function, such as call()
IfExpression(IfExpression)
An if expression, such as if foo then true else false
.
Only available when the “roblox” feature flag is enabled.
TableConstructor(TableConstructor)
A table constructor, such as { 1, 2, 3 }
Number(TokenReference)
A number token, such as 3.3
ParenthesesExpression(Expression)
An expression between parentheses, such as (3 + 2)
String(TokenReference)
A string token, such as "hello"
Symbol(TokenReference)
A symbol, such as true
Var(Var)
A more complex value, such as call().x
Trait Implementations
sourceimpl<'de> Deserialize<'de> for Value
impl<'de> Deserialize<'de> for Value
sourcefn 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
sourceimpl Node for Value
impl Node for Value
sourcefn start_position(&self) -> Option<Position>
fn start_position(&self) -> Option<Position>
The start position of a node. None if can’t be determined
sourcefn end_position(&self) -> Option<Position>
fn end_position(&self) -> Option<Position>
The end position of a node. None if it can’t be determined
sourcefn similar(&self, other: &Self) -> bool
fn similar(&self, other: &Self) -> bool
Whether another node of the same type is the same as this one semantically, ignoring position
sourcefn tokens<'a>(&'a self) -> Tokens<'a>ⓘNotable traits for Tokens<'a>impl<'a> Iterator for Tokens<'a> type Item = &'a TokenReference;
fn tokens<'a>(&'a self) -> Tokens<'a>ⓘNotable traits for Tokens<'a>impl<'a> Iterator for Tokens<'a> type Item = &'a TokenReference;
The token references that comprise a node
impl StructuralPartialEq for Value
Auto Trait Implementations
impl RefUnwindSafe for Value
impl Send for Value
impl Sync for Value
impl Unpin for Value
impl UnwindSafe for Value
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more