#[non_exhaustive]#[repr(C)]pub struct ForOfStatement<'a> {
pub span: Span,
pub node_id: Cell<NodeId>,
pub scope_id: Cell<Option<ScopeId>>,
pub left: ForStatementLeft<'a>,
pub right: Expression<'a>,
pub body: Statement<'a>,
pub await: bool,
}Expand description
For-Of Statement
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.span: Span§node_id: Cell<NodeId>§scope_id: Cell<Option<ScopeId>>§left: ForStatementLeft<'a>§right: Expression<'a>§body: Statement<'a>§await: boolImplementations§
Source§impl<'a> ForOfStatement<'a>
impl<'a> ForOfStatement<'a>
Sourcepub fn new<B>(
span: Span,
await: bool,
left: ForStatementLeft<'a>,
right: Expression<'a>,
body: Statement<'a>,
builder: &B,
) -> ForOfStatement<'a>where
B: GetAstBuilder<'a>,
pub fn new<B>(
span: Span,
await: bool,
left: ForStatementLeft<'a>,
right: Expression<'a>,
body: Statement<'a>,
builder: &B,
) -> ForOfStatement<'a>where
B: GetAstBuilder<'a>,
Build a ForOfStatement.
If you want the built node to be allocated in the memory arena,
use ForOfStatement::boxed instead.
§Parameters
span: TheSpancovering this nodeawaitleftrightbody
Sourcepub fn boxed<B>(
span: Span,
await: bool,
left: ForStatementLeft<'a>,
right: Expression<'a>,
body: Statement<'a>,
builder: &B,
) -> Box<'a, ForOfStatement<'a>>where
B: GetAstBuilder<'a>,
pub fn boxed<B>(
span: Span,
await: bool,
left: ForStatementLeft<'a>,
right: Expression<'a>,
body: Statement<'a>,
builder: &B,
) -> Box<'a, ForOfStatement<'a>>where
B: GetAstBuilder<'a>,
Build a ForOfStatement, and store it in the memory arena.
Returns a Box containing the newly-allocated node.
If you want a stack-allocated node, use ForOfStatement::new instead.
§Parameters
span: TheSpancovering this nodeawaitleftrightbody
Sourcepub fn new_with_scope_id<B>(
span: Span,
await: bool,
left: ForStatementLeft<'a>,
right: Expression<'a>,
body: Statement<'a>,
scope_id: ScopeId,
builder: &B,
) -> ForOfStatement<'a>where
B: GetAstBuilder<'a>,
pub fn new_with_scope_id<B>(
span: Span,
await: bool,
left: ForStatementLeft<'a>,
right: Expression<'a>,
body: Statement<'a>,
scope_id: ScopeId,
builder: &B,
) -> ForOfStatement<'a>where
B: GetAstBuilder<'a>,
Build a ForOfStatement with scope_id.
If you want the built node to be allocated in the memory arena,
use ForOfStatement::boxed_with_scope_id instead.
§Parameters
span: TheSpancovering this nodeawaitleftrightbodyscope_id
Sourcepub fn boxed_with_scope_id<B>(
span: Span,
await: bool,
left: ForStatementLeft<'a>,
right: Expression<'a>,
body: Statement<'a>,
scope_id: ScopeId,
builder: &B,
) -> Box<'a, ForOfStatement<'a>>where
B: GetAstBuilder<'a>,
pub fn boxed_with_scope_id<B>(
span: Span,
await: bool,
left: ForStatementLeft<'a>,
right: Expression<'a>,
body: Statement<'a>,
scope_id: ScopeId,
builder: &B,
) -> Box<'a, ForOfStatement<'a>>where
B: GetAstBuilder<'a>,
Build a ForOfStatement with scope_id, and store it in the memory arena.
Returns a Box containing the newly-allocated node.
If you want a stack-allocated node, use ForOfStatement::new_with_scope_id instead.
§Parameters
span: TheSpancovering this nodeawaitleftrightbodyscope_id
Source§impl ForOfStatement<'_>
impl ForOfStatement<'_>
Sourcepub fn node_id(&self) -> NodeId
pub fn node_id(&self) -> NodeId
Get NodeId of ForOfStatement.
Only use this method on a post-semantic AST where NodeIds are always defined.
Sourcepub fn set_node_id(&self, node_id: NodeId)
pub fn set_node_id(&self, node_id: NodeId)
Set NodeId of ForOfStatement.
Sourcepub fn scope_id(&self) -> ScopeId
pub fn scope_id(&self) -> ScopeId
Get ScopeId of ForOfStatement.
Only use this method on a post-semantic AST where ScopeIds are always defined.
§Panics
Panics if scope_id is None.
Sourcepub fn set_scope_id(&self, scope_id: ScopeId)
pub fn set_scope_id(&self, scope_id: ScopeId)
Set ScopeId of ForOfStatement.
Trait Implementations§
Source§impl<'new_alloc> CloneIn<'new_alloc> for ForOfStatement<'_>
impl<'new_alloc> CloneIn<'new_alloc> for ForOfStatement<'_>
Source§type Cloned = ForOfStatement<'new_alloc>
type Cloned = ForOfStatement<'new_alloc>
Source§fn clone_in_impl(
&self,
with_semantic_ids: CloneInSemanticIds,
allocator: &'new_alloc Allocator,
) -> <ForOfStatement<'_> as CloneIn<'new_alloc>>::Cloned
fn clone_in_impl( &self, with_semantic_ids: CloneInSemanticIds, allocator: &'new_alloc Allocator, ) -> <ForOfStatement<'_> as CloneIn<'new_alloc>>::Cloned
self into allocator, threading whether semantic ids should be preserved as a
runtime with_semantic_ids flag rather than as two separate methods. Read moreSource§fn clone_in(&self, allocator: &'new_alloc Allocator) -> Self::Cloned
fn clone_in(&self, allocator: &'new_alloc Allocator) -> Self::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,
) -> Self::Cloned
fn clone_in_with_semantic_ids( &self, allocator: &'new_alloc Allocator, ) -> Self::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 ForOfStatement<'_>
impl ContentEq for ForOfStatement<'_>
Source§fn content_eq(&self, other: &ForOfStatement<'_>) -> bool
fn content_eq(&self, other: &ForOfStatement<'_>) -> 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<'a> Debug for ForOfStatement<'a>
impl<'a> Debug for ForOfStatement<'a>
Source§impl<'a> Dummy<'a> for ForOfStatement<'a>
impl<'a> Dummy<'a> for ForOfStatement<'a>
Source§fn dummy(allocator: &'a Allocator) -> ForOfStatement<'a>
fn dummy(allocator: &'a Allocator) -> ForOfStatement<'a>
Create a dummy ForOfStatement.
Has cost of making 3 allocations (64 bytes).
Source§impl ESTree for ForOfStatement<'_>
impl ESTree for ForOfStatement<'_>
fn serialize<S>(&self, serializer: S)where
S: Serializer,
Source§impl Gen for ForOfStatement<'_>
impl Gen for ForOfStatement<'_>
Source§impl GetSpan for ForOfStatement<'_>
impl GetSpan for ForOfStatement<'_>
Source§impl GetSpanMut for ForOfStatement<'_>
impl GetSpanMut for ForOfStatement<'_>
Source§impl<'a> ReplaceWith<'a> for ForOfStatement<'a>
impl<'a> ReplaceWith<'a> for ForOfStatement<'a>
Source§fn replace_with(&mut self, replacer: impl FnOnce(Self) -> Self)
fn replace_with(&mut self, replacer: impl FnOnce(Self) -> Self)
replacer. Read moreSource§impl<'a> TakeIn<'a> for ForOfStatement<'a>
impl<'a> TakeIn<'a> for ForOfStatement<'a>
Source§fn take_in<A>(&mut self, allocator_accessor: &A) -> Selfwhere
A: GetAllocator<'a>,
fn take_in<A>(&mut self, allocator_accessor: &A) -> Selfwhere
A: GetAllocator<'a>,
Source§fn take_in_box<A>(&mut self, allocator_accessor: &A) -> Box<'a, Self>where
A: GetAllocator<'a>,
fn take_in_box<A>(&mut self, allocator_accessor: &A) -> Box<'a, Self>where
A: GetAllocator<'a>,
Source§impl UnstableAddress for ForOfStatement<'_>
impl UnstableAddress for ForOfStatement<'_>
Auto Trait Implementations§
impl<'a> !Freeze for ForOfStatement<'a>
impl<'a> !RefUnwindSafe for ForOfStatement<'a>
impl<'a> !Send for ForOfStatement<'a>
impl<'a> !Sync for ForOfStatement<'a>
impl<'a> !UnwindSafe for ForOfStatement<'a>
impl<'a> Unpin for ForOfStatement<'a>
impl<'a> UnsafeUnpin for ForOfStatement<'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