pub enum Statement {
Show 19 variants
Block(Block),
Var(VarDeclaration),
Empty,
Expression(Expression),
If(If),
DoWhileLoop(DoWhileLoop),
WhileLoop(WhileLoop),
ForLoop(ForLoop),
ForInLoop(ForInLoop),
ForOfLoop(ForOfLoop),
Switch(Switch),
Continue(Continue),
Break(Break),
Return(Return),
Labelled(Labelled),
Throw(Throw),
Try(Try),
With(With),
Debugger,
}Expand description
The Statement Parse Node.
See the module level documentation for more information.
Variants§
Block(Block)
See Block.
Var(VarDeclaration)
See VarDeclaration
Empty
An empty statement.
Empty statements do nothing, just return undefined.
More information:
Expression(Expression)
See Expression.
If(If)
See If.
DoWhileLoop(DoWhileLoop)
See DoWhileLoop.
WhileLoop(WhileLoop)
See WhileLoop.
ForLoop(ForLoop)
See ForLoop.
ForInLoop(ForInLoop)
See ForInLoop.
ForOfLoop(ForOfLoop)
See ForOfLoop.
Switch(Switch)
SeeSwitch.
Continue(Continue)
See Continue.
Break(Break)
See Break.
Return(Return)
See Return.
Labelled(Labelled)
See Labelled.
Throw(Throw)
See Throw.
Try(Try)
See Try.
With(With)
See With.
Debugger
A debugger statement.
The debugger statement invokes any available debugging functionality.
More information:
Implementations§
Source§impl Statement
impl Statement
Sourcepub fn is_labelled_function(&self) -> bool
pub fn is_labelled_function(&self) -> bool
Abstract operation IsLabelledFunction.
This recursively checks if this Statement is a labelled function, since adding
several labels in a function should not change the return value of the abstract operation:
l1: l2: l3: l4: function f(){ }This should return true for that snippet.
Trait Implementations§
Source§impl<'arbitrary> Arbitrary<'arbitrary> for Statement
impl<'arbitrary> Arbitrary<'arbitrary> for Statement
Source§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
Generate an arbitrary value of
Self from the given unstructured data. Read moreSource§fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
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<'de> Deserialize<'de> for Statement
impl<'de> Deserialize<'de> for Statement
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<'a> From<&'a mut Statement> for NodeRefMut<'a>
impl<'a> From<&'a mut Statement> for NodeRefMut<'a>
Source§fn from(node: &'a mut Statement) -> NodeRefMut<'a>
fn from(node: &'a mut Statement) -> NodeRefMut<'a>
Converts to this type from the input type.
Source§impl From<DoWhileLoop> for Statement
impl From<DoWhileLoop> for Statement
Source§fn from(do_while: DoWhileLoop) -> Self
fn from(do_while: DoWhileLoop) -> Self
Converts to this type from the input type.
Source§impl From<Expression> for Statement
impl From<Expression> for Statement
Source§fn from(expr: Expression) -> Self
fn from(expr: Expression) -> Self
Converts to this type from the input type.
Source§impl From<Statement> for StatementListItem
impl From<Statement> for StatementListItem
Source§impl From<Statement> for LabelledItem
impl From<Statement> for LabelledItem
Source§impl From<VarDeclaration> for Statement
impl From<VarDeclaration> for Statement
Source§fn from(var: VarDeclaration) -> Self
fn from(var: VarDeclaration) -> Self
Converts to this type from the input type.
impl StructuralPartialEq for Statement
Source§impl ToIndentedString for Statement
impl ToIndentedString for Statement
Source§impl VisitWith for Statement
impl VisitWith for Statement
Source§fn visit_with<'a, V>(&'a self, visitor: &mut V) -> ControlFlow<V::BreakTy>where
V: Visitor<'a>,
fn visit_with<'a, V>(&'a self, visitor: &mut V) -> ControlFlow<V::BreakTy>where
V: Visitor<'a>,
Visit this node with the provided visitor.
Source§fn visit_with_mut<'a, V>(
&'a mut self,
visitor: &mut V,
) -> ControlFlow<V::BreakTy>where
V: VisitorMut<'a>,
fn visit_with_mut<'a, V>(
&'a mut self,
visitor: &mut V,
) -> ControlFlow<V::BreakTy>where
V: VisitorMut<'a>,
Visit this node with the provided visitor mutably, allowing the visitor to modify private
fields.
Auto Trait Implementations§
impl !RefUnwindSafe for Statement
impl !Send for Statement
impl !Sync for Statement
impl !UnwindSafe for Statement
impl Freeze for Statement
impl Unpin for Statement
impl UnsafeUnpin for Statement
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
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<T> ToInternedString for Twhere
T: ToIndentedString,
impl<T> ToInternedString for Twhere
T: ToIndentedString,
Source§fn to_interned_string(&self, interner: &Interner) -> String
fn to_interned_string(&self, interner: &Interner) -> String
Converts a given element to a string using an interner.