pub enum Statement {
Show 26 variants Expression(MultipleExpression), Block(Block), Debugger(Span), VariableDeclaration(VariableStatement), FunctionDeclaration(Decorated<StatementFunction>), ExtractedFunction(ExtractedFunction<StatementFunctionBase>), ClassDeclaration(Decorated<ClassDeclaration<StatementPosition>>), EnumDeclaration(Decorated<EnumDeclaration>), InterfaceDeclaration(Decorated<InterfaceDeclaration>), TypeAlias(TypeAlias), DeclareVariableDeclaration(DeclareVariableDeclaration), DeclareFunctionDeclaration(DeclareFunctionDeclaration), DeclareInterfaceDeclaration(InterfaceDeclaration), IfStatement(IfStatement), ForLoopStatement(ForLoopStatement), SwitchStatement(SwitchStatement), WhileStatement(WhileStatement), DoWhileStatement(DoWhileStatement), ReturnStatement(Keyword<Return>, Option<MultipleExpression>), Continue(Span), Break(Span), Comment(String, Span), MultiLineComment(String, Span), ImportStatement(ImportStatement), ExportStatement(Decorated<ExportStatement>), Cursor(CursorId<Statement>, Span),
}
Expand description

A statement TODO Import and Export are only allowed in top level modules. Could there be a TopLevelStatement which extends Statement and includes them, therefore retaining type safety

Throw is on Expression (non-standard)

Variants§

§

Expression(MultipleExpression)

§

Block(Block)

{ … } statement

§

Debugger(Span)

§

VariableDeclaration(VariableStatement)

§

FunctionDeclaration(Decorated<StatementFunction>)

§

ExtractedFunction(ExtractedFunction<StatementFunctionBase>)

§

ClassDeclaration(Decorated<ClassDeclaration<StatementPosition>>)

§

EnumDeclaration(Decorated<EnumDeclaration>)

§

InterfaceDeclaration(Decorated<InterfaceDeclaration>)

§

TypeAlias(TypeAlias)

§

DeclareVariableDeclaration(DeclareVariableDeclaration)

§

DeclareFunctionDeclaration(DeclareFunctionDeclaration)

§

DeclareInterfaceDeclaration(InterfaceDeclaration)

§

IfStatement(IfStatement)

§

ForLoopStatement(ForLoopStatement)

§

SwitchStatement(SwitchStatement)

§

WhileStatement(WhileStatement)

§

DoWhileStatement(DoWhileStatement)

§

ReturnStatement(Keyword<Return>, Option<MultipleExpression>)

§

Continue(Span)

§

Break(Span)

§

Comment(String, Span)

§

MultiLineComment(String, Span)

§

ImportStatement(ImportStatement)

§

ExportStatement(Decorated<ExportStatement>)

§

Cursor(CursorId<Statement>, Span)

TODO under cfg

Implementations§

source§

impl Statement

source

pub fn is_ts_statement(&self) -> bool

Used for skipping in to_string

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) -> Cow<'_, Span>

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

fn from_reader( reader: &mut impl TokenReader<TSXToken, Span>, state: &mut ParsingState, settings: &ParseSettings ) -> ParseResult<Self>

source§

fn to_string_from_buffer<T: ToString>( &self, buf: &mut T, settings: &ToStringSettingsAndData, depth: u8 )

source§

fn from_string( source: String, settings: ParseSettings, source_id: SourceId, offset: Option<usize>, cursors: Vec<(usize, EmptyCursorId)> ) -> ParseResult<ParseOutput<Self>>

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

fn to_string(&self, settings: &ToStringSettingsAndData) -> 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 From<Block> for Statement

source§

fn from(item: Block) -> Statement

Converts to this type from the input type.
source§

impl From<DeclareFunctionDeclaration> for Statement

source§

fn from(item: DeclareFunctionDeclaration) -> Statement

Converts to this type from the input type.
source§

impl From<DeclareVariableDeclaration> for Statement

source§

fn from(item: DeclareVariableDeclaration) -> Statement

Converts to this type from the input type.
source§

impl From<Decorated<ClassDeclaration<StatementPosition>>> for Statement

source§

fn from(item: Decorated<ClassDeclaration<StatementPosition>>) -> Statement

Converts to this type from the input type.
source§

impl From<Decorated<EnumDeclaration>> for Statement

source§

fn from(item: Decorated<EnumDeclaration>) -> Statement

Converts to this type from the input type.
source§

impl From<Decorated<ExportStatement>> for Statement

source§

fn from(item: Decorated<ExportStatement>) -> Statement

Converts to this type from the input type.
source§

impl From<Decorated<FunctionBase<GeneralFunctionBase<StatementPosition>>>> for Statement

source§

fn from(item: Decorated<StatementFunction>) -> Statement

Converts to this type from the input type.
source§

impl From<Decorated<InterfaceDeclaration>> for Statement

source§

fn from(item: Decorated<InterfaceDeclaration>) -> Statement

Converts to this type from the input type.
source§

impl From<DoWhileStatement> for Statement

source§

fn from(item: DoWhileStatement) -> Statement

Converts to this type from the input type.
source§

impl From<ExtractedFunction<GeneralFunctionBase<StatementPosition>>> for Statement

source§

fn from(item: ExtractedFunction<StatementFunctionBase>) -> Statement

Converts to this type from the input type.
source§

impl From<ForLoopStatement> for Statement

source§

fn from(item: ForLoopStatement) -> Statement

Converts to this type from the input type.
source§

impl From<IfStatement> for Statement

source§

fn from(item: IfStatement) -> Statement

Converts to this type from the input type.
source§

impl From<ImportStatement> for Statement

source§

fn from(item: ImportStatement) -> Statement

Converts to this type from the input type.
source§

impl From<MultipleExpression> for Statement

source§

fn from(item: MultipleExpression) -> Statement

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<SwitchStatement> for Statement

source§

fn from(item: SwitchStatement) -> Statement

Converts to this type from the input type.
source§

impl From<TypeAlias> for Statement

source§

fn from(item: TypeAlias) -> Statement

Converts to this type from the input type.
source§

impl From<VariableStatement> for Statement

source§

fn from(item: VariableStatement) -> Statement

Converts to this type from the input type.
source§

impl From<WhileStatement> for Statement

source§

fn from(item: WhileStatement) -> Statement

Converts to this type from the input type.
source§

impl IntoAST<Statement> for Expression

source§

impl PartialEq<Statement> 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<'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 DeclareFunctionDeclaration> 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 DeclareFunctionDeclaration, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref DeclareVariableDeclaration> 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 DeclareVariableDeclaration, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref Decorated<ClassDeclaration<StatementPosition>>> 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 Decorated<ClassDeclaration<StatementPosition>>, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref Decorated<EnumDeclaration>> 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 Decorated<EnumDeclaration>, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref Decorated<ExportStatement>> 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 Decorated<ExportStatement>, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref Decorated<FunctionBase<GeneralFunctionBase<StatementPosition>>>> 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 Decorated<StatementFunction>, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref Decorated<InterfaceDeclaration>> 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 Decorated<InterfaceDeclaration>, 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 ExtractedFunction<GeneralFunctionBase<StatementPosition>>> 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 ExtractedFunction<StatementFunctionBase>, 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 ImportStatement> 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 ImportStatement, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref InterfaceDeclaration> 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 InterfaceDeclaration, 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 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 TypeAlias> 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 TypeAlias, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref VariableStatement> 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 VariableStatement, 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 DeclareFunctionDeclaration> 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 DeclareFunctionDeclaration, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref mut DeclareVariableDeclaration> 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 DeclareVariableDeclaration, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref mut Decorated<ClassDeclaration<StatementPosition>>> 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 Decorated<ClassDeclaration<StatementPosition>>, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref mut Decorated<EnumDeclaration>> 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 Decorated<EnumDeclaration>, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref mut Decorated<ExportStatement>> 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 Decorated<ExportStatement>, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref mut Decorated<FunctionBase<GeneralFunctionBase<StatementPosition>>>> 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 Decorated<StatementFunction>, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref mut Decorated<InterfaceDeclaration>> 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 Decorated<InterfaceDeclaration>, 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 ExtractedFunction<GeneralFunctionBase<StatementPosition>>> 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 ExtractedFunction<StatementFunctionBase>, 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 ImportStatement> 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 ImportStatement, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref mut InterfaceDeclaration> 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 InterfaceDeclaration, 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 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 TypeAlias> 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 TypeAlias, Self::Error>

Performs the conversion.
source§

impl<'try_into_ref> TryInto<&'try_into_ref mut VariableStatement> 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 VariableStatement, 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, settings: &VisitSettings, functions: &mut ExtractedFunctions, chain: &mut Annex<'_, Chain> )

source§

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

source§

impl Eq for Statement

source§

impl SelfVisitable for Statement

source§

impl SelfVisitableMut for Statement

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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> ToOwned for Twhere 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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.