#[repr(C, u8)]pub enum BindingPatternKind<'a> {
BindingIdentifier(Box<'a, BindingIdentifier<'a>>),
ObjectPattern(Box<'a, ObjectPattern<'a>>),
ArrayPattern(Box<'a, ArrayPattern<'a>>),
AssignmentPattern(Box<'a, AssignmentPattern<'a>>),
}Variants§
BindingIdentifier(Box<'a, BindingIdentifier<'a>>)
x in const x = 1;.
Also e.g. x in:
const [x] = arr;const { a: x } = obj;const [ ...x ] = arr;const [x = 1] = arr;function f(x) {}try {} catch (x) {}
ObjectPattern(Box<'a, ObjectPattern<'a>>)
{x} in const {x} = 1;.
Also e.g. {x} in:
const [{x}] = arr;const { a: {x} } = obj;const [{x} = obj] = arr;const [ ...{x} ] = arr;function f({x}) {}try {} catch ({x}) {}
ArrayPattern(Box<'a, ArrayPattern<'a>>)
[x] in const [x] = 1;
Also e.g. [x] in:
const { a: [x] } = obj;const { a: [x] = arr } = obj;const [[x]] = obj;const [ ...[x] ] = arr;function f([x]) {}try {} catch ([x]) {}
AssignmentPattern(Box<'a, AssignmentPattern<'a>>)
x = 1 in const {x = 1} = obj;.
Also e.g. x = 1 in:
const [x = 1] = arr;const { a: x = 1 } = obj;function f(x = 1) {}
Also e.g. {x} = obj in:
const [{x} = obj] = arr;const { a: {x} = obj2 } = obj;function f({x} = obj) {}
Invalid in:
BindingRestElemente.g.const [...x = 1] = arr;.CatchParametere.g.try {} catch (e = 1) {}.
Implementations§
Source§impl<'a> BindingPatternKind<'a>
impl<'a> BindingPatternKind<'a>
Sourcepub fn get_identifier_name(&self) -> Option<Atom<'a>>
pub fn get_identifier_name(&self) -> Option<Atom<'a>>
Returns the name of the bound identifier in this binding pattern, if it has one, or None otherwise.
§Example
- calling on
a = 1inlet a = 1would returnSome("a") - calling on
a = 1inlet {a = 1} = cwould returnSome("a") - calling on
a: binlet {a: b} = cwould returnNone
Sourcepub fn get_binding_identifier(&self) -> Option<&BindingIdentifier<'a>>
pub fn get_binding_identifier(&self) -> Option<&BindingIdentifier<'a>>
Returns the bound identifier in this binding pattern, if it has one, or None otherwise.
To just get the name of the bound identifier, use BindingPatternKind::get_identifier_name.
§Example
- calling on
a = 1inlet a = 1would returnSome(BindingIdentifier { name: "a", .. }) - calling on
a = 1inlet {a = 1} = cwould returnSome(BindingIdentifier { name: "a", .. }) - calling on
a: binlet {a: b} = cwould returnNone
Sourcepub fn get_binding_identifiers(&self) -> Vec<&BindingIdentifier<'a>>
pub fn get_binding_identifiers(&self) -> Vec<&BindingIdentifier<'a>>
Returns the bound identifiers in this binding pattern.
§Example
let {} = objwould return[]let {a, b} = objwould return[a, b]let {a = 1, b: c} = objwould return[a, c]
Sourcepub fn is_destructuring_pattern(&self) -> bool
pub fn is_destructuring_pattern(&self) -> bool
Returns true if this binding pattern is destructuring.
§Example
{a, b}inlet {a, b} = objwould returntrue[a, b]inlet [a, b] = arrwould returntruea = 1inlet {a = 1} = objwould returntrueainlet {a = 1} = objwould returnfalse
Sourcepub fn is_binding_identifier(&self) -> bool
pub fn is_binding_identifier(&self) -> bool
Returns true if this binding pattern is a binding identifier like a in let a = 1.
Sourcepub fn is_object_pattern(&self) -> bool
pub fn is_object_pattern(&self) -> bool
Returns true if this binding pattern is an object pattern like {a} in let {a} = obj.
Sourcepub fn is_array_pattern(&self) -> bool
pub fn is_array_pattern(&self) -> bool
Returns true if this binding pattern is an array pattern like [a] in let [a] = arr.
Sourcepub fn is_assignment_pattern(&self) -> bool
pub fn is_assignment_pattern(&self) -> bool
Returns true if this binding pattern is an assignment pattern like a = 1 in let {a = 1} = obj.
Trait Implementations§
Source§impl<'new_alloc> CloneIn<'new_alloc> for BindingPatternKind<'_>
impl<'new_alloc> CloneIn<'new_alloc> for BindingPatternKind<'_>
Source§type Cloned = BindingPatternKind<'new_alloc>
type Cloned = BindingPatternKind<'new_alloc>
Source§fn clone_in(
&self,
allocator: &'new_alloc Allocator,
) -> <BindingPatternKind<'_> as CloneIn<'new_alloc>>::Cloned
fn clone_in( &self, allocator: &'new_alloc Allocator, ) -> <BindingPatternKind<'_> 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,
) -> <BindingPatternKind<'_> as CloneIn<'new_alloc>>::Cloned
fn clone_in_with_semantic_ids( &self, allocator: &'new_alloc Allocator, ) -> <BindingPatternKind<'_> 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 BindingPatternKind<'_>
impl ContentEq for BindingPatternKind<'_>
Source§fn content_eq(&self, other: &BindingPatternKind<'_>) -> bool
fn content_eq(&self, other: &BindingPatternKind<'_>) -> 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 BindingPatternKind<'a>
impl<'a> Debug for BindingPatternKind<'a>
Source§impl<'a> Dummy<'a> for BindingPatternKind<'a>
impl<'a> Dummy<'a> for BindingPatternKind<'a>
Source§fn dummy(allocator: &'a Allocator) -> BindingPatternKind<'a>
fn dummy(allocator: &'a Allocator) -> BindingPatternKind<'a>
Create a dummy BindingPatternKind.
Has cost of making 1 allocation (32 bytes).
Source§impl Gen for BindingPatternKind<'_>
impl Gen for BindingPatternKind<'_>
Source§impl GetAddress for BindingPatternKind<'_>
impl GetAddress for BindingPatternKind<'_>
Source§impl GetSpan for BindingPatternKind<'_>
impl GetSpan for BindingPatternKind<'_>
Source§impl GetSpanMut for BindingPatternKind<'_>
impl GetSpanMut for BindingPatternKind<'_>
Source§impl<'a> TakeIn<'a> for BindingPatternKind<'a>
impl<'a> TakeIn<'a> for BindingPatternKind<'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>,
Auto Trait Implementations§
impl<'a> Freeze for BindingPatternKind<'a>
impl<'a> !RefUnwindSafe for BindingPatternKind<'a>
impl<'a> !Send for BindingPatternKind<'a>
impl<'a> !Sync for BindingPatternKind<'a>
impl<'a> Unpin for BindingPatternKind<'a>
impl<'a> !UnwindSafe for BindingPatternKind<'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