#[derive(Clone, Debug, PartialEq)]
pub enum Javascript {
End = 0,
Identifier = 1,
HashBangLine = 2,
Export = 3,
STAR = 4,
Default = 5,
LBRACE = 6,
COMMA = 7,
RBRACE = 8,
As = 9,
Import2 = 10,
From = 11,
Var = 12,
Let = 13,
Const = 14,
If = 15,
Else = 16,
Switch = 17,
For = 18,
LPAREN = 19,
RPAREN = 20,
Await = 21,
In = 22,
Of = 23,
While = 24,
Do = 25,
Try = 26,
With = 27,
Break = 28,
Continue = 29,
Debugger = 30,
Return = 31,
Throw = 32,
SEMI = 33,
COLON = 34,
Case = 35,
Catch = 36,
Finally = 37,
Yield = 38,
EQ = 39,
LBRACK = 40,
RBRACK = 41,
LT = 42,
GT = 43,
SLASH = 44,
JsxText = 45,
Identifier2 = 46,
DOT = 47,
Class2 = 48,
Extends = 49,
Async = 50,
Function2 = 51,
EQGT = 52,
New = 53,
PLUSEQ = 54,
DASHEQ = 55,
STAREQ = 56,
SLASHEQ = 57,
PERCENTEQ = 58,
CARETEQ = 59,
AMPEQ = 60,
PIPEEQ = 61,
GTGTEQ = 62,
GTGTGTEQ = 63,
LTLTEQ = 64,
STARSTAREQ = 65,
AMPAMPEQ = 66,
PIPEPIPEEQ = 67,
HASH = 68,
DOTDOTDOT = 69,
QMARK = 70,
AMPAMP = 71,
PIPEPIPE = 72,
GTGT = 73,
GTGTGT = 74,
LTLT = 75,
AMP = 76,
CARET = 77,
PIPE = 78,
PLUS = 79,
DASH = 80,
PERCENT = 81,
STARSTAR = 82,
LTEQ = 83,
EQEQ = 84,
EQEQEQ = 85,
BANGEQ = 86,
BANGEQEQ = 87,
GTEQ = 88,
QMARKQMARK = 89,
Instanceof = 90,
BANG = 91,
TILDE = 92,
Typeof = 93,
Void = 94,
Delete = 95,
PLUSPLUS = 96,
DASHDASH = 97,
DQUOTE = 98,
StringToken1 = 99,
SQUOTE = 100,
StringToken2 = 101,
EscapeSequence = 102,
Comment = 103,
BQUOTE = 104,
DOLLARLBRACE = 105,
SLASH2 = 106,
RegexPattern = 107,
RegexFlags = 108,
Number = 109,
Target = 110,
This = 111,
Super = 112,
True = 113,
False = 114,
Null = 115,
Undefined = 116,
AT = 117,
Static = 118,
Get = 119,
Set = 120,
AutomaticSemicolon = 121,
TemplateChars = 122,
Program = 123,
ExportStatement = 124,
ExportClause = 125,
ImportExportSpecifier = 126,
Declaration = 127,
Import = 128,
ImportStatement = 129,
ImportClause = 130,
FromClause = 131,
NamespaceImport = 132,
NamedImports = 133,
ExpressionStatement = 134,
VariableDeclaration = 135,
LexicalDeclaration = 136,
VariableDeclarator = 137,
StatementBlock = 138,
IfStatement = 139,
SwitchStatement = 140,
ForStatement = 141,
ForInStatement = 142,
ForHeader = 143,
WhileStatement = 144,
DoStatement = 145,
TryStatement = 146,
WithStatement = 147,
BreakStatement = 148,
ContinueStatement = 149,
DebuggerStatement = 150,
ReturnStatement = 151,
ThrowStatement = 152,
EmptyStatement = 153,
LabeledStatement = 154,
SwitchBody = 155,
SwitchCase = 156,
SwitchDefault = 157,
CatchClause = 158,
FinallyClause = 159,
ParenthesizedExpression = 160,
Expression = 161,
YieldExpression = 162,
Object = 163,
AssignmentPattern = 164,
Array = 165,
JsxElement = 166,
JsxFragment = 167,
JsxExpression = 168,
JsxOpeningElement = 169,
NestedIdentifier = 170,
JsxNamespaceName = 171,
JsxClosingElement = 172,
JsxSelfClosingElement = 173,
JsxAttribute = 174,
Class = 175,
ClassDeclaration = 176,
ClassHeritage = 177,
Function = 178,
FunctionDeclaration = 179,
GeneratorFunction = 180,
GeneratorFunctionDeclaration = 181,
ArrowFunction = 182,
CallExpression = 183,
NewExpression = 184,
AwaitExpression = 185,
MemberExpression = 186,
SubscriptExpression = 187,
AssignmentExpression = 188,
AugmentedAssignmentExpression = 189,
Initializer = 190,
SpreadElement = 191,
TernaryExpression = 192,
BinaryExpression = 193,
UnaryExpression = 194,
UpdateExpression = 195,
SequenceExpression = 196,
String = 197,
TemplateString = 198,
TemplateSubstitution = 199,
Regex = 200,
MetaProperty = 201,
Arguments = 202,
Decorator = 203,
MemberExpression2 = 204,
CallExpression2 = 205,
ClassBody = 206,
PublicFieldDefinition = 207,
FormalParameters = 208,
RestParameter = 209,
MethodDefinition = 210,
Pair = 211,
PropertyName = 212,
ComputedPropertyName = 213,
ProgramRepeat1 = 214,
ExportStatementRepeat1 = 215,
ExportClauseRepeat1 = 216,
NamedImportsRepeat1 = 217,
VariableDeclarationRepeat1 = 218,
SwitchBodyRepeat1 = 219,
ObjectRepeat1 = 220,
ArrayRepeat1 = 221,
JsxElementRepeat1 = 222,
JsxOpeningElementRepeat1 = 223,
StringRepeat1 = 224,
StringRepeat2 = 225,
TemplateStringRepeat1 = 226,
ClassBodyRepeat1 = 227,
FormalParametersRepeat1 = 228,
ArrayPattern = 229,
ExportSpecifier = 230,
ImportSpecifier = 231,
ObjectPattern = 232,
PropertyIdentifier = 233,
ShorthandPropertyIdentifier = 234,
StatementIdentifier = 235,
Error = 236,
}
impl Into<&'static str> for Javascript {
fn into(self) -> &'static str {
match self {
Javascript::End => "end",
Javascript::Identifier => "identifier",
Javascript::HashBangLine => "hash_bang_line",
Javascript::Export => "export",
Javascript::STAR => "*",
Javascript::Default => "default",
Javascript::LBRACE => "{",
Javascript::COMMA => ",",
Javascript::RBRACE => "}",
Javascript::As => "as",
Javascript::Import2 => "import",
Javascript::From => "from",
Javascript::Var => "var",
Javascript::Let => "let",
Javascript::Const => "const",
Javascript::If => "if",
Javascript::Else => "else",
Javascript::Switch => "switch",
Javascript::For => "for",
Javascript::LPAREN => "(",
Javascript::RPAREN => ")",
Javascript::Await => "await",
Javascript::In => "in",
Javascript::Of => "of",
Javascript::While => "while",
Javascript::Do => "do",
Javascript::Try => "try",
Javascript::With => "with",
Javascript::Break => "break",
Javascript::Continue => "continue",
Javascript::Debugger => "debugger",
Javascript::Return => "return",
Javascript::Throw => "throw",
Javascript::SEMI => ";",
Javascript::COLON => ":",
Javascript::Case => "case",
Javascript::Catch => "catch",
Javascript::Finally => "finally",
Javascript::Yield => "yield",
Javascript::EQ => "=",
Javascript::LBRACK => "[",
Javascript::RBRACK => "]",
Javascript::LT => "<",
Javascript::GT => ">",
Javascript::SLASH => "/",
Javascript::JsxText => "jsx_text",
Javascript::Identifier2 => "identifier",
Javascript::DOT => ".",
Javascript::Class2 => "class",
Javascript::Extends => "extends",
Javascript::Async => "async",
Javascript::Function2 => "function",
Javascript::EQGT => "=>",
Javascript::New => "new",
Javascript::PLUSEQ => "+=",
Javascript::DASHEQ => "-=",
Javascript::STAREQ => "*=",
Javascript::SLASHEQ => "/=",
Javascript::PERCENTEQ => "%=",
Javascript::CARETEQ => "^=",
Javascript::AMPEQ => "&=",
Javascript::PIPEEQ => "|=",
Javascript::GTGTEQ => ">>=",
Javascript::GTGTGTEQ => ">>>=",
Javascript::LTLTEQ => "<<=",
Javascript::STARSTAREQ => "**=",
Javascript::AMPAMPEQ => "&&=",
Javascript::PIPEPIPEEQ => "||=",
Javascript::HASH => "#",
Javascript::DOTDOTDOT => "...",
Javascript::QMARK => "?",
Javascript::AMPAMP => "&&",
Javascript::PIPEPIPE => "||",
Javascript::GTGT => ">>",
Javascript::GTGTGT => ">>>",
Javascript::LTLT => "<<",
Javascript::AMP => "&",
Javascript::CARET => "^",
Javascript::PIPE => "|",
Javascript::PLUS => "+",
Javascript::DASH => "-",
Javascript::PERCENT => "%",
Javascript::STARSTAR => "**",
Javascript::LTEQ => "<=",
Javascript::EQEQ => "==",
Javascript::EQEQEQ => "===",
Javascript::BANGEQ => "!=",
Javascript::BANGEQEQ => "!==",
Javascript::GTEQ => ">=",
Javascript::QMARKQMARK => "??",
Javascript::Instanceof => "instanceof",
Javascript::BANG => "!",
Javascript::TILDE => "~",
Javascript::Typeof => "typeof",
Javascript::Void => "void",
Javascript::Delete => "delete",
Javascript::PLUSPLUS => "++",
Javascript::DASHDASH => "--",
Javascript::DQUOTE => "\"",
Javascript::StringToken1 => "string_token1",
Javascript::SQUOTE => "'",
Javascript::StringToken2 => "string_token2",
Javascript::EscapeSequence => "escape_sequence",
Javascript::Comment => "comment",
Javascript::BQUOTE => "`",
Javascript::DOLLARLBRACE => "${",
Javascript::SLASH2 => "/",
Javascript::RegexPattern => "regex_pattern",
Javascript::RegexFlags => "regex_flags",
Javascript::Number => "number",
Javascript::Target => "target",
Javascript::This => "this",
Javascript::Super => "super",
Javascript::True => "true",
Javascript::False => "false",
Javascript::Null => "null",
Javascript::Undefined => "undefined",
Javascript::AT => "@",
Javascript::Static => "static",
Javascript::Get => "get",
Javascript::Set => "set",
Javascript::AutomaticSemicolon => "_automatic_semicolon",
Javascript::TemplateChars => "_template_chars",
Javascript::Program => "program",
Javascript::ExportStatement => "export_statement",
Javascript::ExportClause => "export_clause",
Javascript::ImportExportSpecifier => "_import_export_specifier",
Javascript::Declaration => "_declaration",
Javascript::Import => "import",
Javascript::ImportStatement => "import_statement",
Javascript::ImportClause => "import_clause",
Javascript::FromClause => "_from_clause",
Javascript::NamespaceImport => "namespace_import",
Javascript::NamedImports => "named_imports",
Javascript::ExpressionStatement => "expression_statement",
Javascript::VariableDeclaration => "variable_declaration",
Javascript::LexicalDeclaration => "lexical_declaration",
Javascript::VariableDeclarator => "variable_declarator",
Javascript::StatementBlock => "statement_block",
Javascript::IfStatement => "if_statement",
Javascript::SwitchStatement => "switch_statement",
Javascript::ForStatement => "for_statement",
Javascript::ForInStatement => "for_in_statement",
Javascript::ForHeader => "_for_header",
Javascript::WhileStatement => "while_statement",
Javascript::DoStatement => "do_statement",
Javascript::TryStatement => "try_statement",
Javascript::WithStatement => "with_statement",
Javascript::BreakStatement => "break_statement",
Javascript::ContinueStatement => "continue_statement",
Javascript::DebuggerStatement => "debugger_statement",
Javascript::ReturnStatement => "return_statement",
Javascript::ThrowStatement => "throw_statement",
Javascript::EmptyStatement => "empty_statement",
Javascript::LabeledStatement => "labeled_statement",
Javascript::SwitchBody => "switch_body",
Javascript::SwitchCase => "switch_case",
Javascript::SwitchDefault => "switch_default",
Javascript::CatchClause => "catch_clause",
Javascript::FinallyClause => "finally_clause",
Javascript::ParenthesizedExpression => "parenthesized_expression",
Javascript::Expression => "_expression",
Javascript::YieldExpression => "yield_expression",
Javascript::Object => "object",
Javascript::AssignmentPattern => "assignment_pattern",
Javascript::Array => "array",
Javascript::JsxElement => "jsx_element",
Javascript::JsxFragment => "jsx_fragment",
Javascript::JsxExpression => "jsx_expression",
Javascript::JsxOpeningElement => "jsx_opening_element",
Javascript::NestedIdentifier => "nested_identifier",
Javascript::JsxNamespaceName => "jsx_namespace_name",
Javascript::JsxClosingElement => "jsx_closing_element",
Javascript::JsxSelfClosingElement => "jsx_self_closing_element",
Javascript::JsxAttribute => "jsx_attribute",
Javascript::Class => "class",
Javascript::ClassDeclaration => "class_declaration",
Javascript::ClassHeritage => "class_heritage",
Javascript::Function => "function",
Javascript::FunctionDeclaration => "function_declaration",
Javascript::GeneratorFunction => "generator_function",
Javascript::GeneratorFunctionDeclaration => "generator_function_declaration",
Javascript::ArrowFunction => "arrow_function",
Javascript::CallExpression => "call_expression",
Javascript::NewExpression => "new_expression",
Javascript::AwaitExpression => "await_expression",
Javascript::MemberExpression => "member_expression",
Javascript::SubscriptExpression => "subscript_expression",
Javascript::AssignmentExpression => "assignment_expression",
Javascript::AugmentedAssignmentExpression => "augmented_assignment_expression",
Javascript::Initializer => "_initializer",
Javascript::SpreadElement => "spread_element",
Javascript::TernaryExpression => "ternary_expression",
Javascript::BinaryExpression => "binary_expression",
Javascript::UnaryExpression => "unary_expression",
Javascript::UpdateExpression => "update_expression",
Javascript::SequenceExpression => "sequence_expression",
Javascript::String => "string",
Javascript::TemplateString => "template_string",
Javascript::TemplateSubstitution => "template_substitution",
Javascript::Regex => "regex",
Javascript::MetaProperty => "meta_property",
Javascript::Arguments => "arguments",
Javascript::Decorator => "decorator",
Javascript::MemberExpression2 => "member_expression",
Javascript::CallExpression2 => "call_expression",
Javascript::ClassBody => "class_body",
Javascript::PublicFieldDefinition => "public_field_definition",
Javascript::FormalParameters => "formal_parameters",
Javascript::RestParameter => "rest_parameter",
Javascript::MethodDefinition => "method_definition",
Javascript::Pair => "pair",
Javascript::PropertyName => "_property_name",
Javascript::ComputedPropertyName => "computed_property_name",
Javascript::ProgramRepeat1 => "program_repeat1",
Javascript::ExportStatementRepeat1 => "export_statement_repeat1",
Javascript::ExportClauseRepeat1 => "export_clause_repeat1",
Javascript::NamedImportsRepeat1 => "named_imports_repeat1",
Javascript::VariableDeclarationRepeat1 => "variable_declaration_repeat1",
Javascript::SwitchBodyRepeat1 => "switch_body_repeat1",
Javascript::ObjectRepeat1 => "object_repeat1",
Javascript::ArrayRepeat1 => "array_repeat1",
Javascript::JsxElementRepeat1 => "jsx_element_repeat1",
Javascript::JsxOpeningElementRepeat1 => "jsx_opening_element_repeat1",
Javascript::StringRepeat1 => "string_repeat1",
Javascript::StringRepeat2 => "string_repeat2",
Javascript::TemplateStringRepeat1 => "template_string_repeat1",
Javascript::ClassBodyRepeat1 => "class_body_repeat1",
Javascript::FormalParametersRepeat1 => "formal_parameters_repeat1",
Javascript::ArrayPattern => "array_pattern",
Javascript::ExportSpecifier => "export_specifier",
Javascript::ImportSpecifier => "import_specifier",
Javascript::ObjectPattern => "object_pattern",
Javascript::PropertyIdentifier => "property_identifier",
Javascript::ShorthandPropertyIdentifier => "shorthand_property_identifier",
Javascript::StatementIdentifier => "statement_identifier",
Javascript::Error => "ERROR",
}
}
}
#[allow(clippy::unreadable_literal)]
static KEYS: phf::Map<&'static str, Javascript> = ::phf::Map {
key: 732231254413039614,
disps: ::phf::Slice::Static(&[
(0, 18),
(0, 1),
(0, 9),
(0, 48),
(0, 16),
(0, 2),
(0, 181),
(0, 0),
(0, 124),
(1, 210),
(0, 76),
(1, 147),
(1, 169),
(0, 192),
(0, 129),
(0, 9),
(0, 141),
(0, 0),
(0, 18),
(0, 2),
(0, 28),
(1, 0),
(0, 91),
(0, 2),
(5, 78),
(3, 56),
(5, 67),
(0, 56),
(0, 29),
(0, 6),
(0, 128),
(0, 11),
(0, 202),
(3, 61),
(0, 11),
(15, 176),
(0, 65),
(14, 2),
(0, 3),
(0, 169),
(0, 142),
(74, 65),
(2, 183),
(2, 189),
(9, 2),
(1, 60),
]),
entries: ::phf::Slice::Static(&[
(
"variable_declaration_repeat1",
Javascript::VariableDeclarationRepeat1,
),
("computed_property_name", Javascript::ComputedPropertyName),
("switch_body", Javascript::SwitchBody),
("??", Javascript::QMARKQMARK),
("formal_parameters", Javascript::FormalParameters),
("&", Javascript::AMP),
("default", Javascript::Default),
("const", Javascript::Const),
("import_clause", Javascript::ImportClause),
("-", Javascript::DASH),
("/=", Javascript::SLASHEQ),
("!==", Javascript::BANGEQEQ),
("*=", Javascript::STAREQ),
("static", Javascript::Static),
(
"shorthand_property_identifier",
Javascript::ShorthandPropertyIdentifier,
),
("as", Javascript::As),
("var", Javascript::Var),
("(", Javascript::LPAREN),
("end", Javascript::End),
("let", Javascript::Let),
("<<=", Javascript::LTLTEQ),
("_for_header", Javascript::ForHeader),
("try_statement", Javascript::TryStatement),
("identifier", Javascript::Identifier),
("ternary_expression", Javascript::TernaryExpression),
("=>", Javascript::EQGT),
("switch_case", Javascript::SwitchCase),
("try", Javascript::Try),
("!", Javascript::BANG),
("super", Javascript::Super),
("${", Javascript::DOLLARLBRACE),
("break_statement", Javascript::BreakStatement),
("program", Javascript::Program),
("}", Javascript::RBRACE),
("jsx_expression", Javascript::JsxExpression),
("<=", Javascript::LTEQ),
("export_specifier", Javascript::ExportSpecifier),
("import_statement", Javascript::ImportStatement),
("await_expression", Javascript::AwaitExpression),
("assignment_pattern", Javascript::AssignmentPattern),
("==", Javascript::EQEQ),
(".", Javascript::DOT),
("||=", Javascript::PIPEPIPEEQ),
("extends", Javascript::Extends),
("false", Javascript::False),
("for", Javascript::For),
("case", Javascript::Case),
("&=", Javascript::AMPEQ),
("expression_statement", Javascript::ExpressionStatement),
("jsx_attribute", Javascript::JsxAttribute),
(
"jsx_self_closing_element",
Javascript::JsxSelfClosingElement,
),
("of", Javascript::Of),
(
"export_statement_repeat1",
Javascript::ExportStatementRepeat1,
),
("lexical_declaration", Javascript::LexicalDeclaration),
("array_repeat1", Javascript::ArrayRepeat1),
("class_body_repeat1", Javascript::ClassBodyRepeat1),
("@", Javascript::AT),
("jsx_element_repeat1", Javascript::JsxElementRepeat1),
("!=", Javascript::BANGEQ),
(">", Javascript::GT),
("object_pattern", Javascript::ObjectPattern),
("switch", Javascript::Switch),
("arguments", Javascript::Arguments),
("array", Javascript::Array),
("hash_bang_line", Javascript::HashBangLine),
(">>=", Javascript::GTGTEQ),
("statement_block", Javascript::StatementBlock),
("=", Javascript::EQ),
(":", Javascript::COLON),
("string_repeat1", Javascript::StringRepeat1),
("`", Javascript::BQUOTE),
(
"augmented_assignment_expression",
Javascript::AugmentedAssignmentExpression,
),
("property_identifier", Javascript::PropertyIdentifier),
("-=", Javascript::DASHEQ),
("function_declaration", Javascript::FunctionDeclaration),
("get", Javascript::Get),
("\'", Javascript::SQUOTE),
("void", Javascript::Void),
("template_string_repeat1", Javascript::TemplateStringRepeat1),
("nested_identifier", Javascript::NestedIdentifier),
("public_field_definition", Javascript::PublicFieldDefinition),
("spread_element", Javascript::SpreadElement),
("+", Javascript::PLUS),
("comment", Javascript::Comment),
("**=", Javascript::STARSTAREQ),
("regex_pattern", Javascript::RegexPattern),
("yield", Javascript::Yield),
(";", Javascript::SEMI),
("catch", Javascript::Catch),
(
"parenthesized_expression",
Javascript::ParenthesizedExpression,
),
("object", Javascript::Object),
("subscript_expression", Javascript::SubscriptExpression),
("if_statement", Javascript::IfStatement),
("_expression", Javascript::Expression),
("class", Javascript::Class),
("?", Javascript::QMARK),
("string", Javascript::String),
("jsx_element", Javascript::JsxElement),
("labeled_statement", Javascript::LabeledStatement),
("||", Javascript::PIPEPIPE),
("import", Javascript::Import),
(
"generator_function_declaration",
Javascript::GeneratorFunctionDeclaration,
),
(")", Javascript::RPAREN),
("|=", Javascript::PIPEEQ),
("pair", Javascript::Pair),
("while_statement", Javascript::WhileStatement),
("**", Javascript::STARSTAR),
("unary_expression", Javascript::UnaryExpression),
("+=", Javascript::PLUSEQ),
("regex", Javascript::Regex),
("yield_expression", Javascript::YieldExpression),
("]", Javascript::RBRACK),
("debugger_statement", Javascript::DebuggerStatement),
("for_in_statement", Javascript::ForInStatement),
(
"formal_parameters_repeat1",
Javascript::FormalParametersRepeat1,
),
("class_body", Javascript::ClassBody),
("regex_flags", Javascript::RegexFlags),
("variable_declaration", Javascript::VariableDeclaration),
("async", Javascript::Async),
("finally", Javascript::Finally),
("null", Javascript::Null),
("|", Javascript::PIPE),
("ERROR", Javascript::Error),
("decorator", Javascript::Decorator),
("for_statement", Javascript::ForStatement),
("this", Javascript::This),
(">>", Javascript::GTGT),
("while", Javascript::While),
("%", Javascript::PERCENT),
("\\\"", Javascript::DQUOTE),
("<<", Javascript::LTLT),
("continue", Javascript::Continue),
("variable_declarator", Javascript::VariableDeclarator),
(">>>", Javascript::GTGTGT),
("%=", Javascript::PERCENTEQ),
("string_repeat2", Javascript::StringRepeat2),
("true", Javascript::True),
("catch_clause", Javascript::CatchClause),
("_automatic_semicolon", Javascript::AutomaticSemicolon),
("do", Javascript::Do),
("_initializer", Javascript::Initializer),
("delete", Javascript::Delete),
("^", Javascript::CARET),
("with", Javascript::With),
("object_repeat1", Javascript::ObjectRepeat1),
("export_clause_repeat1", Javascript::ExportClauseRepeat1),
("named_imports", Javascript::NamedImports),
("class_declaration", Javascript::ClassDeclaration),
("++", Javascript::PLUSPLUS),
("from", Javascript::From),
("switch_body_repeat1", Javascript::SwitchBodyRepeat1),
("^=", Javascript::CARETEQ),
(
"_import_export_specifier",
Javascript::ImportExportSpecifier,
),
("~", Javascript::TILDE),
("break", Javascript::Break),
("#", Javascript::HASH),
("import_specifier", Javascript::ImportSpecifier),
("rest_parameter", Javascript::RestParameter),
("switch_statement", Javascript::SwitchStatement),
("throw_statement", Javascript::ThrowStatement),
("target", Javascript::Target),
("method_definition", Javascript::MethodDefinition),
("--", Javascript::DASHDASH),
("jsx_closing_element", Javascript::JsxClosingElement),
(">=", Javascript::GTEQ),
("continue_statement", Javascript::ContinueStatement),
("/", Javascript::SLASH),
("namespace_import", Javascript::NamespaceImport),
("template_substitution", Javascript::TemplateSubstitution),
("number", Javascript::Number),
("return", Javascript::Return),
("jsx_text", Javascript::JsxText),
("await", Javascript::Await),
("...", Javascript::DOTDOTDOT),
("statement_identifier", Javascript::StatementIdentifier),
("jsx_namespace_name", Javascript::JsxNamespaceName),
("export", Javascript::Export),
("new_expression", Javascript::NewExpression),
("*", Javascript::STAR),
("else", Javascript::Else),
("typeof", Javascript::Typeof),
("debugger", Javascript::Debugger),
("_from_clause", Javascript::FromClause),
("with_statement", Javascript::WithStatement),
("empty_statement", Javascript::EmptyStatement),
("[", Javascript::LBRACK),
("undefined", Javascript::Undefined),
("escape_sequence", Javascript::EscapeSequence),
("jsx_fragment", Javascript::JsxFragment),
("binary_expression", Javascript::BinaryExpression),
("string_token2", Javascript::StringToken2),
("new", Javascript::New),
("&&=", Javascript::AMPAMPEQ),
("export_statement", Javascript::ExportStatement),
(",", Javascript::COMMA),
("class_heritage", Javascript::ClassHeritage),
("_property_name", Javascript::PropertyName),
("named_imports_repeat1", Javascript::NamedImportsRepeat1),
("export_clause", Javascript::ExportClause),
("throw", Javascript::Throw),
("program_repeat1", Javascript::ProgramRepeat1),
("assignment_expression", Javascript::AssignmentExpression),
("template_string", Javascript::TemplateString),
("_template_chars", Javascript::TemplateChars),
("string_token1", Javascript::StringToken1),
("if", Javascript::If),
("&&", Javascript::AMPAMP),
("_declaration", Javascript::Declaration),
("meta_property", Javascript::MetaProperty),
(
"jsx_opening_element_repeat1",
Javascript::JsxOpeningElementRepeat1,
),
("generator_function", Javascript::GeneratorFunction),
("function", Javascript::Function),
("update_expression", Javascript::UpdateExpression),
(">>>=", Javascript::GTGTGTEQ),
("<", Javascript::LT),
("sequence_expression", Javascript::SequenceExpression),
("return_statement", Javascript::ReturnStatement),
("finally_clause", Javascript::FinallyClause),
("switch_default", Javascript::SwitchDefault),
("call_expression", Javascript::CallExpression),
("do_statement", Javascript::DoStatement),
("===", Javascript::EQEQEQ),
("instanceof", Javascript::Instanceof),
("{", Javascript::LBRACE),
("array_pattern", Javascript::ArrayPattern),
("jsx_opening_element", Javascript::JsxOpeningElement),
("in", Javascript::In),
("set", Javascript::Set),
("arrow_function", Javascript::ArrowFunction),
("member_expression", Javascript::MemberExpression),
]),
};
impl From<&str> for Javascript {
#[inline(always)]
fn from(key: &str) -> Self {
KEYS.get(key).unwrap().clone()
}
}
impl From<u16> for Javascript {
#[inline(always)]
fn from(x: u16) -> Self {
unsafe { std::mem::transmute(x as u8) }
}
}
impl PartialEq<u16> for Javascript {
#[inline(always)]
fn eq(&self, x: &u16) -> bool {
*self == Javascript::from(*x)
}
}
impl PartialEq<Javascript> for u16 {
#[inline(always)]
fn eq(&self, x: &Javascript) -> bool {
*x == *self
}
}