Enum ezno_parser::statements::Statement

source ·
pub enum Statement {
Show 19 variants Expression(MultipleExpression), Block(Block), Debugger(Span), If(IfStatement), ForLoop(ForLoopStatement), Switch(SwitchStatement), WhileLoop(WhileStatement), DoWhileLoop(DoWhileStatement), TryCatch(TryCatchStatement), Return(ReturnStatement), Continue(Option<String>, Span), Break(Option<String>, Span), Throw(ThrowStatement), Comment(String, Span), MultiLineComment(String, Span), Labelled { position: Span, name: String, statement: Box<Statement>, }, VarVariable(VarVariableStatement), Empty(Span), AestheticSemiColon(Span),
}
Expand description

A statement. See [Declaration]s and [StatementAndDeclaration] for more

Variants§

§

Expression(MultipleExpression)

§

Block(Block)

{ … } statement

§

Debugger(Span)

§

If(IfStatement)

§

ForLoop(ForLoopStatement)

§

Switch(SwitchStatement)

§

WhileLoop(WhileStatement)

§

DoWhileLoop(DoWhileStatement)

§

TryCatch(TryCatchStatement)

§

Return(ReturnStatement)

§

Continue(Option<String>, Span)

§

Break(Option<String>, Span)

§

Throw(ThrowStatement)

e.g throw ...

§

Comment(String, Span)

§

MultiLineComment(String, Span)

§

Labelled

Fields

§position: Span
§name: String
§statement: Box<Statement>
§

VarVariable(VarVariableStatement)

§

Empty(Span)

§

AestheticSemiColon(Span)

Lol

Implementations§

source§

impl Statement

source

pub fn is_comment(&self) -> bool

Used for skipping in to_string

Trait Implementations§

source§

impl ASTNode for Statement

source§

fn get_position(&self) -> Span

Returns position of node as span AS IT WAS PARSED. May be Span::NULL if AST was doesn’t match anything in source
source§

fn from_reader( reader: &mut impl TokenReader<TSXToken, TokenStart>, state: &mut ParsingState, options: &ParseOptions ) -> ParseResult<Self>

source§

fn to_string_from_buffer<T: ToString>( &self, buf: &mut T, options: &ToStringOptions, local: LocalToStringInformation )

source§

fn from_string(script: String, options: ParseOptions) -> ParseResult<Self>

From string, with default impl to call abstract method from_reader
source§

fn from_string_with_options( script: String, options: ParseOptions, offset: Option<u32> ) -> ParseResult<(Self, ParsingState)>

source§

fn to_string(&self, options: &ToStringOptions) -> String

Returns structure as valid string
source§

impl Clone for Statement

source§

fn clone(&self) -> Statement

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Statement

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'a> From<&'a Statement> for BlockItem<'a>

source§

fn from(item: &'a Statement) -> Self

Converts to this type from the input type.
source§

impl<'a> From<&'a mut Statement> for BlockItemMut<'a>

source§

fn from(item: &'a mut Statement) -> Self

Converts to this type from the input type.
source§

impl From<Block> for Statement

source§

fn from(item: Block) -> Self

Converts to this type from the input type.
source§

impl From<DoWhileStatement> for Statement

source§

fn from(item: DoWhileStatement) -> Self

Converts to this type from the input type.
source§

impl From<ForLoopStatement> for Statement

source§

fn from(item: ForLoopStatement) -> Self

Converts to this type from the input type.
source§

impl From<IfStatement> for Statement

source§

fn from(item: IfStatement) -> Self

Converts to this type from the input type.
source§

impl From<MultipleExpression> for Statement

source§

fn from(item: MultipleExpression) -> Self

Converts to this type from the input type.
source§

impl From<ReturnStatement> for Statement

source§

fn from(item: ReturnStatement) -> Self

Converts to this type from the input type.
source§

impl From<Statement> for BlockOrSingleStatement

source§

fn from(stmt: Statement) -> Self

Converts to this type from the input type.
source§

impl From<Statement> for StatementOrDeclaration

source§

fn from(item: Statement) -> Self

Converts to this type from the input type.
source§

impl From<SwitchStatement> for Statement

source§

fn from(item: SwitchStatement) -> Self

Converts to this type from the input type.
source§

impl From<ThrowStatement> for Statement

source§

fn from(item: ThrowStatement) -> Self

Converts to this type from the input type.
source§

impl From<TryCatchStatement> for Statement

source§

fn from(item: TryCatchStatement) -> Self

Converts to this type from the input type.
source§

impl From<VarVariableStatement> for Statement

source§

fn from(item: VarVariableStatement) -> Self

Converts to this type from the input type.
source§

impl From<WhileStatement> for Statement

source§

fn from(item: WhileStatement) -> Self

Converts to this type from the input type.
source§

impl GetFieldByType<BaseSpan<()>> for Statement

source§

fn get(&self) -> &Span

Get the value of a field that has type T
source§

impl IntoAST<Statement> for Expression

source§

impl PartialEq for Statement

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl SelfRustTokenize for Statement

source§

fn append_to_token_stream(&self, token_stream: &mut TokenStream)

source§

fn to_tokens(&self) -> TokenStream

Returns the tokens used to construct self
source§

impl Serialize for Statement

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<'try_into_ref> TryInto<&'try_into_ref Block> for &'try_into_ref Statement

§

type Error = &'try_into_ref Statement

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<&'try_into_ref Block, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref DoWhileStatement> for &'try_into_ref Statement

§

type Error = &'try_into_ref Statement

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<&'try_into_ref DoWhileStatement, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref ForLoopStatement> for &'try_into_ref Statement

§

type Error = &'try_into_ref Statement

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<&'try_into_ref ForLoopStatement, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref IfStatement> for &'try_into_ref Statement

§

type Error = &'try_into_ref Statement

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<&'try_into_ref IfStatement, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref MultipleExpression> for &'try_into_ref Statement

§

type Error = &'try_into_ref Statement

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<&'try_into_ref MultipleExpression, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref ReturnStatement> for &'try_into_ref Statement

§

type Error = &'try_into_ref Statement

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<&'try_into_ref ReturnStatement, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref SwitchStatement> for &'try_into_ref Statement

§

type Error = &'try_into_ref Statement

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<&'try_into_ref SwitchStatement, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref ThrowStatement> for &'try_into_ref Statement

§

type Error = &'try_into_ref Statement

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<&'try_into_ref ThrowStatement, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref TryCatchStatement> for &'try_into_ref Statement

§

type Error = &'try_into_ref Statement

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<&'try_into_ref TryCatchStatement, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref VarVariableStatement> for &'try_into_ref Statement

§

type Error = &'try_into_ref Statement

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<&'try_into_ref VarVariableStatement, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref WhileStatement> for &'try_into_ref Statement

§

type Error = &'try_into_ref Statement

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<&'try_into_ref WhileStatement, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref mut Block> for &'try_into_ref mut Statement

§

type Error = &'try_into_ref mut Statement

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<&'try_into_ref mut Block, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref mut DoWhileStatement> for &'try_into_ref mut Statement

§

type Error = &'try_into_ref mut Statement

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<&'try_into_ref mut DoWhileStatement, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref mut ForLoopStatement> for &'try_into_ref mut Statement

§

type Error = &'try_into_ref mut Statement

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<&'try_into_ref mut ForLoopStatement, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref mut IfStatement> for &'try_into_ref mut Statement

§

type Error = &'try_into_ref mut Statement

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<&'try_into_ref mut IfStatement, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref mut MultipleExpression> for &'try_into_ref mut Statement

§

type Error = &'try_into_ref mut Statement

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<&'try_into_ref mut MultipleExpression, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref mut ReturnStatement> for &'try_into_ref mut Statement

§

type Error = &'try_into_ref mut Statement

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<&'try_into_ref mut ReturnStatement, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref mut SwitchStatement> for &'try_into_ref mut Statement

§

type Error = &'try_into_ref mut Statement

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<&'try_into_ref mut SwitchStatement, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref mut ThrowStatement> for &'try_into_ref mut Statement

§

type Error = &'try_into_ref mut Statement

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<&'try_into_ref mut ThrowStatement, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref mut TryCatchStatement> for &'try_into_ref mut Statement

§

type Error = &'try_into_ref mut Statement

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<&'try_into_ref mut TryCatchStatement, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref mut VarVariableStatement> for &'try_into_ref mut Statement

§

type Error = &'try_into_ref mut Statement

The type returned in the event of a conversion error.
source§

fn try_into( self ) -> Result<&'try_into_ref mut VarVariableStatement, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref mut WhileStatement> for &'try_into_ref mut Statement

§

type Error = &'try_into_ref mut Statement

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<&'try_into_ref mut WhileStatement, Self::Error>

Performs the conversion.
source§

impl Visitable for Statement

source§

fn visit<TData>( &self, visitors: &mut (impl VisitorReceiver<TData> + ?Sized), data: &mut TData, options: &VisitOptions, chain: &mut Annex<'_, Chain> )

source§

fn visit_mut<TData>( &mut self, visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), data: &mut TData, options: &VisitOptions, chain: &mut Annex<'_, Chain> )

source§

impl Eq for Statement

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoAST<T> for T
where T: ASTNode,

source§

fn into_ast(self) -> T

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.