#[repr(C, u8)]pub enum Statement<'a> {
Show 32 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>>),
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
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)
=>true
for (let i = 0; i < 10; i++) { }
=>true
for (let i in obj) { }
=>true
for (let i of obj) { }
=>true
while (true) { }
=>true
if (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
=>true
throw new Error()
=>true
break
=>true
continue
=>true
if (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