Skip to main content

Kind

Enum Kind 

Source
#[non_exhaustive]
#[repr(u8)]
pub enum Kind {
Show 169 variants Eof = 0, Undetermined = 1, Skip = 2, HashbangComment = 3, Ident = 4, Await = 5, Break = 6, Case = 7, Catch = 8, Class = 9, Const = 10, Continue = 11, Debugger = 12, Default = 13, Delete = 14, Do = 15, Else = 16, Enum = 17, Export = 18, Extends = 19, Finally = 20, For = 21, Function = 22, If = 23, Import = 24, In = 25, Instanceof = 26, New = 27, Return = 28, Super = 29, Switch = 30, This = 31, Throw = 32, Try = 33, Typeof = 34, Var = 35, Void = 36, While = 37, With = 38, Async = 39, From = 40, Get = 41, Meta = 42, Of = 43, Set = 44, Target = 45, Accessor = 46, Source = 47, Defer = 48, Abstract = 49, As = 50, Asserts = 51, Assert = 52, Any = 53, Boolean = 54, Constructor = 55, Declare = 56, Infer = 57, Intrinsic = 58, Is = 59, KeyOf = 60, Module = 61, Namespace = 62, Never = 63, Out = 64, Readonly = 65, Require = 66, Number = 67, Object = 68, Satisfies = 69, String = 70, Symbol = 71, Type = 72, Undefined = 73, Unique = 74, Using = 75, Unknown = 76, Global = 77, BigInt = 78, Override = 79, Implements = 80, Interface = 81, Let = 82, Package = 83, Private = 84, Protected = 85, Public = 86, Static = 87, Yield = 88, True = 89, False = 90, Null = 91, Amp = 92, Amp2 = 93, Amp2Eq = 94, AmpEq = 95, Bang = 96, Caret = 97, CaretEq = 98, Colon = 99, Comma = 100, Dot = 101, Dot3 = 102, Eq = 103, Eq2 = 104, Eq3 = 105, GtEq = 106, LAngle = 107, LBrack = 108, LCurly = 109, LParen = 110, LtEq = 111, Minus = 112, Minus2 = 113, MinusEq = 114, Neq = 115, Neq2 = 116, Percent = 117, PercentEq = 118, Pipe = 119, Pipe2 = 120, Pipe2Eq = 121, PipeEq = 122, Plus = 123, Plus2 = 124, PlusEq = 125, Question = 126, Question2 = 127, Question2Eq = 128, QuestionDot = 129, RAngle = 130, RBrack = 131, RCurly = 132, RParen = 133, Semicolon = 134, ShiftLeft = 135, ShiftLeftEq = 136, ShiftRight = 137, ShiftRight3 = 138, ShiftRight3Eq = 139, ShiftRightEq = 140, Slash = 141, SlashEq = 142, Star = 143, Star2 = 144, Star2Eq = 145, StarEq = 146, Tilde = 147, Arrow = 148, Decimal = 149, Float = 150, Binary = 151, Octal = 152, Hex = 153, PositiveExponential = 154, NegativeExponential = 155, DecimalBigInt = 156, BinaryBigInt = 157, OctalBigInt = 158, HexBigInt = 159, Str = 160, RegExp = 161, NoSubstitutionTemplate = 162, TemplateHead = 163, TemplateMiddle = 164, TemplateTail = 165, PrivateIdentifier = 166, JSXText = 167, At = 168,
}
Expand description

Lexer token kind

Exported for other oxc crates to use. You generally don’t need to use this directly.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Eof = 0

§

Undetermined = 1

§

Skip = 2

§

HashbangComment = 3

§

Ident = 4

§

Await = 5

§

Break = 6

§

Case = 7

§

Catch = 8

§

Class = 9

§

Const = 10

§

Continue = 11

§

Debugger = 12

§

Default = 13

§

Delete = 14

§

Do = 15

§

Else = 16

§

Enum = 17

§

Export = 18

§

Extends = 19

§

Finally = 20

§

For = 21

§

Function = 22

§

If = 23

§

Import = 24

§

In = 25

§

Instanceof = 26

§

New = 27

§

Return = 28

§

Super = 29

§

Switch = 30

§

This = 31

§

Throw = 32

§

Try = 33

§

Typeof = 34

§

Var = 35

§

Void = 36

§

While = 37

§

With = 38

§

Async = 39

§

From = 40

§

Get = 41

§

Meta = 42

§

Of = 43

§

Set = 44

§

Target = 45

§

Accessor = 46

§

Source = 47

§

Defer = 48

§

Abstract = 49

§

As = 50

§

Asserts = 51

§

Assert = 52

§

Any = 53

§

Boolean = 54

§

Constructor = 55

§

Declare = 56

§

Infer = 57

§

Intrinsic = 58

§

Is = 59

§

KeyOf = 60

§

Module = 61

§

Namespace = 62

§

Never = 63

§

Out = 64

§

Readonly = 65

§

Require = 66

§

Number = 67

§

Object = 68

§

Satisfies = 69

§

String = 70

§

Symbol = 71

§

Type = 72

§

Undefined = 73

§

Unique = 74

§

Using = 75

§

Unknown = 76

§

Global = 77

§

BigInt = 78

§

Override = 79

§

Implements = 80

§

Interface = 81

§

Let = 82

§

Package = 83

§

Private = 84

§

Protected = 85

§

Public = 86

§

Static = 87

§

Yield = 88

§

True = 89

§

False = 90

§

Null = 91

§

Amp = 92

§

Amp2 = 93

§

Amp2Eq = 94

§

AmpEq = 95

§

Bang = 96

§

Caret = 97

§

CaretEq = 98

§

Colon = 99

§

Comma = 100

§

Dot = 101

§

Dot3 = 102

§

Eq = 103

§

Eq2 = 104

§

Eq3 = 105

§

GtEq = 106

§

LAngle = 107

§

LBrack = 108

§

LCurly = 109

§

LParen = 110

§

LtEq = 111

§

Minus = 112

§

Minus2 = 113

§

MinusEq = 114

§

Neq = 115

§

Neq2 = 116

§

Percent = 117

§

PercentEq = 118

§

Pipe = 119

§

Pipe2 = 120

§

Pipe2Eq = 121

§

PipeEq = 122

§

Plus = 123

§

Plus2 = 124

§

PlusEq = 125

§

Question = 126

§

Question2 = 127

§

Question2Eq = 128

§

QuestionDot = 129

§

RAngle = 130

§

RBrack = 131

§

RCurly = 132

§

RParen = 133

§

Semicolon = 134

§

ShiftLeft = 135

§

ShiftLeftEq = 136

§

ShiftRight = 137

§

ShiftRight3 = 138

§

ShiftRight3Eq = 139

§

ShiftRightEq = 140

§

Slash = 141

§

SlashEq = 142

§

Star = 143

§

Star2 = 144

§

Star2Eq = 145

§

StarEq = 146

§

Tilde = 147

§

Arrow = 148

§

Decimal = 149

§

Float = 150

§

Binary = 151

§

Octal = 152

§

Hex = 153

§

PositiveExponential = 154

§

NegativeExponential = 155

§

DecimalBigInt = 156

§

BinaryBigInt = 157

§

OctalBigInt = 158

§

HexBigInt = 159

§

Str = 160

String Type

§

RegExp = 161

§

NoSubstitutionTemplate = 162

§

TemplateHead = 163

§

TemplateMiddle = 164

§

TemplateTail = 165

§

PrivateIdentifier = 166

§

JSXText = 167

§

At = 168

Implementations§

Source§

impl Kind

Source

pub const VARIANTS: [Kind; 169]

All variants in declaration order.

Source§

impl Kind

Source

pub const fn is_eof(self) -> bool

Source

pub const fn is_number(self) -> bool

Source

pub fn matches_number_byte(self, b: u8) -> bool

Source

pub const fn is_identifier_reference( self, is_yield_context: bool, is_await_context: bool, ) -> bool

Identifiers IdentifierReference

Source

pub const fn is_binding_identifier(self) -> bool

BindingIdentifier

Source

pub const fn is_label_identifier( self, is_yield_context: bool, is_await_context: bool, ) -> bool

LabelIdentifier

Source

pub const fn is_identifier(self) -> bool

Identifier IdentifierName but not ReservedWord

Source

pub const fn is_ts_identifier( self, is_yield_context: bool, is_await_context: bool, ) -> bool

Source

pub const fn is_identifier_name(self) -> bool

IdentifierName All identifier names are either Ident or keywords (Await..=Null in the enum).

Source

pub const fn is_after_let(self) -> bool

Check the succeeding token of a let keyword.

let { a, b } = c, let [a, b] = c, let ident
Source

pub const fn is_literal(self) -> bool

Section 13.2.4 Literals Literal : NullLiteral BooleanLiteral NumericLiteral StringLiteral

Source

pub const fn is_after_await_or_yield(self) -> bool

Source

pub const fn is_literal_property_name(self) -> bool

Section 13.2.6 Object Initializer LiteralPropertyName : IdentifierName StringLiteral NumericLiteral

Source

pub const fn is_identifier_or_keyword(self) -> bool

Source

pub const fn is_assignment_operator(self) -> bool

Source

pub const fn is_binary_operator(self) -> bool

Source

pub const fn is_logical_operator(self) -> bool

Source

pub const fn is_unary_operator(self) -> bool

Source

pub const fn is_update_operator(self) -> bool

Source

pub const fn is_any_keyword(self) -> bool

Source

pub const fn is_reserved_keyword(self) -> bool

Source

pub const fn is_strict_mode_contextual_keyword(self) -> bool

Source

pub const fn is_contextual_keyword(self) -> bool

Source

pub const fn is_future_reserved_keyword(self) -> bool

Source

pub const fn is_template_start_of_tagged_template(self) -> bool

Source

pub const fn is_modifier_kind(self) -> bool

Source

pub const fn is_binding_identifier_or_private_identifier_or_pattern( self, ) -> bool

Source

pub fn match_keyword(s: &str) -> Self

Source

pub fn to_str(self) -> &'static str

Trait Implementations§

Source§

impl Clone for Kind

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Kind

Source§

impl Debug for Kind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Kind

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Display for Kind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for Kind

Source§

impl PartialEq for Kind

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Kind

Auto Trait Implementations§

§

impl Freeze for Kind

§

impl RefUnwindSafe for Kind

§

impl Send for Kind

§

impl Sync for Kind

§

impl Unpin for Kind

§

impl UnsafeUnpin for Kind

§

impl UnwindSafe for Kind

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<'a, T> FromIn<'a, T> for T

Source§

fn from_in(t: T, _: &'a Allocator) -> T

Converts to this type from the input type within the given allocator.
Source§

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

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<'a, T, U> IntoIn<'a, U> for T
where U: FromIn<'a, T>,

Source§

fn into_in(self, allocator: &'a Allocator) -> U

Converts this type into the (usually inferred) input type within the given allocator.
Source§

impl<D> OwoColorize for D

Source§

fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>
where C: Color,

Set the foreground color generically Read more
Source§

fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>
where C: Color,

Set the background color generically. Read more
Source§

fn black(&self) -> FgColorDisplay<'_, Black, Self>

Change the foreground color to black
Source§

fn on_black(&self) -> BgColorDisplay<'_, Black, Self>

Change the background color to black
Source§

fn red(&self) -> FgColorDisplay<'_, Red, Self>

Change the foreground color to red
Source§

fn on_red(&self) -> BgColorDisplay<'_, Red, Self>

Change the background color to red
Source§

fn green(&self) -> FgColorDisplay<'_, Green, Self>

Change the foreground color to green
Source§

fn on_green(&self) -> BgColorDisplay<'_, Green, Self>

Change the background color to green
Source§

fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>

Change the foreground color to yellow
Source§

fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>

Change the background color to yellow
Source§

fn blue(&self) -> FgColorDisplay<'_, Blue, Self>

Change the foreground color to blue
Source§

fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>

Change the background color to blue
Source§

fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to magenta
Source§

fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to magenta
Source§

fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to purple
Source§

fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to purple
Source§

fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>

Change the foreground color to cyan
Source§

fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>

Change the background color to cyan
Source§

fn white(&self) -> FgColorDisplay<'_, White, Self>

Change the foreground color to white
Source§

fn on_white(&self) -> BgColorDisplay<'_, White, Self>

Change the background color to white
Source§

fn default_color(&self) -> FgColorDisplay<'_, Default, Self>

Change the foreground color to the terminal default
Source§

fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>

Change the background color to the terminal default
Source§

fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>

Change the foreground color to bright black
Source§

fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>

Change the background color to bright black
Source§

fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>

Change the foreground color to bright red
Source§

fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>

Change the background color to bright red
Source§

fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>

Change the foreground color to bright green
Source§

fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>

Change the background color to bright green
Source§

fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>

Change the foreground color to bright yellow
Source§

fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>

Change the background color to bright yellow
Source§

fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>

Change the foreground color to bright blue
Source§

fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>

Change the background color to bright blue
Source§

fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright magenta
Source§

fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright magenta
Source§

fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright purple
Source§

fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright purple
Source§

fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>

Change the foreground color to bright cyan
Source§

fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>

Change the background color to bright cyan
Source§

fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>

Change the foreground color to bright white
Source§

fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>

Change the background color to bright white
Source§

fn bold(&self) -> BoldDisplay<'_, Self>

Make the text bold
Source§

fn dimmed(&self) -> DimDisplay<'_, Self>

Make the text dim
Source§

fn italic(&self) -> ItalicDisplay<'_, Self>

Make the text italicized
Source§

fn underline(&self) -> UnderlineDisplay<'_, Self>

Make the text underlined
Make the text blink
Make the text blink (but fast!)
Source§

fn reversed(&self) -> ReversedDisplay<'_, Self>

Swap the foreground and background colors
Source§

fn hidden(&self) -> HiddenDisplay<'_, Self>

Hide the text
Source§

fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>

Cross out the text
Source§

fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the foreground color at runtime. Only use if you do not know which color will be used at compile-time. If the color is constant, use either OwoColorize::fg or a color-specific method, such as OwoColorize::green, Read more
Source§

fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the background color at runtime. Only use if you do not know what color to use at compile-time. If the color is constant, use either OwoColorize::bg or a color-specific method, such as OwoColorize::on_yellow, Read more
Source§

fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the foreground color to a specific RGB value.
Source§

fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the background color to a specific RGB value.
Source§

fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>

Sets the foreground color to an RGB value.
Source§

fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>

Sets the background color to an RGB value.
Source§

fn style(&self, style: Style) -> Styled<&Self>

Apply a runtime-determined style
Source§

impl<T> ToCompactString for T
where T: Display,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.