oxc_ast_macros 0.135.0

A collection of JavaScript tools written in Rust.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
// Auto-generated code, DO NOT EDIT DIRECTLY!
// To edit this generated file you have to edit `tasks/ast_tools/src/generators/assert_layouts.rs`.

use crate::ast::StructDetails;

/// Details of how `#[ast]` macro should modify structs.
#[expect(clippy::unreadable_literal)]
pub static STRUCTS: phf::Map<&'static str, StructDetails> = ::phf::Map {
    key: 16287231350648472473,
    disps: &[
        (0, 0),
        (0, 224),
        (0, 87),
        (0, 1),
        (0, 1),
        (6, 101),
        (2, 24),
        (2, 21),
        (16, 232),
        (0, 69),
        (6, 106),
        (0, 5),
        (0, 1),
        (0, 145),
        (0, 14),
        (0, 2),
        (0, 40),
        (1, 20),
        (0, 153),
        (0, 170),
        (2, 8),
        (0, 0),
        (1, 32),
        (1, 173),
        (0, 10),
        (1, 34),
        (0, 46),
        (0, 7),
        (1, 122),
        (3, 14),
        (1, 158),
        (0, 9),
        (5, 42),
        (0, 1),
        (1, 156),
        (8, 184),
        (0, 0),
        (78, 5),
        (0, 0),
        (2, 132),
        (0, 18),
        (0, 26),
        (9, 108),
        (0, 75),
        (1, 150),
        (60, 152),
        (0, 3),
    ],
    entries: &[
        ("IndexedReference", StructDetails { field_order: None, is_node: false }),
        (
            "TSCallSignatureDeclaration",
            StructDetails { field_order: Some(&[1, 0, 3, 4, 5, 6, 2]), is_node: true },
        ),
        ("JSXExpressionContainer", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("IdentifierReference", StructDetails { field_order: Some(&[1, 0, 3, 2]), is_node: true }),
        ("SourceType", StructDetails { field_order: None, is_node: false }),
        ("BindingRestElement", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("TSInterfaceBody", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        (
            "ExportAllDeclaration",
            StructDetails { field_order: Some(&[1, 0, 3, 4, 5, 2]), is_node: true },
        ),
        ("SwitchStatement", StructDetails { field_order: Some(&[1, 0, 3, 4, 2]), is_node: true }),
        (
            "TSTypeAliasDeclaration",
            StructDetails { field_order: Some(&[1, 0, 3, 4, 5, 6, 2]), is_node: true },
        ),
        ("TSBigIntKeyword", StructDetails { field_order: Some(&[1, 0]), is_node: true }),
        ("StaticBlock", StructDetails { field_order: Some(&[1, 0, 3, 2]), is_node: true }),
        (
            "PropertyDefinition",
            StructDetails {
                field_order: Some(&[1, 0, 2, 6, 7, 8, 9, 3, 4, 5, 10, 11, 12, 13, 14]),
                is_node: true,
            },
        ),
        (
            "ExportNamedDeclaration",
            StructDetails { field_order: Some(&[1, 0, 3, 4, 5, 2, 6]), is_node: true },
        ),
        (
            "VariableDeclarator",
            StructDetails { field_order: Some(&[1, 0, 2, 4, 5, 6, 3]), is_node: true },
        ),
        ("TemplateElementValue", StructDetails { field_order: None, is_node: false }),
        (
            "TSEnumDeclaration",
            StructDetails { field_order: Some(&[1, 0, 4, 5, 2, 3]), is_node: true },
        ),
        (
            "ExportDefaultDeclaration",
            StructDetails { field_order: Some(&[1, 0, 2]), is_node: true },
        ),
        ("ClassString", StructDetails { field_order: Some(&[0, 2, 1]), is_node: false }),
        ("Span", StructDetails { field_order: Some(&[1, 2, 0]), is_node: false }),
        ("TSIntersectionType", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("AssignmentPattern", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        ("StaticExport", StructDetails { field_order: None, is_node: false }),
        ("ExpressionStatement", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("CharacterClass", StructDetails { field_order: Some(&[0, 2, 3, 4, 1]), is_node: false }),
        (
            "TSNamedTupleMember",
            StructDetails { field_order: Some(&[1, 0, 3, 4, 2]), is_node: true },
        ),
        (
            "TSNamespaceExportDeclaration",
            StructDetails { field_order: Some(&[1, 0, 2]), is_node: true },
        ),
        ("JSXAttribute", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        (
            "CallExpression",
            StructDetails { field_order: Some(&[1, 0, 4, 5, 6, 2, 3]), is_node: true },
        ),
        ("TSTypeAnnotation", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("TSParenthesizedType", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("CommentNewlines", StructDetails { field_order: None, is_node: false }),
        ("Elision", StructDetails { field_order: Some(&[1, 0]), is_node: true }),
        ("Quantifier", StructDetails { field_order: Some(&[0, 1, 2, 4, 3]), is_node: false }),
        ("AssignmentTargetRest", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("PrivateInExpression", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        ("NonMaxU32", StructDetails { field_order: None, is_node: false }),
        ("ImportSpecifier", StructDetails { field_order: Some(&[1, 0, 3, 4, 2]), is_node: true }),
        ("ArrayPattern", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        ("Character", StructDetails { field_order: Some(&[0, 2, 1]), is_node: false }),
        (
            "FormalParameter",
            StructDetails { field_order: Some(&[1, 0, 6, 7, 8, 9, 2, 3, 4, 5]), is_node: true },
        ),
        ("TSIndexSignatureName", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        (
            "ConditionalExpression",
            StructDetails { field_order: Some(&[1, 0, 2, 3, 4]), is_node: true },
        ),
        ("JSXOpeningFragment", StructDetails { field_order: Some(&[1, 0]), is_node: true }),
        (
            "FormalParameterRest",
            StructDetails { field_order: Some(&[1, 0, 2, 3, 4]), is_node: true },
        ),
        ("SequenceExpression", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("Disjunction", StructDetails { field_order: None, is_node: false }),
        ("TSUndefinedKeyword", StructDetails { field_order: Some(&[1, 0]), is_node: true }),
        ("JSXNamespacedName", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        ("TSNonNullExpression", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        (
            "ObjectAssignmentTarget",
            StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true },
        ),
        ("JSDocUnknownType", StructDetails { field_order: Some(&[1, 0]), is_node: true }),
        ("Modifiers", StructDetails { field_order: None, is_node: false }),
        ("TSSymbolKeyword", StructDetails { field_order: Some(&[1, 0]), is_node: true }),
        ("ErrorLabel", StructDetails { field_order: Some(&[1, 0]), is_node: false }),
        ("ImportExpression", StructDetails { field_order: Some(&[1, 0, 3, 4, 2]), is_node: true }),
        ("CatchClause", StructDetails { field_order: Some(&[1, 0, 3, 4, 2]), is_node: true }),
        ("TSImportType", StructDetails { field_order: Some(&[1, 0, 2, 3, 4, 5]), is_node: true }),
        ("TSTypeOperator", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        ("NamedReference", StructDetails { field_order: None, is_node: false }),
        ("JSXElement", StructDetails { field_order: Some(&[1, 0, 2, 3, 4]), is_node: true }),
        ("JSXMemberExpression", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        ("NumericLiteral", StructDetails { field_order: Some(&[1, 0, 4, 3, 2]), is_node: true }),
        ("FunctionBody", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        ("TSStringKeyword", StructDetails { field_order: Some(&[1, 0]), is_node: true }),
        (
            "TSInterfaceDeclaration",
            StructDetails { field_order: Some(&[1, 0, 3, 4, 5, 6, 7, 2]), is_node: true },
        ),
        ("Error", StructDetails { field_order: Some(&[4, 0, 1, 2, 3]), is_node: false }),
        ("JSXSpreadChild", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("DynamicImport", StructDetails { field_order: None, is_node: false }),
        (
            "TSGlobalDeclaration",
            StructDetails { field_order: Some(&[1, 0, 3, 4, 5, 2]), is_node: true },
        ),
        ("LabelIdentifier", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("ClassStringDisjunction", StructDetails { field_order: Some(&[0, 2, 1]), is_node: false }),
        ("BindingIdentifier", StructDetails { field_order: Some(&[1, 0, 3, 2]), is_node: true }),
        ("Super", StructDetails { field_order: Some(&[1, 0]), is_node: true }),
        ("Decorator", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("ClassBody", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        (
            "AssignmentTargetWithDefault",
            StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true },
        ),
        ("FormalParameters", StructDetails { field_order: Some(&[1, 0, 2, 3, 4]), is_node: true }),
        ("ReturnStatement", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("BlockStatement", StructDetails { field_order: Some(&[1, 0, 3, 2]), is_node: true }),
        (
            "TSSatisfiesExpression",
            StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true },
        ),
        ("LogicalExpression", StructDetails { field_order: Some(&[1, 0, 3, 2, 4]), is_node: true }),
        ("TSTupleType", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("NodeId", StructDetails { field_order: None, is_node: false }),
        ("ForInStatement", StructDetails { field_order: Some(&[1, 0, 3, 4, 5, 2]), is_node: true }),
        ("TSLiteralType", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        (
            "PrivateFieldExpression",
            StructDetails { field_order: Some(&[1, 0, 3, 4, 2]), is_node: true },
        ),
        ("TSObjectKeyword", StructDetails { field_order: Some(&[1, 0]), is_node: true }),
        ("RegExpFlags", StructDetails { field_order: None, is_node: false }),
        (
            "TSExternalModuleReference",
            StructDetails { field_order: Some(&[1, 0, 2]), is_node: true },
        ),
        (
            "TSMappedType",
            StructDetails { field_order: Some(&[1, 0, 3, 4, 5, 6, 7, 8, 2]), is_node: true },
        ),
        ("TSTypeReference", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        ("SymbolId", StructDetails { field_order: None, is_node: false }),
        ("FixedSizeAllocatorMetadata", StructDetails { field_order: None, is_node: false }),
        ("RawTransferData", StructDetails { field_order: None, is_node: false }),
        ("CharacterClassRange", StructDetails { field_order: None, is_node: false }),
        ("Hashbang", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("CharacterClassEscape", StructDetails { field_order: None, is_node: false }),
        (
            "BindingProperty",
            StructDetails { field_order: Some(&[1, 0, 4, 5, 2, 3]), is_node: true },
        ),
        (
            "ComputedMemberExpression",
            StructDetails { field_order: Some(&[1, 0, 3, 4, 2]), is_node: true },
        ),
        ("TSEnumMember", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        (
            "UnicodePropertyEscape",
            StructDetails { field_order: Some(&[0, 3, 4, 1, 2]), is_node: false },
        ),
        (
            "TaggedTemplateExpression",
            StructDetails { field_order: Some(&[1, 0, 2, 3, 4]), is_node: true },
        ),
        ("LookAroundAssertion", StructDetails { field_order: Some(&[0, 2, 1]), is_node: false }),
        ("TSAnyKeyword", StructDetails { field_order: Some(&[1, 0]), is_node: true }),
        ("TSThisParameter", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        (
            "TSTypeParameterDeclaration",
            StructDetails { field_order: Some(&[1, 0, 2]), is_node: true },
        ),
        ("CapturingGroup", StructDetails { field_order: None, is_node: false }),
        ("ThisExpression", StructDetails { field_order: Some(&[1, 0]), is_node: true }),
        ("JSXClosingElement", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("BreakStatement", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("IdentifierName", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("TryStatement", StructDetails { field_order: Some(&[1, 0, 2, 3, 4]), is_node: true }),
        ("ParenthesizedExpression", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("BinaryExpression", StructDetails { field_order: Some(&[1, 0, 3, 2, 4]), is_node: true }),
        ("NewExpression", StructDetails { field_order: Some(&[1, 0, 3, 4, 5, 2]), is_node: true }),
        ("TSVoidKeyword", StructDetails { field_order: Some(&[1, 0]), is_node: true }),
        ("JSXClosingFragment", StructDetails { field_order: Some(&[1, 0]), is_node: true }),
        ("Directive", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        (
            "Program",
            StructDetails { field_order: Some(&[1, 0, 8, 3, 4, 5, 6, 7, 2]), is_node: true },
        ),
        (
            "TSPropertySignature",
            StructDetails { field_order: Some(&[1, 0, 2, 3, 4, 5, 6]), is_node: true },
        ),
        (
            "TSConditionalType",
            StructDetails { field_order: Some(&[1, 0, 3, 4, 5, 6, 2]), is_node: true },
        ),
        ("TSNeverKeyword", StructDetails { field_order: Some(&[1, 0]), is_node: true }),
        ("SpreadElement", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("Alternative", StructDetails { field_order: None, is_node: false }),
        ("TSThisType", StructDetails { field_order: Some(&[1, 0]), is_node: true }),
        ("WhileStatement", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        ("ImportAttribute", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        ("RegExpLiteral", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        (
            "MethodDefinition",
            StructDetails {
                field_order: Some(&[1, 0, 2, 6, 7, 8, 3, 4, 5, 9, 10, 11]),
                is_node: true,
            },
        ),
        ("JSXEmptyExpression", StructDetails { field_order: Some(&[1, 0]), is_node: true }),
        (
            "TSInstantiationExpression",
            StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true },
        ),
        ("JSDocNullableType", StructDetails { field_order: Some(&[1, 0, 3, 2]), is_node: true }),
        ("TSQualifiedName", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        (
            "AssignmentTargetPropertyIdentifier",
            StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true },
        ),
        ("AwaitExpression", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        (
            "ExportEntry",
            StructDetails { field_order: Some(&[1, 0, 2, 3, 4, 5, 6]), is_node: false },
        ),
        ("MetaProperty", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        ("TSUnionType", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("ArrayExpression", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        (
            "ObjectProperty",
            StructDetails { field_order: Some(&[1, 0, 2, 6, 7, 3, 4, 5]), is_node: true },
        ),
        (
            "ForStatement",
            StructDetails { field_order: Some(&[1, 0, 3, 4, 5, 6, 2]), is_node: true },
        ),
        ("DoWhileStatement", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        ("TSTypeQuery", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        ("ThrowStatement", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("PrivateIdentifier", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        (
            "Function",
            StructDetails {
                field_order: Some(&[1, 0, 9, 3, 10, 11, 12, 4, 5, 6, 7, 8, 2, 13, 14]),
                is_node: true,
            },
        ),
        (
            "TSImportTypeQualifiedName",
            StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true },
        ),
        ("TSExportAssignment", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("TSOptionalType", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        (
            "TSTemplateLiteralType",
            StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true },
        ),
        (
            "TSMethodSignature",
            StructDetails { field_order: Some(&[1, 0, 3, 8, 9, 10, 4, 5, 6, 7, 2]), is_node: true },
        ),
        (
            "TSTypeParameter",
            StructDetails { field_order: Some(&[1, 0, 5, 6, 7, 2, 3, 4]), is_node: true },
        ),
        (
            "ArrowFunctionExpression",
            StructDetails { field_order: Some(&[1, 0, 7, 8, 3, 4, 5, 6, 2, 9, 10]), is_node: true },
        ),
        ("WithClause", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        (
            "Class",
            StructDetails {
                field_order: Some(&[1, 0, 10, 3, 4, 5, 6, 7, 8, 9, 11, 12, 2]),
                is_node: true,
            },
        ),
        ("TSTypeAssertion", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        ("JSDocNonNullableType", StructDetails { field_order: Some(&[1, 0, 3, 2]), is_node: true }),
        (
            "RawTransferMetadata2",
            StructDetails { field_order: Some(&[0, 3, 4, 5, 1, 2]), is_node: false },
        ),
        ("RegExp", StructDetails { field_order: None, is_node: false }),
        (
            "TSConstructSignatureDeclaration",
            StructDetails { field_order: Some(&[1, 0, 3, 4, 5, 2]), is_node: true },
        ),
        (
            "ArrayAssignmentTarget",
            StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true },
        ),
        ("ExportSpecifier", StructDetails { field_order: Some(&[1, 0, 3, 4, 2]), is_node: true }),
        ("RegExpPattern", StructDetails { field_order: None, is_node: false }),
        ("TSRestType", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        (
            "TSModuleDeclaration",
            StructDetails { field_order: Some(&[1, 0, 3, 4, 5, 6, 2]), is_node: true },
        ),
        ("ChainExpression", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("BoundaryAssertion", StructDetails { field_order: None, is_node: false }),
        ("NullLiteral", StructDetails { field_order: Some(&[1, 0]), is_node: true }),
        ("SwitchCase", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        ("WithStatement", StructDetails { field_order: Some(&[1, 0, 3, 4, 2]), is_node: true }),
        ("TSModuleBlock", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        (
            "StaticMemberExpression",
            StructDetails { field_order: Some(&[1, 0, 3, 4, 2]), is_node: true },
        ),
        ("BooleanLiteral", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("ContinueStatement", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("TSInterfaceHeritage", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        ("BigIntLiteral", StructDetails { field_order: Some(&[1, 0, 3, 4, 2]), is_node: true }),
        ("TSIntrinsicKeyword", StructDetails { field_order: Some(&[1, 0]), is_node: true }),
        ("CatchParameter", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        ("JSXOpeningElement", StructDetails { field_order: Some(&[1, 0, 2, 3, 4]), is_node: true }),
        ("TSInferType", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("NameSpan", StructDetails { field_order: Some(&[1, 0]), is_node: false }),
        ("TSBooleanKeyword", StructDetails { field_order: Some(&[1, 0]), is_node: true }),
        ("DebuggerStatement", StructDetails { field_order: Some(&[1, 0]), is_node: true }),
        (
            "ImportDeclaration",
            StructDetails { field_order: Some(&[1, 0, 4, 5, 2, 6, 3]), is_node: true },
        ),
        ("IgnoreGroup", StructDetails { field_order: None, is_node: false }),
        ("TSIndexedAccessType", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        (
            "AccessorProperty",
            StructDetails {
                field_order: Some(&[1, 0, 2, 6, 7, 8, 9, 3, 4, 5, 10, 11]),
                is_node: true,
            },
        ),
        ("TSAsExpression", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        ("TSTypeLiteral", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("IfStatement", StructDetails { field_order: Some(&[1, 0, 2, 3, 4]), is_node: true }),
        ("TSArrayType", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("EcmaScriptModule", StructDetails { field_order: Some(&[4, 0, 1, 2, 3]), is_node: false }),
        ("TSTypePredicate", StructDetails { field_order: Some(&[1, 0, 3, 2, 4]), is_node: true }),
        ("JSXIdentifier", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("TSNumberKeyword", StructDetails { field_order: Some(&[1, 0]), is_node: true }),
        (
            "VariableDeclaration",
            StructDetails { field_order: Some(&[1, 0, 2, 4, 3]), is_node: true },
        ),
        ("TSUnknownKeyword", StructDetails { field_order: Some(&[1, 0]), is_node: true }),
        (
            "TSFunctionType",
            StructDetails { field_order: Some(&[1, 0, 3, 4, 5, 6, 2]), is_node: true },
        ),
        (
            "V8IntrinsicExpression",
            StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true },
        ),
        (
            "TSIndexSignature",
            StructDetails { field_order: Some(&[1, 0, 4, 5, 2, 3]), is_node: true },
        ),
        ("LabeledStatement", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        ("TemplateLiteral", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        ("YieldExpression", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        ("EmptyStatement", StructDetails { field_order: Some(&[1, 0]), is_node: true }),
        ("Modifier", StructDetails { field_order: None, is_node: false }),
        (
            "TSTypeParameterInstantiation",
            StructDetails { field_order: Some(&[1, 0, 2]), is_node: true },
        ),
        (
            "RawTransferMetadata",
            StructDetails { field_order: Some(&[0, 3, 4, 5, 1, 2]), is_node: false },
        ),
        ("StringLiteral", StructDetails { field_order: Some(&[1, 0, 3, 4, 2]), is_node: true }),
        ("UpdateExpression", StructDetails { field_order: Some(&[1, 0, 2, 3, 4]), is_node: true }),
        ("JSXFragment", StructDetails { field_order: Some(&[1, 0, 2, 3, 4]), is_node: true }),
        ("ImportDefaultSpecifier", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("ObjectPattern", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        ("ScopeId", StructDetails { field_order: None, is_node: false }),
        ("I32Dummy", StructDetails { field_order: None, is_node: false }),
        ("TSEnumBody", StructDetails { field_order: Some(&[1, 0, 3, 2]), is_node: true }),
        ("JSXSpreadAttribute", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("JSXText", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        (
            "ForOfStatement",
            StructDetails { field_order: Some(&[1, 0, 6, 3, 4, 5, 2]), is_node: true },
        ),
        ("ReferenceId", StructDetails { field_order: None, is_node: false }),
        ("Dot", StructDetails { field_order: None, is_node: false }),
        ("TemplateElement", StructDetails { field_order: Some(&[1, 0, 4, 2, 3]), is_node: true }),
        ("ObjectExpression", StructDetails { field_order: Some(&[1, 0, 2]), is_node: true }),
        ("TSNullKeyword", StructDetails { field_order: Some(&[1, 0]), is_node: true }),
        ("UnaryExpression", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        (
            "AssignmentTargetPropertyProperty",
            StructDetails { field_order: Some(&[1, 0, 3, 4, 2]), is_node: true },
        ),
        (
            "ImportNamespaceSpecifier",
            StructDetails { field_order: Some(&[1, 0, 2]), is_node: true },
        ),
        ("Comment", StructDetails { field_order: None, is_node: false }),
        (
            "TSImportEqualsDeclaration",
            StructDetails { field_order: Some(&[1, 0, 3, 4, 2]), is_node: true },
        ),
        (
            "AssignmentExpression",
            StructDetails { field_order: Some(&[1, 0, 2, 3, 4]), is_node: true },
        ),
        ("ImportEntry", StructDetails { field_order: None, is_node: false }),
        ("TSClassImplements", StructDetails { field_order: Some(&[1, 0, 2, 3]), is_node: true }),
        ("StaticImport", StructDetails { field_order: None, is_node: false }),
        ("Pattern", StructDetails { field_order: None, is_node: false }),
        (
            "TSConstructorType",
            StructDetails { field_order: Some(&[1, 0, 6, 3, 4, 5, 2]), is_node: true },
        ),
    ],
};