#[repr(C, u8)]pub enum Statement<'a> {
Show 33 variants
BlockStatement(Box<'a, BlockStatement<'a>>),
BreakStatement(Box<'a, BreakStatement<'a>>),
ContinueStatement(Box<'a, ContinueStatement<'a>>),
DebuggerStatement(Box<'a, DebuggerStatement>),
DoWhileStatement(Box<'a, DoWhileStatement<'a>>),
EmptyStatement(Box<'a, EmptyStatement>),
ExpressionStatement(Box<'a, ExpressionStatement<'a>>),
ForInStatement(Box<'a, ForInStatement<'a>>),
ForOfStatement(Box<'a, ForOfStatement<'a>>),
ForStatement(Box<'a, ForStatement<'a>>),
IfStatement(Box<'a, IfStatement<'a>>),
LabeledStatement(Box<'a, LabeledStatement<'a>>),
ReturnStatement(Box<'a, ReturnStatement<'a>>),
SwitchStatement(Box<'a, SwitchStatement<'a>>),
ThrowStatement(Box<'a, ThrowStatement<'a>>),
TryStatement(Box<'a, TryStatement<'a>>),
WhileStatement(Box<'a, WhileStatement<'a>>),
WithStatement(Box<'a, WithStatement<'a>>),
VariableDeclaration(Box<'a, VariableDeclaration<'a>>),
FunctionDeclaration(Box<'a, Function<'a>>),
ClassDeclaration(Box<'a, Class<'a>>),
TSTypeAliasDeclaration(Box<'a, TSTypeAliasDeclaration<'a>>),
TSInterfaceDeclaration(Box<'a, TSInterfaceDeclaration<'a>>),
TSEnumDeclaration(Box<'a, TSEnumDeclaration<'a>>),
TSModuleDeclaration(Box<'a, TSModuleDeclaration<'a>>),
TSGlobalDeclaration(Box<'a, TSGlobalDeclaration<'a>>),
TSImportEqualsDeclaration(Box<'a, TSImportEqualsDeclaration<'a>>),
ImportDeclaration(Box<'a, ImportDeclaration<'a>>),
ExportAllDeclaration(Box<'a, ExportAllDeclaration<'a>>),
ExportDefaultDeclaration(Box<'a, ExportDefaultDeclaration<'a>>),
ExportNamedDeclaration(Box<'a, ExportNamedDeclaration<'a>>),
TSExportAssignment(Box<'a, TSExportAssignment<'a>>),
TSNamespaceExportDeclaration(Box<'a, TSNamespaceExportDeclaration<'a>>),
}Expand description
Statement
Inherits variants from Declaration and ModuleDeclaration.
See ast module docs for explanation of inheritance.
Variants§
BlockStatement(Box<'a, BlockStatement<'a>>)
BreakStatement(Box<'a, BreakStatement<'a>>)
ContinueStatement(Box<'a, ContinueStatement<'a>>)
DebuggerStatement(Box<'a, DebuggerStatement>)
DoWhileStatement(Box<'a, DoWhileStatement<'a>>)
EmptyStatement(Box<'a, EmptyStatement>)
ExpressionStatement(Box<'a, ExpressionStatement<'a>>)
ForInStatement(Box<'a, ForInStatement<'a>>)
ForOfStatement(Box<'a, ForOfStatement<'a>>)
ForStatement(Box<'a, ForStatement<'a>>)
IfStatement(Box<'a, IfStatement<'a>>)
LabeledStatement(Box<'a, LabeledStatement<'a>>)
ReturnStatement(Box<'a, ReturnStatement<'a>>)
SwitchStatement(Box<'a, SwitchStatement<'a>>)
ThrowStatement(Box<'a, ThrowStatement<'a>>)
TryStatement(Box<'a, TryStatement<'a>>)
WhileStatement(Box<'a, WhileStatement<'a>>)
WithStatement(Box<'a, WithStatement<'a>>)
VariableDeclaration(Box<'a, VariableDeclaration<'a>>)
Inherited from Declaration
FunctionDeclaration(Box<'a, Function<'a>>)
Inherited from Declaration
ClassDeclaration(Box<'a, Class<'a>>)
Inherited from Declaration
TSTypeAliasDeclaration(Box<'a, TSTypeAliasDeclaration<'a>>)
Inherited from Declaration
TSInterfaceDeclaration(Box<'a, TSInterfaceDeclaration<'a>>)
Inherited from Declaration
TSEnumDeclaration(Box<'a, TSEnumDeclaration<'a>>)
Inherited from Declaration
TSModuleDeclaration(Box<'a, TSModuleDeclaration<'a>>)
Inherited from Declaration
TSGlobalDeclaration(Box<'a, TSGlobalDeclaration<'a>>)
Inherited from Declaration
TSImportEqualsDeclaration(Box<'a, TSImportEqualsDeclaration<'a>>)
Inherited from Declaration
ImportDeclaration(Box<'a, ImportDeclaration<'a>>)
Inherited from ModuleDeclaration.
import hello from './world.js';
import * as t from './world.js';
ExportAllDeclaration(Box<'a, ExportAllDeclaration<'a>>)
Inherited from ModuleDeclaration.
export * as numbers from '../numbers.js'
ExportDefaultDeclaration(Box<'a, ExportDefaultDeclaration<'a>>)
Inherited from ModuleDeclaration.
export default 5;
ExportNamedDeclaration(Box<'a, ExportNamedDeclaration<'a>>)
Inherited from ModuleDeclaration.
export {five} from './numbers.js';
export {six, seven};
TSExportAssignment(Box<'a, TSExportAssignment<'a>>)
Inherited from ModuleDeclaration.
export = 5;
TSNamespaceExportDeclaration(Box<'a, TSNamespaceExportDeclaration<'a>>)
Inherited from ModuleDeclaration.
export as namespace React;
Implementations§
Source§impl<'a> Statement<'a>
impl<'a> Statement<'a>
Sourcepub fn is_module_declaration(&self) -> bool
pub fn is_module_declaration(&self) -> bool
Return if a Statement is a ModuleDeclaration.
Sourcepub fn into_module_declaration(self) -> ModuleDeclaration<'a>
pub fn into_module_declaration(self) -> ModuleDeclaration<'a>
Sourcepub fn as_module_declaration(&self) -> Option<&ModuleDeclaration<'a>>
pub fn as_module_declaration(&self) -> Option<&ModuleDeclaration<'a>>
Convert &Statement to &ModuleDeclaration.
Sourcepub fn as_module_declaration_mut(
&mut self,
) -> Option<&mut ModuleDeclaration<'a>>
pub fn as_module_declaration_mut( &mut self, ) -> Option<&mut ModuleDeclaration<'a>>
Convert &mut Statement to &mut ModuleDeclaration.
Sourcepub fn to_module_declaration(&self) -> &ModuleDeclaration<'a>
pub fn to_module_declaration(&self) -> &ModuleDeclaration<'a>
Sourcepub fn to_module_declaration_mut(&mut self) -> &mut ModuleDeclaration<'a>
pub fn to_module_declaration_mut(&mut self) -> &mut ModuleDeclaration<'a>
Source§impl<'a> Statement<'a>
impl<'a> Statement<'a>
Sourcepub fn is_declaration(&self) -> bool
pub fn is_declaration(&self) -> bool
Return if a Statement is a Declaration.
Sourcepub fn into_declaration(self) -> Declaration<'a>
pub fn into_declaration(self) -> Declaration<'a>
Sourcepub fn as_declaration(&self) -> Option<&Declaration<'a>>
pub fn as_declaration(&self) -> Option<&Declaration<'a>>
Convert &Statement to &Declaration.
Sourcepub fn as_declaration_mut(&mut self) -> Option<&mut Declaration<'a>>
pub fn as_declaration_mut(&mut self) -> Option<&mut Declaration<'a>>
Convert &mut Statement to &mut Declaration.
Sourcepub fn to_declaration(&self) -> &Declaration<'a>
pub fn to_declaration(&self) -> &Declaration<'a>
Sourcepub fn to_declaration_mut(&mut self) -> &mut Declaration<'a>
pub fn to_declaration_mut(&mut self) -> &mut Declaration<'a>
Source§impl Statement<'_>
impl Statement<'_>
Sourcepub fn is_typescript_syntax(&self) -> bool
pub fn is_typescript_syntax(&self) -> bool
Returns true if this statement uses any TypeScript syntax (such as declare).
Sourcepub fn is_iteration_statement(&self) -> bool
pub fn is_iteration_statement(&self) -> bool
Returns true if this statement uses iteration like do, for, or while.
§Example
do { } while (true)=>truefor (let i = 0; i < 10; i++) { }=>truefor (let i in obj) { }=>truefor (let i of obj) { }=>truewhile (true) { }=>trueif (true) { }=>false
Sourcepub fn is_jump_statement(&self) -> bool
pub fn is_jump_statement(&self) -> bool
Returns true if this statement affects control flow, such as return, throw, break, or continue.
§Example
return true=>truethrow new Error()=>truebreak=>truecontinue=>trueif (true) { }=>false
Sourcepub fn get_one_child(&self) -> Option<&Statement<'_>>
pub fn get_one_child(&self) -> Option<&Statement<'_>>
Returns the single statement from block statement, or self
Sourcepub fn get_one_child_mut(&mut self) -> Option<&mut Statement<'_>>
pub fn get_one_child_mut(&mut self) -> Option<&mut Statement<'_>>
Returns the single statement from block statement, or self
Trait Implementations§
Source§impl<'new_alloc> CloneIn<'new_alloc> for Statement<'_>
impl<'new_alloc> CloneIn<'new_alloc> for Statement<'_>
Source§fn clone_in(
&self,
allocator: &'new_alloc Allocator,
) -> <Statement<'_> as CloneIn<'new_alloc>>::Cloned
fn clone_in( &self, allocator: &'new_alloc Allocator, ) -> <Statement<'_> as CloneIn<'new_alloc>>::Cloned
self into the given allocator. allocator may be the same one
that self is already in.Source§fn clone_in_with_semantic_ids(
&self,
allocator: &'new_alloc Allocator,
) -> <Statement<'_> as CloneIn<'new_alloc>>::Cloned
fn clone_in_with_semantic_ids( &self, allocator: &'new_alloc Allocator, ) -> <Statement<'_> as CloneIn<'new_alloc>>::Cloned
clone_in, but for some special type, it will also clone the semantic ids.
Please use this method only if you make sure semantic info is synced with the ast node.Source§impl ContentEq for Statement<'_>
impl ContentEq for Statement<'_>
Source§fn content_eq(&self, other: &Statement<'_>) -> bool
fn content_eq(&self, other: &Statement<'_>) -> bool
self and other to be equal.Source§fn content_ne(&self, other: &Self) -> bool
fn content_ne(&self, other: &Self) -> bool
self and other not to be equal.
The default implementation is almost always
sufficient, and should not be overridden without very good reason.Source§impl ESTree for Statement<'_>
impl ESTree for Statement<'_>
fn serialize<S>(&self, serializer: S)where
S: Serializer,
Source§impl<'a> From<Declaration<'a>> for Statement<'a>
impl<'a> From<Declaration<'a>> for Statement<'a>
Source§fn from(value: Declaration<'a>) -> Statement<'a>
fn from(value: Declaration<'a>) -> Statement<'a>
Convert Declaration to Statement.
Source§impl<'a> From<ModuleDeclaration<'a>> for Statement<'a>
impl<'a> From<ModuleDeclaration<'a>> for Statement<'a>
Source§fn from(value: ModuleDeclaration<'a>) -> Statement<'a>
fn from(value: ModuleDeclaration<'a>) -> Statement<'a>
Convert ModuleDeclaration to Statement.
Source§impl GetAddress for Statement<'_>
impl GetAddress for Statement<'_>
Source§impl GetSpanMut for Statement<'_>
impl GetSpanMut for Statement<'_>
Source§impl<'a> MayHaveSideEffects<'a> for Statement<'a>
impl<'a> MayHaveSideEffects<'a> for Statement<'a>
fn may_have_side_effects( &self, ctx: &impl MayHaveSideEffectsContext<'a>, ) -> bool
Source§impl<'a> TakeIn<'a> for Statement<'a>
impl<'a> TakeIn<'a> for Statement<'a>
Source§fn take_in<A>(&mut self, allocator_accessor: A) -> Selfwhere
A: AllocatorAccessor<'a>,
fn take_in<A>(&mut self, allocator_accessor: A) -> Selfwhere
A: AllocatorAccessor<'a>,
Source§fn take_in_box<A>(&mut self, allocator_accessor: A) -> Box<'a, Self>where
A: AllocatorAccessor<'a>,
fn take_in_box<A>(&mut self, allocator_accessor: A) -> Box<'a, Self>where
A: AllocatorAccessor<'a>,
Source§impl<'a> TryFrom<Statement<'a>> for Declaration<'a>
impl<'a> TryFrom<Statement<'a>> for Declaration<'a>
Source§impl<'a> TryFrom<Statement<'a>> for ModuleDeclaration<'a>
impl<'a> TryFrom<Statement<'a>> for ModuleDeclaration<'a>
Auto Trait Implementations§
impl<'a> Freeze for Statement<'a>
impl<'a> !RefUnwindSafe for Statement<'a>
impl<'a> !Send for Statement<'a>
impl<'a> !Sync for Statement<'a>
impl<'a> Unpin for Statement<'a>
impl<'a> !UnwindSafe for Statement<'a>
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more