UNPKG

16.6 kBJavaScriptView Raw
1"use strict";Object.defineProperty(exports, "__esModule", {value: true});// Generated file, do not edit! Run "yarn generate" to re-generate this file.
2/**
3 * Enum of all token types, with bit fields to signify meaningful properties.
4 */
5var TokenType; (function (TokenType) {
6 // Precedence 0 means not an operator; otherwise it is a positive number up to 12.
7 const PRECEDENCE_MASK = 0xf; TokenType[TokenType["PRECEDENCE_MASK"] = PRECEDENCE_MASK] = "PRECEDENCE_MASK";
8 const IS_KEYWORD = 1 << 4; TokenType[TokenType["IS_KEYWORD"] = IS_KEYWORD] = "IS_KEYWORD";
9 const IS_ASSIGN = 1 << 5; TokenType[TokenType["IS_ASSIGN"] = IS_ASSIGN] = "IS_ASSIGN";
10 const IS_RIGHT_ASSOCIATIVE = 1 << 6; TokenType[TokenType["IS_RIGHT_ASSOCIATIVE"] = IS_RIGHT_ASSOCIATIVE] = "IS_RIGHT_ASSOCIATIVE";
11 const IS_PREFIX = 1 << 7; TokenType[TokenType["IS_PREFIX"] = IS_PREFIX] = "IS_PREFIX";
12 const IS_POSTFIX = 1 << 8; TokenType[TokenType["IS_POSTFIX"] = IS_POSTFIX] = "IS_POSTFIX";
13
14 const num = 0; TokenType[TokenType["num"] = num] = "num"; // num
15 const bigint = 512; TokenType[TokenType["bigint"] = bigint] = "bigint"; // bigint
16 const regexp = 1024; TokenType[TokenType["regexp"] = regexp] = "regexp"; // regexp
17 const string = 1536; TokenType[TokenType["string"] = string] = "string"; // string
18 const name = 2048; TokenType[TokenType["name"] = name] = "name"; // name
19 const eof = 2560; TokenType[TokenType["eof"] = eof] = "eof"; // eof
20 const bracketL = 3072; TokenType[TokenType["bracketL"] = bracketL] = "bracketL"; // [
21 const bracketR = 3584; TokenType[TokenType["bracketR"] = bracketR] = "bracketR"; // ]
22 const braceL = 4096; TokenType[TokenType["braceL"] = braceL] = "braceL"; // {
23 const braceBarL = 4608; TokenType[TokenType["braceBarL"] = braceBarL] = "braceBarL"; // {|
24 const braceR = 5120; TokenType[TokenType["braceR"] = braceR] = "braceR"; // }
25 const braceBarR = 5632; TokenType[TokenType["braceBarR"] = braceBarR] = "braceBarR"; // |}
26 const parenL = 6144; TokenType[TokenType["parenL"] = parenL] = "parenL"; // (
27 const parenR = 6656; TokenType[TokenType["parenR"] = parenR] = "parenR"; // )
28 const comma = 7168; TokenType[TokenType["comma"] = comma] = "comma"; // ,
29 const semi = 7680; TokenType[TokenType["semi"] = semi] = "semi"; // ;
30 const colon = 8192; TokenType[TokenType["colon"] = colon] = "colon"; // :
31 const doubleColon = 8704; TokenType[TokenType["doubleColon"] = doubleColon] = "doubleColon"; // ::
32 const dot = 9216; TokenType[TokenType["dot"] = dot] = "dot"; // .
33 const question = 9728; TokenType[TokenType["question"] = question] = "question"; // ?
34 const questionDot = 10240; TokenType[TokenType["questionDot"] = questionDot] = "questionDot"; // ?.
35 const arrow = 10752; TokenType[TokenType["arrow"] = arrow] = "arrow"; // =>
36 const template = 11264; TokenType[TokenType["template"] = template] = "template"; // template
37 const ellipsis = 11776; TokenType[TokenType["ellipsis"] = ellipsis] = "ellipsis"; // ...
38 const backQuote = 12288; TokenType[TokenType["backQuote"] = backQuote] = "backQuote"; // `
39 const dollarBraceL = 12800; TokenType[TokenType["dollarBraceL"] = dollarBraceL] = "dollarBraceL"; // ${
40 const at = 13312; TokenType[TokenType["at"] = at] = "at"; // @
41 const hash = 13824; TokenType[TokenType["hash"] = hash] = "hash"; // #
42 const eq = 14368; TokenType[TokenType["eq"] = eq] = "eq"; // = isAssign
43 const assign = 14880; TokenType[TokenType["assign"] = assign] = "assign"; // _= isAssign
44 const incDec = 15744; TokenType[TokenType["incDec"] = incDec] = "incDec"; // ++/-- prefix postfix
45 const bang = 16000; TokenType[TokenType["bang"] = bang] = "bang"; // ! prefix
46 const tilde = 16512; TokenType[TokenType["tilde"] = tilde] = "tilde"; // ~ prefix
47 const pipeline = 16897; TokenType[TokenType["pipeline"] = pipeline] = "pipeline"; // |> prec:1
48 const nullishCoalescing = 17410; TokenType[TokenType["nullishCoalescing"] = nullishCoalescing] = "nullishCoalescing"; // ?? prec:2
49 const logicalOR = 17922; TokenType[TokenType["logicalOR"] = logicalOR] = "logicalOR"; // || prec:2
50 const logicalAND = 18435; TokenType[TokenType["logicalAND"] = logicalAND] = "logicalAND"; // && prec:3
51 const bitwiseOR = 18948; TokenType[TokenType["bitwiseOR"] = bitwiseOR] = "bitwiseOR"; // | prec:4
52 const bitwiseXOR = 19461; TokenType[TokenType["bitwiseXOR"] = bitwiseXOR] = "bitwiseXOR"; // ^ prec:5
53 const bitwiseAND = 19974; TokenType[TokenType["bitwiseAND"] = bitwiseAND] = "bitwiseAND"; // & prec:6
54 const equality = 20487; TokenType[TokenType["equality"] = equality] = "equality"; // ==/!= prec:7
55 const lessThan = 21000; TokenType[TokenType["lessThan"] = lessThan] = "lessThan"; // < prec:8
56 const greaterThan = 21512; TokenType[TokenType["greaterThan"] = greaterThan] = "greaterThan"; // > prec:8
57 const relationalOrEqual = 22024; TokenType[TokenType["relationalOrEqual"] = relationalOrEqual] = "relationalOrEqual"; // <=/>= prec:8
58 const bitShift = 22537; TokenType[TokenType["bitShift"] = bitShift] = "bitShift"; // <</>> prec:9
59 const plus = 23178; TokenType[TokenType["plus"] = plus] = "plus"; // + prec:10 prefix
60 const minus = 23690; TokenType[TokenType["minus"] = minus] = "minus"; // - prec:10 prefix
61 const modulo = 24075; TokenType[TokenType["modulo"] = modulo] = "modulo"; // % prec:11
62 const star = 24587; TokenType[TokenType["star"] = star] = "star"; // * prec:11
63 const slash = 25099; TokenType[TokenType["slash"] = slash] = "slash"; // / prec:11
64 const exponent = 25676; TokenType[TokenType["exponent"] = exponent] = "exponent"; // ** prec:12 rightAssociative
65 const jsxName = 26112; TokenType[TokenType["jsxName"] = jsxName] = "jsxName"; // jsxName
66 const jsxText = 26624; TokenType[TokenType["jsxText"] = jsxText] = "jsxText"; // jsxText
67 const jsxTagStart = 27136; TokenType[TokenType["jsxTagStart"] = jsxTagStart] = "jsxTagStart"; // jsxTagStart
68 const jsxTagEnd = 27648; TokenType[TokenType["jsxTagEnd"] = jsxTagEnd] = "jsxTagEnd"; // jsxTagEnd
69 const typeParameterStart = 28160; TokenType[TokenType["typeParameterStart"] = typeParameterStart] = "typeParameterStart"; // typeParameterStart
70 const nonNullAssertion = 28672; TokenType[TokenType["nonNullAssertion"] = nonNullAssertion] = "nonNullAssertion"; // nonNullAssertion
71 const _break = 29200; TokenType[TokenType["_break"] = _break] = "_break"; // break keyword
72 const _case = 29712; TokenType[TokenType["_case"] = _case] = "_case"; // case keyword
73 const _catch = 30224; TokenType[TokenType["_catch"] = _catch] = "_catch"; // catch keyword
74 const _continue = 30736; TokenType[TokenType["_continue"] = _continue] = "_continue"; // continue keyword
75 const _debugger = 31248; TokenType[TokenType["_debugger"] = _debugger] = "_debugger"; // debugger keyword
76 const _default = 31760; TokenType[TokenType["_default"] = _default] = "_default"; // default keyword
77 const _do = 32272; TokenType[TokenType["_do"] = _do] = "_do"; // do keyword
78 const _else = 32784; TokenType[TokenType["_else"] = _else] = "_else"; // else keyword
79 const _finally = 33296; TokenType[TokenType["_finally"] = _finally] = "_finally"; // finally keyword
80 const _for = 33808; TokenType[TokenType["_for"] = _for] = "_for"; // for keyword
81 const _function = 34320; TokenType[TokenType["_function"] = _function] = "_function"; // function keyword
82 const _if = 34832; TokenType[TokenType["_if"] = _if] = "_if"; // if keyword
83 const _return = 35344; TokenType[TokenType["_return"] = _return] = "_return"; // return keyword
84 const _switch = 35856; TokenType[TokenType["_switch"] = _switch] = "_switch"; // switch keyword
85 const _throw = 36496; TokenType[TokenType["_throw"] = _throw] = "_throw"; // throw keyword prefix
86 const _try = 36880; TokenType[TokenType["_try"] = _try] = "_try"; // try keyword
87 const _var = 37392; TokenType[TokenType["_var"] = _var] = "_var"; // var keyword
88 const _let = 37904; TokenType[TokenType["_let"] = _let] = "_let"; // let keyword
89 const _const = 38416; TokenType[TokenType["_const"] = _const] = "_const"; // const keyword
90 const _while = 38928; TokenType[TokenType["_while"] = _while] = "_while"; // while keyword
91 const _with = 39440; TokenType[TokenType["_with"] = _with] = "_with"; // with keyword
92 const _new = 39952; TokenType[TokenType["_new"] = _new] = "_new"; // new keyword
93 const _this = 40464; TokenType[TokenType["_this"] = _this] = "_this"; // this keyword
94 const _super = 40976; TokenType[TokenType["_super"] = _super] = "_super"; // super keyword
95 const _class = 41488; TokenType[TokenType["_class"] = _class] = "_class"; // class keyword
96 const _extends = 42000; TokenType[TokenType["_extends"] = _extends] = "_extends"; // extends keyword
97 const _export = 42512; TokenType[TokenType["_export"] = _export] = "_export"; // export keyword
98 const _import = 43024; TokenType[TokenType["_import"] = _import] = "_import"; // import keyword
99 const _yield = 43536; TokenType[TokenType["_yield"] = _yield] = "_yield"; // yield keyword
100 const _null = 44048; TokenType[TokenType["_null"] = _null] = "_null"; // null keyword
101 const _true = 44560; TokenType[TokenType["_true"] = _true] = "_true"; // true keyword
102 const _false = 45072; TokenType[TokenType["_false"] = _false] = "_false"; // false keyword
103 const _in = 45592; TokenType[TokenType["_in"] = _in] = "_in"; // in prec:8 keyword
104 const _instanceof = 46104; TokenType[TokenType["_instanceof"] = _instanceof] = "_instanceof"; // instanceof prec:8 keyword
105 const _typeof = 46736; TokenType[TokenType["_typeof"] = _typeof] = "_typeof"; // typeof keyword prefix
106 const _void = 47248; TokenType[TokenType["_void"] = _void] = "_void"; // void keyword prefix
107 const _delete = 47760; TokenType[TokenType["_delete"] = _delete] = "_delete"; // delete keyword prefix
108 const _async = 48144; TokenType[TokenType["_async"] = _async] = "_async"; // async keyword
109 const _get = 48656; TokenType[TokenType["_get"] = _get] = "_get"; // get keyword
110 const _set = 49168; TokenType[TokenType["_set"] = _set] = "_set"; // set keyword
111 const _declare = 49680; TokenType[TokenType["_declare"] = _declare] = "_declare"; // declare keyword
112 const _readonly = 50192; TokenType[TokenType["_readonly"] = _readonly] = "_readonly"; // readonly keyword
113 const _abstract = 50704; TokenType[TokenType["_abstract"] = _abstract] = "_abstract"; // abstract keyword
114 const _static = 51216; TokenType[TokenType["_static"] = _static] = "_static"; // static keyword
115 const _public = 51728; TokenType[TokenType["_public"] = _public] = "_public"; // public keyword
116 const _private = 52240; TokenType[TokenType["_private"] = _private] = "_private"; // private keyword
117 const _protected = 52752; TokenType[TokenType["_protected"] = _protected] = "_protected"; // protected keyword
118 const _as = 53264; TokenType[TokenType["_as"] = _as] = "_as"; // as keyword
119 const _enum = 53776; TokenType[TokenType["_enum"] = _enum] = "_enum"; // enum keyword
120 const _type = 54288; TokenType[TokenType["_type"] = _type] = "_type"; // type keyword
121 const _implements = 54800; TokenType[TokenType["_implements"] = _implements] = "_implements"; // implements keyword
122})(TokenType || (exports.TokenType = TokenType = {}));
123 function formatTokenType(tokenType) {
124 switch (tokenType) {
125 case TokenType.num:
126 return "num";
127 case TokenType.bigint:
128 return "bigint";
129 case TokenType.regexp:
130 return "regexp";
131 case TokenType.string:
132 return "string";
133 case TokenType.name:
134 return "name";
135 case TokenType.eof:
136 return "eof";
137 case TokenType.bracketL:
138 return "[";
139 case TokenType.bracketR:
140 return "]";
141 case TokenType.braceL:
142 return "{";
143 case TokenType.braceBarL:
144 return "{|";
145 case TokenType.braceR:
146 return "}";
147 case TokenType.braceBarR:
148 return "|}";
149 case TokenType.parenL:
150 return "(";
151 case TokenType.parenR:
152 return ")";
153 case TokenType.comma:
154 return ",";
155 case TokenType.semi:
156 return ";";
157 case TokenType.colon:
158 return ":";
159 case TokenType.doubleColon:
160 return "::";
161 case TokenType.dot:
162 return ".";
163 case TokenType.question:
164 return "?";
165 case TokenType.questionDot:
166 return "?.";
167 case TokenType.arrow:
168 return "=>";
169 case TokenType.template:
170 return "template";
171 case TokenType.ellipsis:
172 return "...";
173 case TokenType.backQuote:
174 return "`";
175 case TokenType.dollarBraceL:
176 return "${";
177 case TokenType.at:
178 return "@";
179 case TokenType.hash:
180 return "#";
181 case TokenType.eq:
182 return "=";
183 case TokenType.assign:
184 return "_=";
185 case TokenType.incDec:
186 return "++/--";
187 case TokenType.bang:
188 return "!";
189 case TokenType.tilde:
190 return "~";
191 case TokenType.pipeline:
192 return "|>";
193 case TokenType.nullishCoalescing:
194 return "??";
195 case TokenType.logicalOR:
196 return "||";
197 case TokenType.logicalAND:
198 return "&&";
199 case TokenType.bitwiseOR:
200 return "|";
201 case TokenType.bitwiseXOR:
202 return "^";
203 case TokenType.bitwiseAND:
204 return "&";
205 case TokenType.equality:
206 return "==/!=";
207 case TokenType.lessThan:
208 return "<";
209 case TokenType.greaterThan:
210 return ">";
211 case TokenType.relationalOrEqual:
212 return "<=/>=";
213 case TokenType.bitShift:
214 return "<</>>";
215 case TokenType.plus:
216 return "+";
217 case TokenType.minus:
218 return "-";
219 case TokenType.modulo:
220 return "%";
221 case TokenType.star:
222 return "*";
223 case TokenType.slash:
224 return "/";
225 case TokenType.exponent:
226 return "**";
227 case TokenType.jsxName:
228 return "jsxName";
229 case TokenType.jsxText:
230 return "jsxText";
231 case TokenType.jsxTagStart:
232 return "jsxTagStart";
233 case TokenType.jsxTagEnd:
234 return "jsxTagEnd";
235 case TokenType.typeParameterStart:
236 return "typeParameterStart";
237 case TokenType.nonNullAssertion:
238 return "nonNullAssertion";
239 case TokenType._break:
240 return "break";
241 case TokenType._case:
242 return "case";
243 case TokenType._catch:
244 return "catch";
245 case TokenType._continue:
246 return "continue";
247 case TokenType._debugger:
248 return "debugger";
249 case TokenType._default:
250 return "default";
251 case TokenType._do:
252 return "do";
253 case TokenType._else:
254 return "else";
255 case TokenType._finally:
256 return "finally";
257 case TokenType._for:
258 return "for";
259 case TokenType._function:
260 return "function";
261 case TokenType._if:
262 return "if";
263 case TokenType._return:
264 return "return";
265 case TokenType._switch:
266 return "switch";
267 case TokenType._throw:
268 return "throw";
269 case TokenType._try:
270 return "try";
271 case TokenType._var:
272 return "var";
273 case TokenType._let:
274 return "let";
275 case TokenType._const:
276 return "const";
277 case TokenType._while:
278 return "while";
279 case TokenType._with:
280 return "with";
281 case TokenType._new:
282 return "new";
283 case TokenType._this:
284 return "this";
285 case TokenType._super:
286 return "super";
287 case TokenType._class:
288 return "class";
289 case TokenType._extends:
290 return "extends";
291 case TokenType._export:
292 return "export";
293 case TokenType._import:
294 return "import";
295 case TokenType._yield:
296 return "yield";
297 case TokenType._null:
298 return "null";
299 case TokenType._true:
300 return "true";
301 case TokenType._false:
302 return "false";
303 case TokenType._in:
304 return "in";
305 case TokenType._instanceof:
306 return "instanceof";
307 case TokenType._typeof:
308 return "typeof";
309 case TokenType._void:
310 return "void";
311 case TokenType._delete:
312 return "delete";
313 case TokenType._async:
314 return "async";
315 case TokenType._get:
316 return "get";
317 case TokenType._set:
318 return "set";
319 case TokenType._declare:
320 return "declare";
321 case TokenType._readonly:
322 return "readonly";
323 case TokenType._abstract:
324 return "abstract";
325 case TokenType._static:
326 return "static";
327 case TokenType._public:
328 return "public";
329 case TokenType._private:
330 return "private";
331 case TokenType._protected:
332 return "protected";
333 case TokenType._as:
334 return "as";
335 case TokenType._enum:
336 return "enum";
337 case TokenType._type:
338 return "type";
339 case TokenType._implements:
340 return "implements";
341 default:
342 return "";
343 }
344} exports.formatTokenType = formatTokenType;