1#![allow(clippy::match_same_arms, clippy::too_many_lines)]
4#![allow(missing_docs)]
7
8use num_derive::FromPrimitive;
11
12#[derive(Clone, Debug, PartialEq, Eq, FromPrimitive)]
13pub enum Objc {
14 End = 0,
15 Identifier = 1,
16 HASHinclude = 2,
17 HASHimport = 3,
18 PreprocIncludeToken3 = 4,
19 HASHdefine = 5,
20 LPAREN = 6,
21 DOTDOTDOT = 7,
22 COMMA = 8,
23 RPAREN = 9,
24 HASHif = 10,
25 LF = 11,
26 HASHendif = 12,
27 HASHifdef = 13,
28 HASHifndef = 14,
29 HASHelse = 15,
30 HASHelif = 16,
31 HASHelifdef = 17,
32 HASHelifndef = 18,
33 PreprocArg = 19,
34 PreprocDirective = 20,
35 LPAREN2 = 21,
36 Defined = 22,
37 BANG = 23,
38 TILDE = 24,
39 DASH = 25,
40 PLUS = 26,
41 STAR = 27,
42 SLASH = 28,
43 PERCENT = 29,
44 PIPEPIPE = 30,
45 AMPAMP = 31,
46 PIPE = 32,
47 CARET = 33,
48 AMP = 34,
49 EQEQ = 35,
50 BANGEQ = 36,
51 GT = 37,
52 GTEQ = 38,
53 LTEQ = 39,
54 LT = 40,
55 LTLT = 41,
56 GTGT = 42,
57 SEMI = 43,
58 Extension = 44,
59 Typedef = 45,
60 Extern = 46,
61 Attribute2 = 47,
62 Attribute3 = 48,
63 Noreturn = 49,
64 Nothrow = 50,
65 COLONCOLON = 51,
66 LBRACK = 52,
67 RBRACK = 53,
68 Declspec = 54,
69 Based = 55,
70 Cdecl = 56,
71 Clrcall = 57,
72 Stdcall = 58,
73 Fastcall = 59,
74 Thiscall = 60,
75 Vectorcall = 61,
76 MsRestrictModifier = 62,
77 MsUnsignedPtrModifier = 63,
78 MsSignedPtrModifier = 64,
79 Unaligned = 65,
80 Unaligned2 = 66,
81 LBRACE = 67,
82 RBRACE = 68,
83 Signed = 69,
84 Unsigned = 70,
85 Long = 71,
86 Short = 72,
87 Static = 73,
88 EQ = 74,
89 ATautoreleasepool = 75,
90 Auto = 76,
91 Register = 77,
92 Inline = 78,
93 Inline2 = 79,
94 Inline3 = 80,
95 Forceinline = 81,
96 ThreadLocal = 82,
97 Thread = 83,
98 CGEXTERN = 84,
99 CGINLINE = 85,
100 FOUNDATIONEXPORT = 86,
101 FOUNDATIONEXTERN = 87,
102 FOUNDATIONSTATICINLINE = 88,
103 IBOutlet = 89,
104 IBInspectable = 90,
105 IBDESIGNABLE = 91,
106 NSINLINE = 92,
107 NSVALIDUNTILENDOFSCOPE = 93,
108 OBJCEXPORT = 94,
109 OBJCROOTCLASS = 95,
110 UIKITEXTERN = 96,
111 Const = 97,
112 Constexpr = 98,
113 Volatile = 99,
114 Restrict = 100,
115 Restrict2 = 101,
116 Atomic = 102,
117 Noreturn2 = 103,
118 Nonnull = 104,
119 Nullable = 105,
120 Complex = 106,
121 Nullable2 = 107,
122 NullableResult = 108,
123 NullUnspecified = 109,
124 Autoreleasing = 110,
125 Block = 111,
126 Bridge = 112,
127 BridgeRetained = 113,
128 BridgeTransfer = 114,
129 Complex2 = 115,
130 Const2 = 116,
131 Imag = 117,
132 Kindof = 118,
133 Nonnull2 = 119,
134 Nullable3 = 120,
135 PtrauthObjcClassRo = 121,
136 PtrauthObjcIsaPointer = 122,
137 PtrauthObjcSuperPointer = 123,
138 Real = 124,
139 Strong = 125,
140 UnsafeUnretained = 126,
141 Unused = 127,
142 Weak = 128,
143 Alignas = 129,
144 Alignas2 = 130,
145 PrimitiveType = 131,
146 Enum = 132,
147 COLON = 133,
148 Struct = 134,
149 Union = 135,
150 If = 136,
151 Else = 137,
152 Switch = 138,
153 Case = 139,
154 Default = 140,
155 While = 141,
156 Do = 142,
157 For = 143,
158 In = 144,
159 Return = 145,
160 Break = 146,
161 Continue = 147,
162 Goto = 148,
163 QMARK = 149,
164 STAREQ = 150,
165 SLASHEQ = 151,
166 PERCENTEQ = 152,
167 PLUSEQ = 153,
168 DASHEQ = 154,
169 LTLTEQ = 155,
170 GTGTEQ = 156,
171 AMPEQ = 157,
172 CARETEQ = 158,
173 PIPEEQ = 159,
174 DASHDASH = 160,
175 PLUSPLUS = 161,
176 Sizeof = 162,
177 Alignof = 163,
178 Alignof2 = 164,
179 Alignof3 = 165,
180 Alignof4 = 166,
181 Alignof5 = 167,
182 Offsetof = 168,
183 Generic = 169,
184 Asm = 170,
185 Asm2 = 171,
186 Asm3 = 172,
187 Volatile2 = 173,
188 LT2 = 174,
189 DOT = 175,
190 DASHGT = 176,
191 NumberLiteral = 177,
192 LSQUOTE = 178,
193 USQUOTE = 179,
194 USQUOTE2 = 180,
195 U8SQUOTE = 181,
196 SQUOTE = 182,
197 Character = 183,
198 AT = 184,
199 DQUOTE = 185,
200 LDQUOTE = 186,
201 UDQUOTE = 187,
202 UDQUOTE2 = 188,
203 U8DQUOTE = 189,
204 StringContent = 190,
205 EscapeSequence = 191,
206 SystemLibString = 192,
207 True = 193,
208 False = 194,
209 NULL = 195,
210 Nullptr = 196,
211 Comment = 197,
212 ObjcBridgeRelated = 198,
213 Typeof = 199,
214 Typeof2 = 200,
215 Typeof3 = 201,
216 Availability2 = 202,
217 VersionNumber = 203,
218 Ios = 204,
219 Tvos = 205,
220 Macos = 206,
221 Macosx = 207,
222 Watchos = 208,
223 ATimport = 209,
224 HASHundef = 210,
225 HASH = 211,
226 NSAUTOMATEDREFCOUNTUNAVAILABLE = 212,
227 NSROOTCLASS = 213,
228 NSUNAVAILABLE = 214,
229 NSREQUIRESNILTERMINATION = 215,
230 CFRETURNSRETAINED = 216,
231 CFRETURNSNOTRETAINED = 217,
232 DEPRECATEDATTRIBUTE = 218,
233 UIAPPEARANCESELECTOR = 219,
234 UNAVAILABLEATTRIBUTE = 220,
235 CFFORMATFUNCTION = 221,
236 NSAVAILABLE = 222,
237 IOSAVAILABLE = 223,
238 NSAVAILABLEIOS = 224,
239 APIAVAILABLE = 225,
240 APIUNAVAILABLE = 226,
241 APIDEPRECATED = 227,
242 NSENUMAVAILABLEIOS = 228,
243 NSDEPRECATEDIOS = 229,
244 NSENUMDEPRECATEDIOS = 230,
245 NSFORMATFUNCTION = 231,
246 DEPRECATEDMSGATTRIBUTE = 232,
247 DeprecatedMsg = 233,
248 DeprecatedEnumMsg = 234,
249 NSSWIFTNAME = 235,
250 NSSWIFTUNAVAILABLE = 236,
251 NSEXTENSIONUNAVAILABLEIOS = 237,
252 NSCLASSAVAILABLEIOS = 238,
253 NSCLASSDEPRECATEDIOS = 239,
254 OSXAVAILABLESTARTING = 240,
255 ATprotocol = 241,
256 Class = 242,
257 ATend = 243,
258 ATinterface = 244,
259 ATimplementation = 245,
260 Covariant = 246,
261 Contravariant = 247,
262 ATprivate = 248,
263 ATprotected = 249,
264 ATpackage = 250,
265 ATpublic = 251,
266 ATcompatibilityAlias = 252,
267 AToptional = 253,
268 ATrequired = 254,
269 ATsynthesize = 255,
270 ATdynamic = 256,
271 LPARENclassRPAREN = 257,
272 ATproperty = 258,
273 ATtry = 259,
274 Try = 260,
275 ATcatch = 261,
276 Catch = 262,
277 ATfinally = 263,
278 Finally = 264,
279 ATthrow = 265,
280 ATselector = 266,
281 SelectorExpressionToken1 = 267,
282 ATavailable = 268,
283 BuiltinAvailable = 269,
284 VaArg = 270,
285 MsAsmBlockToken1 = 271,
286 ATencode = 272,
287 ATsynchronized = 273,
288 BOOL = 274,
289 IMP = 275,
290 SEL = 276,
291 Class2 = 277,
292 Id = 278,
293 ATdefs = 279,
294 Out = 280,
295 Inout = 281,
296 Bycopy = 282,
297 Byref = 283,
298 Oneway = 284,
299 COLON2 = 285,
300 TranslationUnit = 286,
301 TopLevelItem = 287,
302 BlockItem = 288,
303 PreprocInclude = 289,
304 PreprocDef = 290,
305 PreprocFunctionDef = 291,
306 PreprocParams = 292,
307 PreprocCall = 293,
308 PreprocIf = 294,
309 PreprocIfdef = 295,
310 PreprocElse = 296,
311 PreprocElif = 297,
312 PreprocElifdef = 298,
313 PreprocIf2 = 299,
314 PreprocIfdef2 = 300,
315 PreprocElse2 = 301,
316 PreprocElif2 = 302,
317 PreprocElifdef2 = 303,
318 PreprocExpression = 304,
319 ParenthesizedExpression = 305,
320 PreprocDefined = 306,
321 UnaryExpression = 307,
322 CallExpression = 308,
323 ArgumentList = 309,
324 BinaryExpression = 310,
325 FunctionDefinition = 311,
326 FunctionDefinition2 = 312,
327 Declaration = 313,
328 TypeDefinition = 314,
329 TypeDefinitionType = 315,
330 TypeDefinitionDeclarators = 316,
331 DeclarationModifiers = 317,
332 DeclarationSpecifiers = 318,
333 LinkageSpecification = 319,
334 AttributeSpecifier = 320,
335 Attribute = 321,
336 AttributeDeclaration = 322,
337 MsDeclspecModifier = 323,
338 MsBasedModifier = 324,
339 MsCallModifier = 325,
340 MsUnalignedPtrModifier = 326,
341 MsPointerModifier = 327,
342 DeclarationList = 328,
343 Declarator = 329,
344 FieldDeclarator = 330,
345 TypeDeclarator = 331,
346 AbstractDeclarator = 332,
347 ParenthesizedDeclarator = 333,
348 ParenthesizedDeclarator2 = 334,
349 ParenthesizedDeclarator3 = 335,
350 AbstractParenthesizedDeclarator = 336,
351 AttributedDeclarator = 337,
352 PointerDeclarator = 338,
353 PointerDeclarator2 = 339,
354 PointerDeclarator3 = 340,
355 AbstractPointerDeclarator = 341,
356 FunctionDeclarator = 342,
357 FunctionDeclarator2 = 343,
358 FunctionDeclarator3 = 344,
359 AbstractFunctionDeclarator = 345,
360 FunctionDeclarator4 = 346,
361 ArrayDeclarator = 347,
362 ArrayDeclarator2 = 348,
363 ArrayDeclarator3 = 349,
364 AbstractArrayDeclarator = 350,
365 InitDeclarator = 351,
366 CompoundStatement = 352,
367 StorageClassSpecifier = 353,
368 TypeQualifier = 354,
369 AlignasQualifier = 355,
370 TypeSpecifier = 356,
371 SizedTypeSpecifier = 357,
372 EnumSpecifier = 358,
373 EnumeratorList = 359,
374 StructSpecifier = 360,
375 UnionSpecifier = 361,
376 FieldDeclarationList = 362,
377 FieldDeclarationListItem = 363,
378 FieldDeclaration = 364,
379 BitfieldClause = 365,
380 Enumerator = 366,
381 VariadicParameter = 367,
382 ParameterList = 368,
383 ParameterList2 = 369,
384 ParameterDeclaration = 370,
385 AttributedStatement = 371,
386 Statement = 372,
387 TopLevelStatement = 373,
388 LabeledStatement = 374,
389 ExpressionStatement = 375,
390 ExpressionStatement2 = 376,
391 IfStatement = 377,
392 ElseClause = 378,
393 SwitchStatement = 379,
394 CaseStatement = 380,
395 WhileStatement = 381,
396 DoStatement = 382,
397 ForStatement = 383,
398 ForStatementBody = 384,
399 ReturnStatement = 385,
400 BreakStatement = 386,
401 ContinueStatement = 387,
402 GotoStatement = 388,
403 Expression = 389,
404 String = 390,
405 CommaExpression = 391,
406 ConditionalExpression = 392,
407 AssignmentExpression = 393,
408 PointerExpression = 394,
409 UnaryExpression2 = 395,
410 BinaryExpression2 = 396,
411 UpdateExpression = 397,
412 CastExpression = 398,
413 TypeDescriptor = 399,
414 SizeofExpression = 400,
415 AlignofExpression = 401,
416 OffsetofExpression = 402,
417 GenericExpression = 403,
418 SubscriptExpression = 404,
419 CallExpression2 = 405,
420 GnuAsmExpression = 406,
421 GnuAsmQualifier = 407,
422 GnuAsmOutputOperandList = 408,
423 GnuAsmOutputOperand = 409,
424 GnuAsmInputOperandList = 410,
425 GnuAsmInputOperand = 411,
426 GnuAsmClobberList = 412,
427 GnuAsmGotoList = 413,
428 ExtensionExpression = 414,
429 ArgumentList2 = 415,
430 FieldExpression = 416,
431 CompoundLiteralExpression = 417,
432 ParenthesizedExpression2 = 418,
433 InitializerList = 419,
434 InitializerPair = 420,
435 SubscriptDesignator = 421,
436 SubscriptRangeDesignator = 422,
437 FieldDesignator = 423,
438 CharLiteral = 424,
439 ConcatenatedString = 425,
440 StringLiteral = 426,
441 Null = 427,
442 EmptyDeclaration = 428,
443 MacroTypeSpecifier = 429,
444 ObjcBridge = 430,
445 TypeofSpecifier = 431,
446 Availability = 432,
447 Version = 433,
448 Platform = 434,
449 ModuleImport = 435,
450 PreprocIf3 = 436,
451 PreprocElse3 = 437,
452 PreprocElif3 = 438,
453 PreprocIf4 = 439,
454 PreprocElse4 = 440,
455 PreprocElif4 = 441,
456 PreprocIfdef3 = 442,
457 PreprocElse5 = 443,
458 PreprocElif5 = 444,
459 PreprocUndef = 445,
460 PreprocLinemarker = 446,
461 AvailabilityAttributeSpecifier = 447,
462 ProtocolForwardDeclaration = 448,
463 ClassDeclaration = 449,
464 ClassInterface = 450,
465 ClassInterfaceHeader = 451,
466 TypeParams = 452,
467 ClassInterfaceInheritance = 453,
468 ClassImplementation = 454,
469 ClassImplementationHeader = 455,
470 ClassImplementationInheritance = 456,
471 ProtocolReferenceList = 457,
472 ParameterizedArguments = 458,
473 GenericArguments = 459,
474 InstanceVariables = 460,
475 InstanceVariable = 461,
476 VisibilitySpecification = 462,
477 ProtocolDeclaration = 463,
478 CompatibilityAliasDeclaration = 464,
479 QualifiedProtocolInterfaceDeclaration = 465,
480 ImplementationDefinition = 466,
481 PropertyImplementation = 467,
482 MethodDefinition = 468,
483 MethodType = 469,
484 KeywordDeclarator = 470,
485 PropertyDeclaration = 471,
486 PropertyAttributesDeclaration = 472,
487 PropertyAttribute = 473,
488 MethodDeclaration = 474,
489 MethodParameter = 475,
490 MethodParameter2 = 476,
491 StructDeclaration = 477,
492 AtomicDeclaration = 478,
493 SpecifierQualifier = 479,
494 StructDeclarator = 480,
495 TryStatement = 481,
496 CatchClause = 482,
497 FinallyClause = 483,
498 ThrowStatement = 484,
499 SelectorExpression = 485,
500 AvailableExpression = 486,
501 RangeExpression = 487,
502 BlockLiteral = 488,
503 MessageExpression = 489,
504 VaArgExpression = 490,
505 MsAsmBlock = 491,
506 EncodeExpression = 492,
507 SynchronizedStatement = 493,
508 BlockPointerDeclarator = 494,
509 BlockPointerDeclarator2 = 495,
510 BlockPointerDeclarator3 = 496,
511 AbstractBlockPointerDeclarator = 497,
512 GenericSpecifier = 498,
513 TypedefedSpecifier = 499,
514 ArrayTypeSpecifier = 500,
515 AtdefField = 501,
516 ProtocolQualifier = 502,
517 TypeName = 503,
518 AtExpression = 504,
519 DictionaryLiteral = 505,
520 DictionaryPair = 506,
521 ArrayLiteral = 507,
522 MethodIdentifier = 508,
523 TranslationUnitRepeat1 = 509,
524 PreprocParamsRepeat1 = 510,
525 PreprocIfRepeat1 = 511,
526 PreprocIfInFieldDeclarationListRepeat1 = 512,
527 PreprocArgumentListRepeat1 = 513,
528 OldStyleFunctionDefinitionRepeat1 = 514,
529 DeclarationRepeat1 = 515,
530 TypeDefinitionTypeRepeat1 = 516,
531 TypeDefinitionDeclaratorsRepeat1 = 517,
532 DeclarationSpecifiersRepeat1 = 518,
533 AttributeSpecifierRepeat1 = 519,
534 AttributeRepeat1 = 520,
535 AttributeDeclarationRepeat1 = 521,
536 DeclarationListRepeat1 = 522,
537 AttributedFieldDeclaratorRepeat1 = 523,
538 PointerDeclaratorRepeat1 = 524,
539 FunctionDeclaratorRepeat1 = 525,
540 FunctionFieldDeclaratorRepeat1 = 526,
541 ArrayDeclaratorRepeat1 = 527,
542 SizedTypeSpecifierRepeat1 = 528,
543 EnumeratorListRepeat1 = 529,
544 FieldDeclarationRepeat1 = 530,
545 ParameterListRepeat1 = 531,
546 OldStyleParameterListRepeat1 = 532,
547 CaseStatementRepeat1 = 533,
548 GenericExpressionRepeat1 = 534,
549 GnuAsmExpressionRepeat1 = 535,
550 GnuAsmOutputOperandListRepeat1 = 536,
551 GnuAsmInputOperandListRepeat1 = 537,
552 GnuAsmClobberListRepeat1 = 538,
553 GnuAsmGotoListRepeat1 = 539,
554 ArgumentListRepeat1 = 540,
555 ArgumentListRepeat2 = 541,
556 InitializerListRepeat1 = 542,
557 InitializerPairRepeat1 = 543,
558 CharLiteralRepeat1 = 544,
559 ConcatenatedStringRepeat1 = 545,
560 StringLiteralRepeat1 = 546,
561 AvailabilityRepeat1 = 547,
562 VersionRepeat1 = 548,
563 ModuleImportRepeat1 = 549,
564 PreprocIfInImplementationDefinitionRepeat1 = 550,
565 PreprocIfInInterfaceDeclarationRepeat1 = 551,
566 PreprocIfdefInEnumeratorRepeat1 = 552,
567 AvailabilityAttributeSpecifierRepeat1 = 553,
568 ProtocolForwardDeclarationRepeat1 = 554,
569 ClassDeclarationRepeat1 = 555,
570 ClassInterfaceRepeat1 = 556,
571 ClassImplementationRepeat1 = 557,
572 ParameterizedArgumentsRepeat1 = 558,
573 ParameterizedArgumentsRepeat2 = 559,
574 GenericArgumentsRepeat1 = 560,
575 InstanceVariablesRepeat1 = 561,
576 ProtocolDeclarationRepeat1 = 562,
577 PropertyImplementationRepeat1 = 563,
578 MethodDefinitionRepeat1 = 564,
579 MethodDefinitionRepeat2 = 565,
580 MethodTypeRepeat1 = 566,
581 KeywordSelectorRepeat1 = 567,
582 PropertyAttributesDeclarationRepeat1 = 568,
583 MethodDeclarationRepeat1 = 569,
584 MethodDeclarationRepeat2 = 570,
585 CMethodParameterRepeat1 = 571,
586 StructDeclarationRepeat1 = 572,
587 StructDeclarationRepeat2 = 573,
588 TryStatementRepeat1 = 574,
589 SelectorExpressionRepeat1 = 575,
590 SelectorExpressionRepeat2 = 576,
591 AvailableExpressionRepeat1 = 577,
592 MessageExpressionRepeat1 = 578,
593 MessageExpressionRepeat2 = 579,
594 GenericSpecifierRepeat1 = 580,
595 TypeNameRepeat1 = 581,
596 DictionaryLiteralRepeat1 = 582,
597 MethodIdentifierRepeat1 = 583,
598 MethodIdentifierRepeat2 = 584,
599 FieldIdentifier = 585,
600 StatementIdentifier = 586,
601 TypeIdentifier = 587,
602 Error = 588,
603}
604
605impl From<Objc> for &'static str {
606 #[inline]
607 fn from(tok: Objc) -> Self {
608 match tok {
609 Objc::End => "end",
610 Objc::Identifier => "identifier",
611 Objc::HASHinclude => "#include",
612 Objc::HASHimport => "#import",
613 Objc::PreprocIncludeToken3 => "preproc_include_token3",
614 Objc::HASHdefine => "#define",
615 Objc::LPAREN => "(",
616 Objc::DOTDOTDOT => "...",
617 Objc::COMMA => ",",
618 Objc::RPAREN => ")",
619 Objc::HASHif => "#if",
620 Objc::LF => "\n",
621 Objc::HASHendif => "#endif",
622 Objc::HASHifdef => "#ifdef",
623 Objc::HASHifndef => "#ifndef",
624 Objc::HASHelse => "#else",
625 Objc::HASHelif => "#elif",
626 Objc::HASHelifdef => "#elifdef",
627 Objc::HASHelifndef => "#elifndef",
628 Objc::PreprocArg => "preproc_arg",
629 Objc::PreprocDirective => "preproc_directive",
630 Objc::LPAREN2 => "(",
631 Objc::Defined => "defined",
632 Objc::BANG => "!",
633 Objc::TILDE => "~",
634 Objc::DASH => "-",
635 Objc::PLUS => "+",
636 Objc::STAR => "*",
637 Objc::SLASH => "/",
638 Objc::PERCENT => "%",
639 Objc::PIPEPIPE => "||",
640 Objc::AMPAMP => "&&",
641 Objc::PIPE => "|",
642 Objc::CARET => "^",
643 Objc::AMP => "&",
644 Objc::EQEQ => "==",
645 Objc::BANGEQ => "!=",
646 Objc::GT => ">",
647 Objc::GTEQ => ">=",
648 Objc::LTEQ => "<=",
649 Objc::LT => "<",
650 Objc::LTLT => "<<",
651 Objc::GTGT => ">>",
652 Objc::SEMI => ";",
653 Objc::Extension => "__extension__",
654 Objc::Typedef => "typedef",
655 Objc::Extern => "extern",
656 Objc::Attribute2 => "__attribute__",
657 Objc::Attribute3 => "__attribute",
658 Objc::Noreturn => "noreturn",
659 Objc::Nothrow => "nothrow",
660 Objc::COLONCOLON => "::",
661 Objc::LBRACK => "[",
662 Objc::RBRACK => "]",
663 Objc::Declspec => "__declspec",
664 Objc::Based => "__based",
665 Objc::Cdecl => "__cdecl",
666 Objc::Clrcall => "__clrcall",
667 Objc::Stdcall => "__stdcall",
668 Objc::Fastcall => "__fastcall",
669 Objc::Thiscall => "__thiscall",
670 Objc::Vectorcall => "__vectorcall",
671 Objc::MsRestrictModifier => "ms_restrict_modifier",
672 Objc::MsUnsignedPtrModifier => "ms_unsigned_ptr_modifier",
673 Objc::MsSignedPtrModifier => "ms_signed_ptr_modifier",
674 Objc::Unaligned => "_unaligned",
675 Objc::Unaligned2 => "__unaligned",
676 Objc::LBRACE => "{",
677 Objc::RBRACE => "}",
678 Objc::Signed => "signed",
679 Objc::Unsigned => "unsigned",
680 Objc::Long => "long",
681 Objc::Short => "short",
682 Objc::Static => "static",
683 Objc::EQ => "=",
684 Objc::ATautoreleasepool => "@autoreleasepool",
685 Objc::Auto => "auto",
686 Objc::Register => "register",
687 Objc::Inline => "inline",
688 Objc::Inline2 => "__inline",
689 Objc::Inline3 => "__inline__",
690 Objc::Forceinline => "__forceinline",
691 Objc::ThreadLocal => "thread_local",
692 Objc::Thread => "__thread",
693 Objc::CGEXTERN => "CG_EXTERN",
694 Objc::CGINLINE => "CG_INLINE",
695 Objc::FOUNDATIONEXPORT => "FOUNDATION_EXPORT",
696 Objc::FOUNDATIONEXTERN => "FOUNDATION_EXTERN",
697 Objc::FOUNDATIONSTATICINLINE => "FOUNDATION_STATIC_INLINE",
698 Objc::IBOutlet => "IBOutlet",
699 Objc::IBInspectable => "IBInspectable",
700 Objc::IBDESIGNABLE => "IB_DESIGNABLE",
701 Objc::NSINLINE => "NS_INLINE",
702 Objc::NSVALIDUNTILENDOFSCOPE => "NS_VALID_UNTIL_END_OF_SCOPE",
703 Objc::OBJCEXPORT => "OBJC_EXPORT",
704 Objc::OBJCROOTCLASS => "OBJC_ROOT_CLASS",
705 Objc::UIKITEXTERN => "UIKIT_EXTERN",
706 Objc::Const => "const",
707 Objc::Constexpr => "constexpr",
708 Objc::Volatile => "volatile",
709 Objc::Restrict => "restrict",
710 Objc::Restrict2 => "__restrict__",
711 Objc::Atomic => "_Atomic",
712 Objc::Noreturn2 => "_Noreturn",
713 Objc::Nonnull => "_Nonnull",
714 Objc::Nullable => "nullable",
715 Objc::Complex => "_Complex",
716 Objc::Nullable2 => "_Nullable",
717 Objc::NullableResult => "_Nullable_result",
718 Objc::NullUnspecified => "_Null_unspecified",
719 Objc::Autoreleasing => "__autoreleasing",
720 Objc::Block => "__block",
721 Objc::Bridge => "__bridge",
722 Objc::BridgeRetained => "__bridge_retained",
723 Objc::BridgeTransfer => "__bridge_transfer",
724 Objc::Complex2 => "__complex",
725 Objc::Const2 => "__const",
726 Objc::Imag => "__imag",
727 Objc::Kindof => "__kindof",
728 Objc::Nonnull2 => "__nonnull",
729 Objc::Nullable3 => "__nullable",
730 Objc::PtrauthObjcClassRo => "__ptrauth_objc_class_ro",
731 Objc::PtrauthObjcIsaPointer => "__ptrauth_objc_isa_pointer",
732 Objc::PtrauthObjcSuperPointer => "__ptrauth_objc_super_pointer",
733 Objc::Real => "__real",
734 Objc::Strong => "__strong",
735 Objc::UnsafeUnretained => "__unsafe_unretained",
736 Objc::Unused => "__unused",
737 Objc::Weak => "__weak",
738 Objc::Alignas => "alignas",
739 Objc::Alignas2 => "_Alignas",
740 Objc::PrimitiveType => "primitive_type",
741 Objc::Enum => "enum",
742 Objc::COLON => ":",
743 Objc::Struct => "struct",
744 Objc::Union => "union",
745 Objc::If => "if",
746 Objc::Else => "else",
747 Objc::Switch => "switch",
748 Objc::Case => "case",
749 Objc::Default => "default",
750 Objc::While => "while",
751 Objc::Do => "do",
752 Objc::For => "for",
753 Objc::In => "in",
754 Objc::Return => "return",
755 Objc::Break => "break",
756 Objc::Continue => "continue",
757 Objc::Goto => "goto",
758 Objc::QMARK => "?",
759 Objc::STAREQ => "*=",
760 Objc::SLASHEQ => "/=",
761 Objc::PERCENTEQ => "%=",
762 Objc::PLUSEQ => "+=",
763 Objc::DASHEQ => "-=",
764 Objc::LTLTEQ => "<<=",
765 Objc::GTGTEQ => ">>=",
766 Objc::AMPEQ => "&=",
767 Objc::CARETEQ => "^=",
768 Objc::PIPEEQ => "|=",
769 Objc::DASHDASH => "--",
770 Objc::PLUSPLUS => "++",
771 Objc::Sizeof => "sizeof",
772 Objc::Alignof => "__alignof__",
773 Objc::Alignof2 => "__alignof",
774 Objc::Alignof3 => "_alignof",
775 Objc::Alignof4 => "alignof",
776 Objc::Alignof5 => "_Alignof",
777 Objc::Offsetof => "offsetof",
778 Objc::Generic => "_Generic",
779 Objc::Asm => "asm",
780 Objc::Asm2 => "__asm__",
781 Objc::Asm3 => "__asm",
782 Objc::Volatile2 => "__volatile__",
783 Objc::LT2 => "<",
784 Objc::DOT => ".",
785 Objc::DASHGT => "->",
786 Objc::NumberLiteral => "number_literal",
787 Objc::LSQUOTE => "L'",
788 Objc::USQUOTE => "u'",
789 Objc::USQUOTE2 => "U'",
790 Objc::U8SQUOTE => "u8'",
791 Objc::SQUOTE => "'",
792 Objc::Character => "character",
793 Objc::AT => "@",
794 Objc::DQUOTE => "\"",
795 Objc::LDQUOTE => "L\"",
796 Objc::UDQUOTE => "u\"",
797 Objc::UDQUOTE2 => "U\"",
798 Objc::U8DQUOTE => "u8\"",
799 Objc::StringContent => "string_content",
800 Objc::EscapeSequence => "escape_sequence",
801 Objc::SystemLibString => "system_lib_string",
802 Objc::True => "true",
803 Objc::False => "false",
804 Objc::NULL => "NULL",
805 Objc::Nullptr => "nullptr",
806 Objc::Comment => "comment",
807 Objc::ObjcBridgeRelated => "objc_bridge_related",
808 Objc::Typeof => "__typeof__",
809 Objc::Typeof2 => "__typeof",
810 Objc::Typeof3 => "typeof",
811 Objc::Availability2 => "availability",
812 Objc::VersionNumber => "version_number",
813 Objc::Ios => "ios",
814 Objc::Tvos => "tvos",
815 Objc::Macos => "macos",
816 Objc::Macosx => "macosx",
817 Objc::Watchos => "watchos",
818 Objc::ATimport => "@import",
819 Objc::HASHundef => "#undef",
820 Objc::HASH => "#",
821 Objc::NSAUTOMATEDREFCOUNTUNAVAILABLE => "NS_AUTOMATED_REFCOUNT_UNAVAILABLE",
822 Objc::NSROOTCLASS => "NS_ROOT_CLASS",
823 Objc::NSUNAVAILABLE => "NS_UNAVAILABLE",
824 Objc::NSREQUIRESNILTERMINATION => "NS_REQUIRES_NIL_TERMINATION",
825 Objc::CFRETURNSRETAINED => "CF_RETURNS_RETAINED",
826 Objc::CFRETURNSNOTRETAINED => "CF_RETURNS_NOT_RETAINED",
827 Objc::DEPRECATEDATTRIBUTE => "DEPRECATED_ATTRIBUTE",
828 Objc::UIAPPEARANCESELECTOR => "UI_APPEARANCE_SELECTOR",
829 Objc::UNAVAILABLEATTRIBUTE => "UNAVAILABLE_ATTRIBUTE",
830 Objc::CFFORMATFUNCTION => "CF_FORMAT_FUNCTION",
831 Objc::NSAVAILABLE => "NS_AVAILABLE",
832 Objc::IOSAVAILABLE => "__IOS_AVAILABLE",
833 Objc::NSAVAILABLEIOS => "NS_AVAILABLE_IOS",
834 Objc::APIAVAILABLE => "API_AVAILABLE",
835 Objc::APIUNAVAILABLE => "API_UNAVAILABLE",
836 Objc::APIDEPRECATED => "API_DEPRECATED",
837 Objc::NSENUMAVAILABLEIOS => "NS_ENUM_AVAILABLE_IOS",
838 Objc::NSDEPRECATEDIOS => "NS_DEPRECATED_IOS",
839 Objc::NSENUMDEPRECATEDIOS => "NS_ENUM_DEPRECATED_IOS",
840 Objc::NSFORMATFUNCTION => "NS_FORMAT_FUNCTION",
841 Objc::DEPRECATEDMSGATTRIBUTE => "DEPRECATED_MSG_ATTRIBUTE",
842 Objc::DeprecatedMsg => "__deprecated_msg",
843 Objc::DeprecatedEnumMsg => "__deprecated_enum_msg",
844 Objc::NSSWIFTNAME => "NS_SWIFT_NAME",
845 Objc::NSSWIFTUNAVAILABLE => "NS_SWIFT_UNAVAILABLE",
846 Objc::NSEXTENSIONUNAVAILABLEIOS => "NS_EXTENSION_UNAVAILABLE_IOS",
847 Objc::NSCLASSAVAILABLEIOS => "NS_CLASS_AVAILABLE_IOS",
848 Objc::NSCLASSDEPRECATEDIOS => "NS_CLASS_DEPRECATED_IOS",
849 Objc::OSXAVAILABLESTARTING => "__OSX_AVAILABLE_STARTING",
850 Objc::ATprotocol => "@protocol",
851 Objc::Class => "class",
852 Objc::ATend => "@end",
853 Objc::ATinterface => "@interface",
854 Objc::ATimplementation => "@implementation",
855 Objc::Covariant => "__covariant",
856 Objc::Contravariant => "__contravariant",
857 Objc::ATprivate => "@private",
858 Objc::ATprotected => "@protected",
859 Objc::ATpackage => "@package",
860 Objc::ATpublic => "@public",
861 Objc::ATcompatibilityAlias => "@compatibility_alias",
862 Objc::AToptional => "@optional",
863 Objc::ATrequired => "@required",
864 Objc::ATsynthesize => "@synthesize",
865 Objc::ATdynamic => "@dynamic",
866 Objc::LPARENclassRPAREN => "(class)",
867 Objc::ATproperty => "@property",
868 Objc::ATtry => "@try",
869 Objc::Try => "__try",
870 Objc::ATcatch => "@catch",
871 Objc::Catch => "__catch",
872 Objc::ATfinally => "@finally",
873 Objc::Finally => "__finally",
874 Objc::ATthrow => "@throw",
875 Objc::ATselector => "@selector",
876 Objc::SelectorExpressionToken1 => "selector_expression_token1",
877 Objc::ATavailable => "@available",
878 Objc::BuiltinAvailable => "__builtin_available",
879 Objc::VaArg => "va_arg",
880 Objc::MsAsmBlockToken1 => "ms_asm_block_token1",
881 Objc::ATencode => "@encode",
882 Objc::ATsynchronized => "@synchronized",
883 Objc::BOOL => "BOOL",
884 Objc::IMP => "IMP",
885 Objc::SEL => "SEL",
886 Objc::Class2 => "Class",
887 Objc::Id => "id",
888 Objc::ATdefs => "@defs",
889 Objc::Out => "out",
890 Objc::Inout => "inout",
891 Objc::Bycopy => "bycopy",
892 Objc::Byref => "byref",
893 Objc::Oneway => "oneway",
894 Objc::COLON2 => ":",
895 Objc::TranslationUnit => "translation_unit",
896 Objc::TopLevelItem => "_top_level_item",
897 Objc::BlockItem => "_block_item",
898 Objc::PreprocInclude => "preproc_include",
899 Objc::PreprocDef => "preproc_def",
900 Objc::PreprocFunctionDef => "preproc_function_def",
901 Objc::PreprocParams => "preproc_params",
902 Objc::PreprocCall => "preproc_call",
903 Objc::PreprocIf => "preproc_if",
904 Objc::PreprocIfdef => "preproc_ifdef",
905 Objc::PreprocElse => "preproc_else",
906 Objc::PreprocElif => "preproc_elif",
907 Objc::PreprocElifdef => "preproc_elifdef",
908 Objc::PreprocIf2 => "preproc_if",
909 Objc::PreprocIfdef2 => "preproc_ifdef",
910 Objc::PreprocElse2 => "preproc_else",
911 Objc::PreprocElif2 => "preproc_elif",
912 Objc::PreprocElifdef2 => "preproc_elifdef",
913 Objc::PreprocExpression => "_preproc_expression",
914 Objc::ParenthesizedExpression => "parenthesized_expression",
915 Objc::PreprocDefined => "preproc_defined",
916 Objc::UnaryExpression => "unary_expression",
917 Objc::CallExpression => "call_expression",
918 Objc::ArgumentList => "argument_list",
919 Objc::BinaryExpression => "binary_expression",
920 Objc::FunctionDefinition => "function_definition",
921 Objc::FunctionDefinition2 => "function_definition",
922 Objc::Declaration => "declaration",
923 Objc::TypeDefinition => "type_definition",
924 Objc::TypeDefinitionType => "_type_definition_type",
925 Objc::TypeDefinitionDeclarators => "_type_definition_declarators",
926 Objc::DeclarationModifiers => "_declaration_modifiers",
927 Objc::DeclarationSpecifiers => "_declaration_specifiers",
928 Objc::LinkageSpecification => "linkage_specification",
929 Objc::AttributeSpecifier => "attribute_specifier",
930 Objc::Attribute => "attribute",
931 Objc::AttributeDeclaration => "attribute_declaration",
932 Objc::MsDeclspecModifier => "ms_declspec_modifier",
933 Objc::MsBasedModifier => "ms_based_modifier",
934 Objc::MsCallModifier => "ms_call_modifier",
935 Objc::MsUnalignedPtrModifier => "ms_unaligned_ptr_modifier",
936 Objc::MsPointerModifier => "ms_pointer_modifier",
937 Objc::DeclarationList => "declaration_list",
938 Objc::Declarator => "_declarator",
939 Objc::FieldDeclarator => "_field_declarator",
940 Objc::TypeDeclarator => "_type_declarator",
941 Objc::AbstractDeclarator => "_abstract_declarator",
942 Objc::ParenthesizedDeclarator => "parenthesized_declarator",
943 Objc::ParenthesizedDeclarator2 => "parenthesized_declarator",
944 Objc::ParenthesizedDeclarator3 => "parenthesized_declarator",
945 Objc::AbstractParenthesizedDeclarator => "abstract_parenthesized_declarator",
946 Objc::AttributedDeclarator => "attributed_declarator",
947 Objc::PointerDeclarator => "pointer_declarator",
948 Objc::PointerDeclarator2 => "pointer_declarator",
949 Objc::PointerDeclarator3 => "pointer_declarator",
950 Objc::AbstractPointerDeclarator => "abstract_pointer_declarator",
951 Objc::FunctionDeclarator => "function_declarator",
952 Objc::FunctionDeclarator2 => "function_declarator",
953 Objc::FunctionDeclarator3 => "function_declarator",
954 Objc::AbstractFunctionDeclarator => "abstract_function_declarator",
955 Objc::FunctionDeclarator4 => "function_declarator",
956 Objc::ArrayDeclarator => "array_declarator",
957 Objc::ArrayDeclarator2 => "array_declarator",
958 Objc::ArrayDeclarator3 => "array_declarator",
959 Objc::AbstractArrayDeclarator => "abstract_array_declarator",
960 Objc::InitDeclarator => "init_declarator",
961 Objc::CompoundStatement => "compound_statement",
962 Objc::StorageClassSpecifier => "storage_class_specifier",
963 Objc::TypeQualifier => "type_qualifier",
964 Objc::AlignasQualifier => "alignas_qualifier",
965 Objc::TypeSpecifier => "type_specifier",
966 Objc::SizedTypeSpecifier => "sized_type_specifier",
967 Objc::EnumSpecifier => "enum_specifier",
968 Objc::EnumeratorList => "enumerator_list",
969 Objc::StructSpecifier => "struct_specifier",
970 Objc::UnionSpecifier => "union_specifier",
971 Objc::FieldDeclarationList => "field_declaration_list",
972 Objc::FieldDeclarationListItem => "_field_declaration_list_item",
973 Objc::FieldDeclaration => "field_declaration",
974 Objc::BitfieldClause => "bitfield_clause",
975 Objc::Enumerator => "enumerator",
976 Objc::VariadicParameter => "variadic_parameter",
977 Objc::ParameterList => "parameter_list",
978 Objc::ParameterList2 => "parameter_list",
979 Objc::ParameterDeclaration => "parameter_declaration",
980 Objc::AttributedStatement => "attributed_statement",
981 Objc::Statement => "statement",
982 Objc::TopLevelStatement => "_top_level_statement",
983 Objc::LabeledStatement => "labeled_statement",
984 Objc::ExpressionStatement => "expression_statement",
985 Objc::ExpressionStatement2 => "expression_statement",
986 Objc::IfStatement => "if_statement",
987 Objc::ElseClause => "else_clause",
988 Objc::SwitchStatement => "switch_statement",
989 Objc::CaseStatement => "case_statement",
990 Objc::WhileStatement => "while_statement",
991 Objc::DoStatement => "do_statement",
992 Objc::ForStatement => "for_statement",
993 Objc::ForStatementBody => "_for_statement_body",
994 Objc::ReturnStatement => "return_statement",
995 Objc::BreakStatement => "break_statement",
996 Objc::ContinueStatement => "continue_statement",
997 Objc::GotoStatement => "goto_statement",
998 Objc::Expression => "expression",
999 Objc::String => "_string",
1000 Objc::CommaExpression => "comma_expression",
1001 Objc::ConditionalExpression => "conditional_expression",
1002 Objc::AssignmentExpression => "assignment_expression",
1003 Objc::PointerExpression => "pointer_expression",
1004 Objc::UnaryExpression2 => "unary_expression",
1005 Objc::BinaryExpression2 => "binary_expression",
1006 Objc::UpdateExpression => "update_expression",
1007 Objc::CastExpression => "cast_expression",
1008 Objc::TypeDescriptor => "type_descriptor",
1009 Objc::SizeofExpression => "sizeof_expression",
1010 Objc::AlignofExpression => "alignof_expression",
1011 Objc::OffsetofExpression => "offsetof_expression",
1012 Objc::GenericExpression => "generic_expression",
1013 Objc::SubscriptExpression => "subscript_expression",
1014 Objc::CallExpression2 => "call_expression",
1015 Objc::GnuAsmExpression => "gnu_asm_expression",
1016 Objc::GnuAsmQualifier => "gnu_asm_qualifier",
1017 Objc::GnuAsmOutputOperandList => "gnu_asm_output_operand_list",
1018 Objc::GnuAsmOutputOperand => "gnu_asm_output_operand",
1019 Objc::GnuAsmInputOperandList => "gnu_asm_input_operand_list",
1020 Objc::GnuAsmInputOperand => "gnu_asm_input_operand",
1021 Objc::GnuAsmClobberList => "gnu_asm_clobber_list",
1022 Objc::GnuAsmGotoList => "gnu_asm_goto_list",
1023 Objc::ExtensionExpression => "extension_expression",
1024 Objc::ArgumentList2 => "argument_list",
1025 Objc::FieldExpression => "field_expression",
1026 Objc::CompoundLiteralExpression => "compound_literal_expression",
1027 Objc::ParenthesizedExpression2 => "parenthesized_expression",
1028 Objc::InitializerList => "initializer_list",
1029 Objc::InitializerPair => "initializer_pair",
1030 Objc::SubscriptDesignator => "subscript_designator",
1031 Objc::SubscriptRangeDesignator => "subscript_range_designator",
1032 Objc::FieldDesignator => "field_designator",
1033 Objc::CharLiteral => "char_literal",
1034 Objc::ConcatenatedString => "concatenated_string",
1035 Objc::StringLiteral => "string_literal",
1036 Objc::Null => "null",
1037 Objc::EmptyDeclaration => "_empty_declaration",
1038 Objc::MacroTypeSpecifier => "macro_type_specifier",
1039 Objc::ObjcBridge => "objc_bridge",
1040 Objc::TypeofSpecifier => "typeof_specifier",
1041 Objc::Availability => "availability",
1042 Objc::Version => "version",
1043 Objc::Platform => "platform",
1044 Objc::ModuleImport => "module_import",
1045 Objc::PreprocIf3 => "preproc_if",
1046 Objc::PreprocElse3 => "preproc_else",
1047 Objc::PreprocElif3 => "preproc_elif",
1048 Objc::PreprocIf4 => "preproc_if",
1049 Objc::PreprocElse4 => "preproc_else",
1050 Objc::PreprocElif4 => "preproc_elif",
1051 Objc::PreprocIfdef3 => "preproc_ifdef",
1052 Objc::PreprocElse5 => "preproc_else",
1053 Objc::PreprocElif5 => "preproc_elif",
1054 Objc::PreprocUndef => "preproc_undef",
1055 Objc::PreprocLinemarker => "preproc_linemarker",
1056 Objc::AvailabilityAttributeSpecifier => "availability_attribute_specifier",
1057 Objc::ProtocolForwardDeclaration => "protocol_forward_declaration",
1058 Objc::ClassDeclaration => "class_declaration",
1059 Objc::ClassInterface => "class_interface",
1060 Objc::ClassInterfaceHeader => "_class_interface_header",
1061 Objc::TypeParams => "_type_params",
1062 Objc::ClassInterfaceInheritance => "_class_interface_inheritance",
1063 Objc::ClassImplementation => "class_implementation",
1064 Objc::ClassImplementationHeader => "_class_implementation_header",
1065 Objc::ClassImplementationInheritance => "_class_implementation_inheritance",
1066 Objc::ProtocolReferenceList => "protocol_reference_list",
1067 Objc::ParameterizedArguments => "parameterized_arguments",
1068 Objc::GenericArguments => "generic_arguments",
1069 Objc::InstanceVariables => "instance_variables",
1070 Objc::InstanceVariable => "instance_variable",
1071 Objc::VisibilitySpecification => "visibility_specification",
1072 Objc::ProtocolDeclaration => "protocol_declaration",
1073 Objc::CompatibilityAliasDeclaration => "compatibility_alias_declaration",
1074 Objc::QualifiedProtocolInterfaceDeclaration => {
1075 "qualified_protocol_interface_declaration"
1076 }
1077 Objc::ImplementationDefinition => "implementation_definition",
1078 Objc::PropertyImplementation => "property_implementation",
1079 Objc::MethodDefinition => "method_definition",
1080 Objc::MethodType => "method_type",
1081 Objc::KeywordDeclarator => "keyword_declarator",
1082 Objc::PropertyDeclaration => "property_declaration",
1083 Objc::PropertyAttributesDeclaration => "property_attributes_declaration",
1084 Objc::PropertyAttribute => "property_attribute",
1085 Objc::MethodDeclaration => "method_declaration",
1086 Objc::MethodParameter => "method_parameter",
1087 Objc::MethodParameter2 => "method_parameter",
1088 Objc::StructDeclaration => "struct_declaration",
1089 Objc::AtomicDeclaration => "atomic_declaration",
1090 Objc::SpecifierQualifier => "specifier_qualifier",
1091 Objc::StructDeclarator => "struct_declarator",
1092 Objc::TryStatement => "try_statement",
1093 Objc::CatchClause => "catch_clause",
1094 Objc::FinallyClause => "finally_clause",
1095 Objc::ThrowStatement => "throw_statement",
1096 Objc::SelectorExpression => "selector_expression",
1097 Objc::AvailableExpression => "available_expression",
1098 Objc::RangeExpression => "range_expression",
1099 Objc::BlockLiteral => "block_literal",
1100 Objc::MessageExpression => "message_expression",
1101 Objc::VaArgExpression => "va_arg_expression",
1102 Objc::MsAsmBlock => "ms_asm_block",
1103 Objc::EncodeExpression => "encode_expression",
1104 Objc::SynchronizedStatement => "synchronized_statement",
1105 Objc::BlockPointerDeclarator => "block_pointer_declarator",
1106 Objc::BlockPointerDeclarator2 => "block_pointer_declarator",
1107 Objc::BlockPointerDeclarator3 => "block_pointer_declarator",
1108 Objc::AbstractBlockPointerDeclarator => "abstract_block_pointer_declarator",
1109 Objc::GenericSpecifier => "generic_specifier",
1110 Objc::TypedefedSpecifier => "typedefed_specifier",
1111 Objc::ArrayTypeSpecifier => "array_type_specifier",
1112 Objc::AtdefField => "atdef_field",
1113 Objc::ProtocolQualifier => "protocol_qualifier",
1114 Objc::TypeName => "type_name",
1115 Objc::AtExpression => "at_expression",
1116 Objc::DictionaryLiteral => "dictionary_literal",
1117 Objc::DictionaryPair => "dictionary_pair",
1118 Objc::ArrayLiteral => "array_literal",
1119 Objc::MethodIdentifier => "method_identifier",
1120 Objc::TranslationUnitRepeat1 => "translation_unit_repeat1",
1121 Objc::PreprocParamsRepeat1 => "preproc_params_repeat1",
1122 Objc::PreprocIfRepeat1 => "preproc_if_repeat1",
1123 Objc::PreprocIfInFieldDeclarationListRepeat1 => {
1124 "preproc_if_in_field_declaration_list_repeat1"
1125 }
1126 Objc::PreprocArgumentListRepeat1 => "preproc_argument_list_repeat1",
1127 Objc::OldStyleFunctionDefinitionRepeat1 => "_old_style_function_definition_repeat1",
1128 Objc::DeclarationRepeat1 => "declaration_repeat1",
1129 Objc::TypeDefinitionTypeRepeat1 => "_type_definition_type_repeat1",
1130 Objc::TypeDefinitionDeclaratorsRepeat1 => "_type_definition_declarators_repeat1",
1131 Objc::DeclarationSpecifiersRepeat1 => "_declaration_specifiers_repeat1",
1132 Objc::AttributeSpecifierRepeat1 => "attribute_specifier_repeat1",
1133 Objc::AttributeRepeat1 => "attribute_repeat1",
1134 Objc::AttributeDeclarationRepeat1 => "attribute_declaration_repeat1",
1135 Objc::DeclarationListRepeat1 => "declaration_list_repeat1",
1136 Objc::AttributedFieldDeclaratorRepeat1 => "attributed_field_declarator_repeat1",
1137 Objc::PointerDeclaratorRepeat1 => "pointer_declarator_repeat1",
1138 Objc::FunctionDeclaratorRepeat1 => "function_declarator_repeat1",
1139 Objc::FunctionFieldDeclaratorRepeat1 => "function_field_declarator_repeat1",
1140 Objc::ArrayDeclaratorRepeat1 => "array_declarator_repeat1",
1141 Objc::SizedTypeSpecifierRepeat1 => "sized_type_specifier_repeat1",
1142 Objc::EnumeratorListRepeat1 => "enumerator_list_repeat1",
1143 Objc::FieldDeclarationRepeat1 => "field_declaration_repeat1",
1144 Objc::ParameterListRepeat1 => "parameter_list_repeat1",
1145 Objc::OldStyleParameterListRepeat1 => "_old_style_parameter_list_repeat1",
1146 Objc::CaseStatementRepeat1 => "case_statement_repeat1",
1147 Objc::GenericExpressionRepeat1 => "generic_expression_repeat1",
1148 Objc::GnuAsmExpressionRepeat1 => "gnu_asm_expression_repeat1",
1149 Objc::GnuAsmOutputOperandListRepeat1 => "gnu_asm_output_operand_list_repeat1",
1150 Objc::GnuAsmInputOperandListRepeat1 => "gnu_asm_input_operand_list_repeat1",
1151 Objc::GnuAsmClobberListRepeat1 => "gnu_asm_clobber_list_repeat1",
1152 Objc::GnuAsmGotoListRepeat1 => "gnu_asm_goto_list_repeat1",
1153 Objc::ArgumentListRepeat1 => "argument_list_repeat1",
1154 Objc::ArgumentListRepeat2 => "argument_list_repeat2",
1155 Objc::InitializerListRepeat1 => "initializer_list_repeat1",
1156 Objc::InitializerPairRepeat1 => "initializer_pair_repeat1",
1157 Objc::CharLiteralRepeat1 => "char_literal_repeat1",
1158 Objc::ConcatenatedStringRepeat1 => "concatenated_string_repeat1",
1159 Objc::StringLiteralRepeat1 => "string_literal_repeat1",
1160 Objc::AvailabilityRepeat1 => "availability_repeat1",
1161 Objc::VersionRepeat1 => "version_repeat1",
1162 Objc::ModuleImportRepeat1 => "module_import_repeat1",
1163 Objc::PreprocIfInImplementationDefinitionRepeat1 => {
1164 "preproc_if_in_implementation_definition_repeat1"
1165 }
1166 Objc::PreprocIfInInterfaceDeclarationRepeat1 => {
1167 "preproc_if_in_interface_declaration_repeat1"
1168 }
1169 Objc::PreprocIfdefInEnumeratorRepeat1 => "preproc_ifdef_in_enumerator_repeat1",
1170 Objc::AvailabilityAttributeSpecifierRepeat1 => {
1171 "availability_attribute_specifier_repeat1"
1172 }
1173 Objc::ProtocolForwardDeclarationRepeat1 => "protocol_forward_declaration_repeat1",
1174 Objc::ClassDeclarationRepeat1 => "class_declaration_repeat1",
1175 Objc::ClassInterfaceRepeat1 => "class_interface_repeat1",
1176 Objc::ClassImplementationRepeat1 => "class_implementation_repeat1",
1177 Objc::ParameterizedArgumentsRepeat1 => "parameterized_arguments_repeat1",
1178 Objc::ParameterizedArgumentsRepeat2 => "parameterized_arguments_repeat2",
1179 Objc::GenericArgumentsRepeat1 => "generic_arguments_repeat1",
1180 Objc::InstanceVariablesRepeat1 => "instance_variables_repeat1",
1181 Objc::ProtocolDeclarationRepeat1 => "protocol_declaration_repeat1",
1182 Objc::PropertyImplementationRepeat1 => "property_implementation_repeat1",
1183 Objc::MethodDefinitionRepeat1 => "method_definition_repeat1",
1184 Objc::MethodDefinitionRepeat2 => "method_definition_repeat2",
1185 Objc::MethodTypeRepeat1 => "method_type_repeat1",
1186 Objc::KeywordSelectorRepeat1 => "keyword_selector_repeat1",
1187 Objc::PropertyAttributesDeclarationRepeat1 => "property_attributes_declaration_repeat1",
1188 Objc::MethodDeclarationRepeat1 => "method_declaration_repeat1",
1189 Objc::MethodDeclarationRepeat2 => "method_declaration_repeat2",
1190 Objc::CMethodParameterRepeat1 => "c_method_parameter_repeat1",
1191 Objc::StructDeclarationRepeat1 => "struct_declaration_repeat1",
1192 Objc::StructDeclarationRepeat2 => "struct_declaration_repeat2",
1193 Objc::TryStatementRepeat1 => "try_statement_repeat1",
1194 Objc::SelectorExpressionRepeat1 => "selector_expression_repeat1",
1195 Objc::SelectorExpressionRepeat2 => "selector_expression_repeat2",
1196 Objc::AvailableExpressionRepeat1 => "available_expression_repeat1",
1197 Objc::MessageExpressionRepeat1 => "message_expression_repeat1",
1198 Objc::MessageExpressionRepeat2 => "message_expression_repeat2",
1199 Objc::GenericSpecifierRepeat1 => "generic_specifier_repeat1",
1200 Objc::TypeNameRepeat1 => "type_name_repeat1",
1201 Objc::DictionaryLiteralRepeat1 => "dictionary_literal_repeat1",
1202 Objc::MethodIdentifierRepeat1 => "method_identifier_repeat1",
1203 Objc::MethodIdentifierRepeat2 => "method_identifier_repeat2",
1204 Objc::FieldIdentifier => "field_identifier",
1205 Objc::StatementIdentifier => "statement_identifier",
1206 Objc::TypeIdentifier => "type_identifier",
1207 Objc::Error => "ERROR",
1208 }
1209 }
1210}
1211
1212impl From<u16> for Objc {
1213 #[inline]
1214 fn from(x: u16) -> Self {
1215 num_traits::FromPrimitive::from_u16(x).unwrap_or(Self::Error)
1216 }
1217}
1218
1219impl PartialEq<u16> for Objc {
1221 #[inline]
1222 fn eq(&self, x: &u16) -> bool {
1223 *self == Into::<Self>::into(*x)
1224 }
1225}
1226
1227impl PartialEq<Objc> for u16 {
1229 #[inline]
1230 fn eq(&self, x: &Objc) -> bool {
1231 *x == *self
1232 }
1233}