hermes-transform 0.10.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/detachedNode.js +16 -0
- package/dist/detachedNode.js.flow +17 -3
- package/dist/generated/TransformCloneSignatures.js.flow +469 -318
- package/dist/generated/TransformModifySignatures.js.flow +256 -158
- package/dist/generated/TransformReplaceSignatures.js.flow +99 -1
- package/dist/generated/node-types.js +420 -482
- package/dist/generated/node-types.js.flow +555 -491
- package/dist/generated/special-case-node-types/misc.js +15 -0
- package/dist/generated/special-case-node-types/misc.js.flow +23 -0
- package/dist/index.js +2 -1
- package/dist/index.js.flow +4 -1
- package/dist/transform/comments/comments.js +22 -15
- package/dist/transform/comments/comments.js.flow +24 -13
- package/dist/transform/transformAST.js +1 -1
- package/dist/transform/transformAST.js.flow +1 -1
- package/dist/traverse/NodeEventGenerator.js +3 -3
- package/dist/traverse/NodeEventGenerator.js.flow +3 -3
- package/package.json +4 -4
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
// lint directives to let us do some basic validation of generated files
|
|
19
19
|
/* eslint no-undef: 'error', no-unused-vars: ['error', {vars: "local"}], no-redeclare: 'error' */
|
|
20
|
-
/* global $NonMaybeType,
|
|
20
|
+
/* global $NonMaybeType, Partial, $ReadOnly, $ReadOnlyArray */
|
|
21
21
|
|
|
22
22
|
'use strict';
|
|
23
23
|
|
|
@@ -43,11 +43,18 @@ import type {
|
|
|
43
43
|
ClassBody as ClassBodyType,
|
|
44
44
|
ClassExpression as ClassExpressionType,
|
|
45
45
|
ClassImplements as ClassImplementsType,
|
|
46
|
+
ComponentDeclaration as ComponentDeclarationType,
|
|
47
|
+
ComponentParameter as ComponentParameterType,
|
|
48
|
+
ComponentTypeAnnotation as ComponentTypeAnnotationType,
|
|
49
|
+
ComponentTypeParameter as ComponentTypeParameterType,
|
|
46
50
|
ConditionalExpression as ConditionalExpressionType,
|
|
51
|
+
ConditionalTypeAnnotation as ConditionalTypeAnnotationType,
|
|
47
52
|
ContinueStatement as ContinueStatementType,
|
|
48
53
|
DebuggerStatement as DebuggerStatementType,
|
|
49
54
|
DeclareClass as DeclareClassType,
|
|
55
|
+
DeclareComponent as DeclareComponentType,
|
|
50
56
|
DeclaredPredicate as DeclaredPredicateType,
|
|
57
|
+
DeclareEnum as DeclareEnumType,
|
|
51
58
|
DeclareExportAllDeclaration as DeclareExportAllDeclarationType,
|
|
52
59
|
DeclareInterface as DeclareInterfaceType,
|
|
53
60
|
DeclareModule as DeclareModuleType,
|
|
@@ -89,6 +96,7 @@ import type {
|
|
|
89
96
|
ImportSpecifier as ImportSpecifierType,
|
|
90
97
|
IndexedAccessType as IndexedAccessTypeType,
|
|
91
98
|
InferredPredicate as InferredPredicateType,
|
|
99
|
+
InferTypeAnnotation as InferTypeAnnotationType,
|
|
92
100
|
InterfaceDeclaration as InterfaceDeclarationType,
|
|
93
101
|
InterfaceExtends as InterfaceExtendsType,
|
|
94
102
|
InterfaceTypeAnnotation as InterfaceTypeAnnotationType,
|
|
@@ -108,9 +116,9 @@ import type {
|
|
|
108
116
|
JSXSpreadAttribute as JSXSpreadAttributeType,
|
|
109
117
|
JSXSpreadChild as JSXSpreadChildType,
|
|
110
118
|
JSXText as JSXTextType,
|
|
119
|
+
KeyofTypeAnnotation as KeyofTypeAnnotationType,
|
|
111
120
|
LabeledStatement as LabeledStatementType,
|
|
112
121
|
LogicalExpression as LogicalExpressionType,
|
|
113
|
-
MemberExpression as MemberExpressionType,
|
|
114
122
|
MetaProperty as MetaPropertyType,
|
|
115
123
|
MethodDefinition as MethodDefinitionType,
|
|
116
124
|
MixedTypeAnnotation as MixedTypeAnnotationType,
|
|
@@ -125,6 +133,7 @@ import type {
|
|
|
125
133
|
ObjectTypeCallProperty as ObjectTypeCallPropertyType,
|
|
126
134
|
ObjectTypeIndexer as ObjectTypeIndexerType,
|
|
127
135
|
ObjectTypeInternalSlot as ObjectTypeInternalSlotType,
|
|
136
|
+
ObjectTypeMappedTypeProperty as ObjectTypeMappedTypePropertyType,
|
|
128
137
|
ObjectTypeSpreadProperty as ObjectTypeSpreadPropertyType,
|
|
129
138
|
OpaqueType as OpaqueTypeType,
|
|
130
139
|
OptionalIndexedAccessType as OptionalIndexedAccessTypeType,
|
|
@@ -132,6 +141,7 @@ import type {
|
|
|
132
141
|
Property as PropertyType,
|
|
133
142
|
PropertyDefinition as PropertyDefinitionType,
|
|
134
143
|
QualifiedTypeIdentifier as QualifiedTypeIdentifierType,
|
|
144
|
+
QualifiedTypeofIdentifier as QualifiedTypeofIdentifierType,
|
|
135
145
|
RestElement as RestElementType,
|
|
136
146
|
ReturnStatement as ReturnStatementType,
|
|
137
147
|
SequenceExpression as SequenceExpressionType,
|
|
@@ -149,6 +159,8 @@ import type {
|
|
|
149
159
|
ThrowStatement as ThrowStatementType,
|
|
150
160
|
TryStatement as TryStatementType,
|
|
151
161
|
TupleTypeAnnotation as TupleTypeAnnotationType,
|
|
162
|
+
TupleTypeLabeledElement as TupleTypeLabeledElementType,
|
|
163
|
+
TupleTypeSpreadElement as TupleTypeSpreadElementType,
|
|
152
164
|
TypeAlias as TypeAliasType,
|
|
153
165
|
TypeAnnotation as TypeAnnotationType,
|
|
154
166
|
TypeCastExpression as TypeCastExpressionType,
|
|
@@ -156,6 +168,7 @@ import type {
|
|
|
156
168
|
TypeParameter as TypeParameterType,
|
|
157
169
|
TypeParameterDeclaration as TypeParameterDeclarationType,
|
|
158
170
|
TypeParameterInstantiation as TypeParameterInstantiationType,
|
|
171
|
+
TypePredicate as TypePredicateType,
|
|
159
172
|
UnaryExpression as UnaryExpressionType,
|
|
160
173
|
UnionTypeAnnotation as UnionTypeAnnotationType,
|
|
161
174
|
UpdateExpression as UpdateExpressionType,
|
|
@@ -170,7 +183,7 @@ import type {
|
|
|
170
183
|
import type {DetachedNode, MaybeDetachedNode} from '../detachedNode';
|
|
171
184
|
|
|
172
185
|
import {
|
|
173
|
-
|
|
186
|
+
asDetachedNodeForCodeGen,
|
|
174
187
|
detachedProps,
|
|
175
188
|
setParentPointersInDirectChildren,
|
|
176
189
|
} from '../detachedNode';
|
|
@@ -279,12 +292,56 @@ export type ClassImplementsProps = {
|
|
|
279
292
|
+typeParameters?: ?MaybeDetachedNode<ClassImplementsType['typeParameters']>,
|
|
280
293
|
};
|
|
281
294
|
|
|
295
|
+
export type ComponentDeclarationProps = {
|
|
296
|
+
+id: MaybeDetachedNode<ComponentDeclarationType['id']>,
|
|
297
|
+
+params: $ReadOnlyArray<
|
|
298
|
+
MaybeDetachedNode<ComponentDeclarationType['params'][number]>,
|
|
299
|
+
>,
|
|
300
|
+
+body: MaybeDetachedNode<ComponentDeclarationType['body']>,
|
|
301
|
+
+typeParameters?: ?MaybeDetachedNode<
|
|
302
|
+
ComponentDeclarationType['typeParameters'],
|
|
303
|
+
>,
|
|
304
|
+
+returnType?: ?MaybeDetachedNode<ComponentDeclarationType['returnType']>,
|
|
305
|
+
};
|
|
306
|
+
|
|
307
|
+
export type ComponentParameterProps = {
|
|
308
|
+
+name: MaybeDetachedNode<ComponentParameterType['name']>,
|
|
309
|
+
+local: MaybeDetachedNode<ComponentParameterType['local']>,
|
|
310
|
+
+shorthand: ComponentParameterType['shorthand'],
|
|
311
|
+
};
|
|
312
|
+
|
|
313
|
+
export type ComponentTypeAnnotationProps = {
|
|
314
|
+
+params: $ReadOnlyArray<
|
|
315
|
+
MaybeDetachedNode<ComponentTypeAnnotationType['params'][number]>,
|
|
316
|
+
>,
|
|
317
|
+
+rest?: ?MaybeDetachedNode<ComponentTypeAnnotationType['rest']>,
|
|
318
|
+
+typeParameters?: ?MaybeDetachedNode<
|
|
319
|
+
ComponentTypeAnnotationType['typeParameters'],
|
|
320
|
+
>,
|
|
321
|
+
+returnType?: ?MaybeDetachedNode<ComponentTypeAnnotationType['returnType']>,
|
|
322
|
+
};
|
|
323
|
+
|
|
324
|
+
export type ComponentTypeParameterProps = {
|
|
325
|
+
+name?: ?MaybeDetachedNode<ComponentTypeParameterType['name']>,
|
|
326
|
+
+typeAnnotation?: ?MaybeDetachedNode<
|
|
327
|
+
ComponentTypeParameterType['typeAnnotation'],
|
|
328
|
+
>,
|
|
329
|
+
+optional: ComponentTypeParameterType['optional'],
|
|
330
|
+
};
|
|
331
|
+
|
|
282
332
|
export type ConditionalExpressionProps = {
|
|
283
333
|
+test: MaybeDetachedNode<ConditionalExpressionType['test']>,
|
|
284
334
|
+alternate: MaybeDetachedNode<ConditionalExpressionType['alternate']>,
|
|
285
335
|
+consequent: MaybeDetachedNode<ConditionalExpressionType['consequent']>,
|
|
286
336
|
};
|
|
287
337
|
|
|
338
|
+
export type ConditionalTypeAnnotationProps = {
|
|
339
|
+
+checkType: MaybeDetachedNode<ConditionalTypeAnnotationType['checkType']>,
|
|
340
|
+
+extendsType: MaybeDetachedNode<ConditionalTypeAnnotationType['extendsType']>,
|
|
341
|
+
+trueType: MaybeDetachedNode<ConditionalTypeAnnotationType['trueType']>,
|
|
342
|
+
+falseType: MaybeDetachedNode<ConditionalTypeAnnotationType['falseType']>,
|
|
343
|
+
};
|
|
344
|
+
|
|
288
345
|
export type ContinueStatementProps = {
|
|
289
346
|
+label?: ?MaybeDetachedNode<ContinueStatementType['label']>,
|
|
290
347
|
};
|
|
@@ -306,10 +363,25 @@ export type DeclareClassProps = {
|
|
|
306
363
|
+body: MaybeDetachedNode<DeclareClassType['body']>,
|
|
307
364
|
};
|
|
308
365
|
|
|
366
|
+
export type DeclareComponentProps = {
|
|
367
|
+
+id: MaybeDetachedNode<DeclareComponentType['id']>,
|
|
368
|
+
+params: $ReadOnlyArray<
|
|
369
|
+
MaybeDetachedNode<DeclareComponentType['params'][number]>,
|
|
370
|
+
>,
|
|
371
|
+
+rest?: ?MaybeDetachedNode<DeclareComponentType['rest']>,
|
|
372
|
+
+typeParameters?: ?MaybeDetachedNode<DeclareComponentType['typeParameters']>,
|
|
373
|
+
+returnType?: ?MaybeDetachedNode<DeclareComponentType['returnType']>,
|
|
374
|
+
};
|
|
375
|
+
|
|
309
376
|
export type DeclaredPredicateProps = {
|
|
310
377
|
+value: MaybeDetachedNode<DeclaredPredicateType['value']>,
|
|
311
378
|
};
|
|
312
379
|
|
|
380
|
+
export type DeclareEnumProps = {
|
|
381
|
+
+id: MaybeDetachedNode<DeclareEnumType['id']>,
|
|
382
|
+
+body: MaybeDetachedNode<DeclareEnumType['body']>,
|
|
383
|
+
};
|
|
384
|
+
|
|
313
385
|
export type DeclareExportAllDeclarationProps = {
|
|
314
386
|
+source: MaybeDetachedNode<DeclareExportAllDeclarationType['source']>,
|
|
315
387
|
};
|
|
@@ -350,6 +422,7 @@ export type DeclareTypeAliasProps = {
|
|
|
350
422
|
|
|
351
423
|
export type DeclareVariableProps = {
|
|
352
424
|
+id: MaybeDetachedNode<DeclareVariableType['id']>,
|
|
425
|
+
+kind: DeclareVariableType['kind'],
|
|
353
426
|
};
|
|
354
427
|
|
|
355
428
|
export type DoWhileStatementProps = {
|
|
@@ -561,6 +634,10 @@ export type IndexedAccessTypeProps = {
|
|
|
561
634
|
|
|
562
635
|
export type InferredPredicateProps = {};
|
|
563
636
|
|
|
637
|
+
export type InferTypeAnnotationProps = {
|
|
638
|
+
+typeParameter: MaybeDetachedNode<InferTypeAnnotationType['typeParameter']>,
|
|
639
|
+
};
|
|
640
|
+
|
|
564
641
|
export type InterfaceDeclarationProps = {
|
|
565
642
|
+id: MaybeDetachedNode<InterfaceDeclarationType['id']>,
|
|
566
643
|
+typeParameters?: ?MaybeDetachedNode<
|
|
@@ -643,6 +720,7 @@ export type JSXOpeningElementProps = {
|
|
|
643
720
|
MaybeDetachedNode<JSXOpeningElementType['attributes'][number]>,
|
|
644
721
|
>,
|
|
645
722
|
+selfClosing: JSXOpeningElementType['selfClosing'],
|
|
723
|
+
+typeArguments?: ?MaybeDetachedNode<JSXOpeningElementType['typeArguments']>,
|
|
646
724
|
};
|
|
647
725
|
|
|
648
726
|
export type JSXOpeningFragmentProps = {};
|
|
@@ -660,6 +738,10 @@ export type JSXTextProps = {
|
|
|
660
738
|
+raw: JSXTextType['raw'],
|
|
661
739
|
};
|
|
662
740
|
|
|
741
|
+
export type KeyofTypeAnnotationProps = {
|
|
742
|
+
+argument: MaybeDetachedNode<KeyofTypeAnnotationType['argument']>,
|
|
743
|
+
};
|
|
744
|
+
|
|
663
745
|
export type LabeledStatementProps = {
|
|
664
746
|
+label: MaybeDetachedNode<LabeledStatementType['label']>,
|
|
665
747
|
+body: MaybeDetachedNode<LabeledStatementType['body']>,
|
|
@@ -671,12 +753,6 @@ export type LogicalExpressionProps = {
|
|
|
671
753
|
+operator: LogicalExpressionType['operator'],
|
|
672
754
|
};
|
|
673
755
|
|
|
674
|
-
export type MemberExpressionProps = {
|
|
675
|
-
+object: MaybeDetachedNode<MemberExpressionType['object']>,
|
|
676
|
-
+property: MaybeDetachedNode<MemberExpressionType['property']>,
|
|
677
|
-
+computed: MemberExpressionType['computed'],
|
|
678
|
-
};
|
|
679
|
-
|
|
680
756
|
export type MetaPropertyProps = {
|
|
681
757
|
+meta: MaybeDetachedNode<MetaPropertyType['meta']>,
|
|
682
758
|
+property: MaybeDetachedNode<MetaPropertyType['property']>,
|
|
@@ -766,6 +842,16 @@ export type ObjectTypeInternalSlotProps = {
|
|
|
766
842
|
+method: ObjectTypeInternalSlotType['method'],
|
|
767
843
|
};
|
|
768
844
|
|
|
845
|
+
export type ObjectTypeMappedTypePropertyProps = {
|
|
846
|
+
+keyTparam: MaybeDetachedNode<ObjectTypeMappedTypePropertyType['keyTparam']>,
|
|
847
|
+
+propType: MaybeDetachedNode<ObjectTypeMappedTypePropertyType['propType']>,
|
|
848
|
+
+sourceType: MaybeDetachedNode<
|
|
849
|
+
ObjectTypeMappedTypePropertyType['sourceType'],
|
|
850
|
+
>,
|
|
851
|
+
+variance?: ?MaybeDetachedNode<ObjectTypeMappedTypePropertyType['variance']>,
|
|
852
|
+
+optional?: ?ObjectTypeMappedTypePropertyType['optional'],
|
|
853
|
+
};
|
|
854
|
+
|
|
769
855
|
export type ObjectTypeSpreadPropertyProps = {
|
|
770
856
|
+argument: MaybeDetachedNode<ObjectTypeSpreadPropertyType['argument']>,
|
|
771
857
|
};
|
|
@@ -817,6 +903,13 @@ export type QualifiedTypeIdentifierProps = {
|
|
|
817
903
|
+id: MaybeDetachedNode<QualifiedTypeIdentifierType['id']>,
|
|
818
904
|
};
|
|
819
905
|
|
|
906
|
+
export type QualifiedTypeofIdentifierProps = {
|
|
907
|
+
+qualification: MaybeDetachedNode<
|
|
908
|
+
QualifiedTypeofIdentifierType['qualification'],
|
|
909
|
+
>,
|
|
910
|
+
+id: MaybeDetachedNode<QualifiedTypeofIdentifierType['id']>,
|
|
911
|
+
};
|
|
912
|
+
|
|
820
913
|
export type RestElementProps = {
|
|
821
914
|
+argument: MaybeDetachedNode<RestElementType['argument']>,
|
|
822
915
|
};
|
|
@@ -894,6 +987,20 @@ export type TupleTypeAnnotationProps = {
|
|
|
894
987
|
>,
|
|
895
988
|
};
|
|
896
989
|
|
|
990
|
+
export type TupleTypeLabeledElementProps = {
|
|
991
|
+
+label: MaybeDetachedNode<TupleTypeLabeledElementType['label']>,
|
|
992
|
+
+elementType: MaybeDetachedNode<TupleTypeLabeledElementType['elementType']>,
|
|
993
|
+
+optional: TupleTypeLabeledElementType['optional'],
|
|
994
|
+
+variance?: ?MaybeDetachedNode<TupleTypeLabeledElementType['variance']>,
|
|
995
|
+
};
|
|
996
|
+
|
|
997
|
+
export type TupleTypeSpreadElementProps = {
|
|
998
|
+
+label?: ?MaybeDetachedNode<TupleTypeSpreadElementType['label']>,
|
|
999
|
+
+typeAnnotation: MaybeDetachedNode<
|
|
1000
|
+
TupleTypeSpreadElementType['typeAnnotation'],
|
|
1001
|
+
>,
|
|
1002
|
+
};
|
|
1003
|
+
|
|
897
1004
|
export type TypeAliasProps = {
|
|
898
1005
|
+id: MaybeDetachedNode<TypeAliasType['id']>,
|
|
899
1006
|
+typeParameters?: ?MaybeDetachedNode<TypeAliasType['typeParameters']>,
|
|
@@ -932,6 +1039,12 @@ export type TypeParameterInstantiationProps = {
|
|
|
932
1039
|
>,
|
|
933
1040
|
};
|
|
934
1041
|
|
|
1042
|
+
export type TypePredicateProps = {
|
|
1043
|
+
+parameterName: MaybeDetachedNode<TypePredicateType['parameterName']>,
|
|
1044
|
+
+typeAnnotation?: ?MaybeDetachedNode<TypePredicateType['typeAnnotation']>,
|
|
1045
|
+
+asserts: TypePredicateType['asserts'],
|
|
1046
|
+
};
|
|
1047
|
+
|
|
935
1048
|
export type UnaryExpressionProps = {
|
|
936
1049
|
+operator: UnaryExpressionType['operator'],
|
|
937
1050
|
+argument: MaybeDetachedNode<UnaryExpressionType['argument']>,
|
|
@@ -999,8 +1112,7 @@ export function ArrayExpression(props: {
|
|
|
999
1112
|
}): DetachedNode<ArrayExpressionType> {
|
|
1000
1113
|
const node = detachedProps<ArrayExpressionType>(props.parent, {
|
|
1001
1114
|
type: 'ArrayExpression',
|
|
1002
|
-
|
|
1003
|
-
elements: props.elements.map(n => asDetachedNode(n)),
|
|
1115
|
+
elements: props.elements.map(n => asDetachedNodeForCodeGen(n)),
|
|
1004
1116
|
trailingComma: props.trailingComma,
|
|
1005
1117
|
});
|
|
1006
1118
|
setParentPointersInDirectChildren(node);
|
|
@@ -1013,10 +1125,8 @@ export function ArrayPattern(props: {
|
|
|
1013
1125
|
}): DetachedNode<ArrayPatternType> {
|
|
1014
1126
|
const node = detachedProps<ArrayPatternType>(props.parent, {
|
|
1015
1127
|
type: 'ArrayPattern',
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
// $FlowFixMe[incompatible-call],
|
|
1019
|
-
typeAnnotation: asDetachedNode(props.typeAnnotation),
|
|
1128
|
+
elements: props.elements.map(n => asDetachedNodeForCodeGen(n)),
|
|
1129
|
+
typeAnnotation: asDetachedNodeForCodeGen(props.typeAnnotation),
|
|
1020
1130
|
});
|
|
1021
1131
|
setParentPointersInDirectChildren(node);
|
|
1022
1132
|
return node;
|
|
@@ -1028,8 +1138,7 @@ export function ArrayTypeAnnotation(props: {
|
|
|
1028
1138
|
}): DetachedNode<ArrayTypeAnnotationType> {
|
|
1029
1139
|
const node = detachedProps<ArrayTypeAnnotationType>(props.parent, {
|
|
1030
1140
|
type: 'ArrayTypeAnnotation',
|
|
1031
|
-
|
|
1032
|
-
elementType: asDetachedNode(props.elementType),
|
|
1141
|
+
elementType: asDetachedNodeForCodeGen(props.elementType),
|
|
1033
1142
|
});
|
|
1034
1143
|
setParentPointersInDirectChildren(node);
|
|
1035
1144
|
return node;
|
|
@@ -1042,10 +1151,8 @@ export function AssignmentExpression(props: {
|
|
|
1042
1151
|
const node = detachedProps<AssignmentExpressionType>(props.parent, {
|
|
1043
1152
|
type: 'AssignmentExpression',
|
|
1044
1153
|
operator: props.operator,
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
// $FlowFixMe[incompatible-call],
|
|
1048
|
-
right: asDetachedNode(props.right),
|
|
1154
|
+
left: asDetachedNodeForCodeGen(props.left),
|
|
1155
|
+
right: asDetachedNodeForCodeGen(props.right),
|
|
1049
1156
|
});
|
|
1050
1157
|
setParentPointersInDirectChildren(node);
|
|
1051
1158
|
return node;
|
|
@@ -1057,10 +1164,8 @@ export function AssignmentPattern(props: {
|
|
|
1057
1164
|
}): DetachedNode<AssignmentPatternType> {
|
|
1058
1165
|
const node = detachedProps<AssignmentPatternType>(props.parent, {
|
|
1059
1166
|
type: 'AssignmentPattern',
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
// $FlowFixMe[incompatible-call],
|
|
1063
|
-
right: asDetachedNode(props.right),
|
|
1167
|
+
left: asDetachedNodeForCodeGen(props.left),
|
|
1168
|
+
right: asDetachedNodeForCodeGen(props.right),
|
|
1064
1169
|
});
|
|
1065
1170
|
setParentPointersInDirectChildren(node);
|
|
1066
1171
|
return node;
|
|
@@ -1072,8 +1177,7 @@ export function AwaitExpression(props: {
|
|
|
1072
1177
|
}): DetachedNode<AwaitExpressionType> {
|
|
1073
1178
|
const node = detachedProps<AwaitExpressionType>(props.parent, {
|
|
1074
1179
|
type: 'AwaitExpression',
|
|
1075
|
-
|
|
1076
|
-
argument: asDetachedNode(props.argument),
|
|
1180
|
+
argument: asDetachedNodeForCodeGen(props.argument),
|
|
1077
1181
|
});
|
|
1078
1182
|
setParentPointersInDirectChildren(node);
|
|
1079
1183
|
return node;
|
|
@@ -1107,10 +1211,8 @@ export function BinaryExpression(props: {
|
|
|
1107
1211
|
}): DetachedNode<BinaryExpressionType> {
|
|
1108
1212
|
const node = detachedProps<BinaryExpressionType>(props.parent, {
|
|
1109
1213
|
type: 'BinaryExpression',
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
// $FlowFixMe[incompatible-call],
|
|
1113
|
-
right: asDetachedNode(props.right),
|
|
1214
|
+
left: asDetachedNodeForCodeGen(props.left),
|
|
1215
|
+
right: asDetachedNodeForCodeGen(props.right),
|
|
1114
1216
|
operator: props.operator,
|
|
1115
1217
|
});
|
|
1116
1218
|
setParentPointersInDirectChildren(node);
|
|
@@ -1123,8 +1225,7 @@ export function BlockStatement(props: {
|
|
|
1123
1225
|
}): DetachedNode<BlockStatementType> {
|
|
1124
1226
|
const node = detachedProps<BlockStatementType>(props.parent, {
|
|
1125
1227
|
type: 'BlockStatement',
|
|
1126
|
-
|
|
1127
|
-
body: props.body.map(n => asDetachedNode(n)),
|
|
1228
|
+
body: props.body.map(n => asDetachedNodeForCodeGen(n)),
|
|
1128
1229
|
});
|
|
1129
1230
|
setParentPointersInDirectChildren(node);
|
|
1130
1231
|
return node;
|
|
@@ -1159,8 +1260,7 @@ export function BreakStatement(props: {
|
|
|
1159
1260
|
}): DetachedNode<BreakStatementType> {
|
|
1160
1261
|
const node = detachedProps<BreakStatementType>(props.parent, {
|
|
1161
1262
|
type: 'BreakStatement',
|
|
1162
|
-
|
|
1163
|
-
label: asDetachedNode(props.label),
|
|
1263
|
+
label: asDetachedNodeForCodeGen(props.label),
|
|
1164
1264
|
});
|
|
1165
1265
|
setParentPointersInDirectChildren(node);
|
|
1166
1266
|
return node;
|
|
@@ -1172,12 +1272,9 @@ export function CallExpression(props: {
|
|
|
1172
1272
|
}): DetachedNode<CallExpressionType> {
|
|
1173
1273
|
const node = detachedProps<CallExpressionType>(props.parent, {
|
|
1174
1274
|
type: 'CallExpression',
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
typeArguments: asDetachedNode(props.typeArguments),
|
|
1179
|
-
// $FlowFixMe[incompatible-call],
|
|
1180
|
-
arguments: props.arguments.map(n => asDetachedNode(n)),
|
|
1275
|
+
callee: asDetachedNodeForCodeGen(props.callee),
|
|
1276
|
+
typeArguments: asDetachedNodeForCodeGen(props.typeArguments),
|
|
1277
|
+
arguments: props.arguments.map(n => asDetachedNodeForCodeGen(n)),
|
|
1181
1278
|
});
|
|
1182
1279
|
setParentPointersInDirectChildren(node);
|
|
1183
1280
|
return node;
|
|
@@ -1189,10 +1286,8 @@ export function CatchClause(props: {
|
|
|
1189
1286
|
}): DetachedNode<CatchClauseType> {
|
|
1190
1287
|
const node = detachedProps<CatchClauseType>(props.parent, {
|
|
1191
1288
|
type: 'CatchClause',
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
// $FlowFixMe[incompatible-call],
|
|
1195
|
-
body: asDetachedNode(props.body),
|
|
1289
|
+
param: asDetachedNodeForCodeGen(props.param),
|
|
1290
|
+
body: asDetachedNodeForCodeGen(props.body),
|
|
1196
1291
|
});
|
|
1197
1292
|
setParentPointersInDirectChildren(node);
|
|
1198
1293
|
return node;
|
|
@@ -1204,8 +1299,7 @@ export function ChainExpression(props: {
|
|
|
1204
1299
|
}): DetachedNode<ChainExpressionType> {
|
|
1205
1300
|
const node = detachedProps<ChainExpressionType>(props.parent, {
|
|
1206
1301
|
type: 'ChainExpression',
|
|
1207
|
-
|
|
1208
|
-
expression: asDetachedNode(props.expression),
|
|
1302
|
+
expression: asDetachedNodeForCodeGen(props.expression),
|
|
1209
1303
|
});
|
|
1210
1304
|
setParentPointersInDirectChildren(node);
|
|
1211
1305
|
return node;
|
|
@@ -1217,8 +1311,7 @@ export function ClassBody(props: {
|
|
|
1217
1311
|
}): DetachedNode<ClassBodyType> {
|
|
1218
1312
|
const node = detachedProps<ClassBodyType>(props.parent, {
|
|
1219
1313
|
type: 'ClassBody',
|
|
1220
|
-
|
|
1221
|
-
body: props.body.map(n => asDetachedNode(n)),
|
|
1314
|
+
body: props.body.map(n => asDetachedNodeForCodeGen(n)),
|
|
1222
1315
|
});
|
|
1223
1316
|
setParentPointersInDirectChildren(node);
|
|
1224
1317
|
return node;
|
|
@@ -1230,20 +1323,13 @@ export function ClassExpression(props: {
|
|
|
1230
1323
|
}): DetachedNode<ClassExpressionType> {
|
|
1231
1324
|
const node = detachedProps<ClassExpressionType>(props.parent, {
|
|
1232
1325
|
type: 'ClassExpression',
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
superTypeParameters: asDetachedNode(props.superTypeParameters),
|
|
1241
|
-
// $FlowFixMe[incompatible-call],
|
|
1242
|
-
implements: props.implements.map(n => asDetachedNode(n)),
|
|
1243
|
-
// $FlowFixMe[incompatible-call],
|
|
1244
|
-
decorators: props.decorators.map(n => asDetachedNode(n)),
|
|
1245
|
-
// $FlowFixMe[incompatible-call],
|
|
1246
|
-
body: asDetachedNode(props.body),
|
|
1326
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
1327
|
+
typeParameters: asDetachedNodeForCodeGen(props.typeParameters),
|
|
1328
|
+
superClass: asDetachedNodeForCodeGen(props.superClass),
|
|
1329
|
+
superTypeParameters: asDetachedNodeForCodeGen(props.superTypeParameters),
|
|
1330
|
+
implements: props.implements.map(n => asDetachedNodeForCodeGen(n)),
|
|
1331
|
+
decorators: props.decorators.map(n => asDetachedNodeForCodeGen(n)),
|
|
1332
|
+
body: asDetachedNodeForCodeGen(props.body),
|
|
1247
1333
|
});
|
|
1248
1334
|
setParentPointersInDirectChildren(node);
|
|
1249
1335
|
return node;
|
|
@@ -1255,10 +1341,67 @@ export function ClassImplements(props: {
|
|
|
1255
1341
|
}): DetachedNode<ClassImplementsType> {
|
|
1256
1342
|
const node = detachedProps<ClassImplementsType>(props.parent, {
|
|
1257
1343
|
type: 'ClassImplements',
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1344
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
1345
|
+
typeParameters: asDetachedNodeForCodeGen(props.typeParameters),
|
|
1346
|
+
});
|
|
1347
|
+
setParentPointersInDirectChildren(node);
|
|
1348
|
+
return node;
|
|
1349
|
+
}
|
|
1350
|
+
|
|
1351
|
+
export function ComponentDeclaration(props: {
|
|
1352
|
+
...$ReadOnly<ComponentDeclarationProps>,
|
|
1353
|
+
+parent?: ESNode,
|
|
1354
|
+
}): DetachedNode<ComponentDeclarationType> {
|
|
1355
|
+
const node = detachedProps<ComponentDeclarationType>(props.parent, {
|
|
1356
|
+
type: 'ComponentDeclaration',
|
|
1357
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
1358
|
+
params: props.params.map(n => asDetachedNodeForCodeGen(n)),
|
|
1359
|
+
body: asDetachedNodeForCodeGen(props.body),
|
|
1360
|
+
typeParameters: asDetachedNodeForCodeGen(props.typeParameters),
|
|
1361
|
+
returnType: asDetachedNodeForCodeGen(props.returnType),
|
|
1362
|
+
});
|
|
1363
|
+
setParentPointersInDirectChildren(node);
|
|
1364
|
+
return node;
|
|
1365
|
+
}
|
|
1366
|
+
|
|
1367
|
+
export function ComponentParameter(props: {
|
|
1368
|
+
...$ReadOnly<ComponentParameterProps>,
|
|
1369
|
+
+parent?: ESNode,
|
|
1370
|
+
}): DetachedNode<ComponentParameterType> {
|
|
1371
|
+
const node = detachedProps<ComponentParameterType>(props.parent, {
|
|
1372
|
+
type: 'ComponentParameter',
|
|
1373
|
+
name: asDetachedNodeForCodeGen(props.name),
|
|
1374
|
+
local: asDetachedNodeForCodeGen(props.local),
|
|
1375
|
+
shorthand: props.shorthand,
|
|
1376
|
+
});
|
|
1377
|
+
setParentPointersInDirectChildren(node);
|
|
1378
|
+
return node;
|
|
1379
|
+
}
|
|
1380
|
+
|
|
1381
|
+
export function ComponentTypeAnnotation(props: {
|
|
1382
|
+
...$ReadOnly<ComponentTypeAnnotationProps>,
|
|
1383
|
+
+parent?: ESNode,
|
|
1384
|
+
}): DetachedNode<ComponentTypeAnnotationType> {
|
|
1385
|
+
const node = detachedProps<ComponentTypeAnnotationType>(props.parent, {
|
|
1386
|
+
type: 'ComponentTypeAnnotation',
|
|
1387
|
+
params: props.params.map(n => asDetachedNodeForCodeGen(n)),
|
|
1388
|
+
rest: asDetachedNodeForCodeGen(props.rest),
|
|
1389
|
+
typeParameters: asDetachedNodeForCodeGen(props.typeParameters),
|
|
1390
|
+
returnType: asDetachedNodeForCodeGen(props.returnType),
|
|
1391
|
+
});
|
|
1392
|
+
setParentPointersInDirectChildren(node);
|
|
1393
|
+
return node;
|
|
1394
|
+
}
|
|
1395
|
+
|
|
1396
|
+
export function ComponentTypeParameter(props: {
|
|
1397
|
+
...$ReadOnly<ComponentTypeParameterProps>,
|
|
1398
|
+
+parent?: ESNode,
|
|
1399
|
+
}): DetachedNode<ComponentTypeParameterType> {
|
|
1400
|
+
const node = detachedProps<ComponentTypeParameterType>(props.parent, {
|
|
1401
|
+
type: 'ComponentTypeParameter',
|
|
1402
|
+
name: asDetachedNodeForCodeGen(props.name),
|
|
1403
|
+
typeAnnotation: asDetachedNodeForCodeGen(props.typeAnnotation),
|
|
1404
|
+
optional: props.optional,
|
|
1262
1405
|
});
|
|
1263
1406
|
setParentPointersInDirectChildren(node);
|
|
1264
1407
|
return node;
|
|
@@ -1270,12 +1413,24 @@ export function ConditionalExpression(props: {
|
|
|
1270
1413
|
}): DetachedNode<ConditionalExpressionType> {
|
|
1271
1414
|
const node = detachedProps<ConditionalExpressionType>(props.parent, {
|
|
1272
1415
|
type: 'ConditionalExpression',
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1416
|
+
test: asDetachedNodeForCodeGen(props.test),
|
|
1417
|
+
alternate: asDetachedNodeForCodeGen(props.alternate),
|
|
1418
|
+
consequent: asDetachedNodeForCodeGen(props.consequent),
|
|
1419
|
+
});
|
|
1420
|
+
setParentPointersInDirectChildren(node);
|
|
1421
|
+
return node;
|
|
1422
|
+
}
|
|
1423
|
+
|
|
1424
|
+
export function ConditionalTypeAnnotation(props: {
|
|
1425
|
+
...$ReadOnly<ConditionalTypeAnnotationProps>,
|
|
1426
|
+
+parent?: ESNode,
|
|
1427
|
+
}): DetachedNode<ConditionalTypeAnnotationType> {
|
|
1428
|
+
const node = detachedProps<ConditionalTypeAnnotationType>(props.parent, {
|
|
1429
|
+
type: 'ConditionalTypeAnnotation',
|
|
1430
|
+
checkType: asDetachedNodeForCodeGen(props.checkType),
|
|
1431
|
+
extendsType: asDetachedNodeForCodeGen(props.extendsType),
|
|
1432
|
+
trueType: asDetachedNodeForCodeGen(props.trueType),
|
|
1433
|
+
falseType: asDetachedNodeForCodeGen(props.falseType),
|
|
1279
1434
|
});
|
|
1280
1435
|
setParentPointersInDirectChildren(node);
|
|
1281
1436
|
return node;
|
|
@@ -1287,8 +1442,7 @@ export function ContinueStatement(props: {
|
|
|
1287
1442
|
}): DetachedNode<ContinueStatementType> {
|
|
1288
1443
|
const node = detachedProps<ContinueStatementType>(props.parent, {
|
|
1289
1444
|
type: 'ContinueStatement',
|
|
1290
|
-
|
|
1291
|
-
label: asDetachedNode(props.label),
|
|
1445
|
+
label: asDetachedNodeForCodeGen(props.label),
|
|
1292
1446
|
});
|
|
1293
1447
|
setParentPointersInDirectChildren(node);
|
|
1294
1448
|
return node;
|
|
@@ -1310,18 +1464,28 @@ export function DeclareClass(props: {
|
|
|
1310
1464
|
}): DetachedNode<DeclareClassType> {
|
|
1311
1465
|
const node = detachedProps<DeclareClassType>(props.parent, {
|
|
1312
1466
|
type: 'DeclareClass',
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1467
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
1468
|
+
typeParameters: asDetachedNodeForCodeGen(props.typeParameters),
|
|
1469
|
+
extends: props.extends.map(n => asDetachedNodeForCodeGen(n)),
|
|
1470
|
+
implements: props.implements.map(n => asDetachedNodeForCodeGen(n)),
|
|
1471
|
+
mixins: props.mixins.map(n => asDetachedNodeForCodeGen(n)),
|
|
1472
|
+
body: asDetachedNodeForCodeGen(props.body),
|
|
1473
|
+
});
|
|
1474
|
+
setParentPointersInDirectChildren(node);
|
|
1475
|
+
return node;
|
|
1476
|
+
}
|
|
1477
|
+
|
|
1478
|
+
export function DeclareComponent(props: {
|
|
1479
|
+
...$ReadOnly<DeclareComponentProps>,
|
|
1480
|
+
+parent?: ESNode,
|
|
1481
|
+
}): DetachedNode<DeclareComponentType> {
|
|
1482
|
+
const node = detachedProps<DeclareComponentType>(props.parent, {
|
|
1483
|
+
type: 'DeclareComponent',
|
|
1484
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
1485
|
+
params: props.params.map(n => asDetachedNodeForCodeGen(n)),
|
|
1486
|
+
rest: asDetachedNodeForCodeGen(props.rest),
|
|
1487
|
+
typeParameters: asDetachedNodeForCodeGen(props.typeParameters),
|
|
1488
|
+
returnType: asDetachedNodeForCodeGen(props.returnType),
|
|
1325
1489
|
});
|
|
1326
1490
|
setParentPointersInDirectChildren(node);
|
|
1327
1491
|
return node;
|
|
@@ -1333,8 +1497,20 @@ export function DeclaredPredicate(props: {
|
|
|
1333
1497
|
}): DetachedNode<DeclaredPredicateType> {
|
|
1334
1498
|
const node = detachedProps<DeclaredPredicateType>(props.parent, {
|
|
1335
1499
|
type: 'DeclaredPredicate',
|
|
1336
|
-
|
|
1337
|
-
|
|
1500
|
+
value: asDetachedNodeForCodeGen(props.value),
|
|
1501
|
+
});
|
|
1502
|
+
setParentPointersInDirectChildren(node);
|
|
1503
|
+
return node;
|
|
1504
|
+
}
|
|
1505
|
+
|
|
1506
|
+
export function DeclareEnum(props: {
|
|
1507
|
+
...$ReadOnly<DeclareEnumProps>,
|
|
1508
|
+
+parent?: ESNode,
|
|
1509
|
+
}): DetachedNode<DeclareEnumType> {
|
|
1510
|
+
const node = detachedProps<DeclareEnumType>(props.parent, {
|
|
1511
|
+
type: 'DeclareEnum',
|
|
1512
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
1513
|
+
body: asDetachedNodeForCodeGen(props.body),
|
|
1338
1514
|
});
|
|
1339
1515
|
setParentPointersInDirectChildren(node);
|
|
1340
1516
|
return node;
|
|
@@ -1346,8 +1522,7 @@ export function DeclareExportAllDeclaration(props: {
|
|
|
1346
1522
|
}): DetachedNode<DeclareExportAllDeclarationType> {
|
|
1347
1523
|
const node = detachedProps<DeclareExportAllDeclarationType>(props.parent, {
|
|
1348
1524
|
type: 'DeclareExportAllDeclaration',
|
|
1349
|
-
|
|
1350
|
-
source: asDetachedNode(props.source),
|
|
1525
|
+
source: asDetachedNodeForCodeGen(props.source),
|
|
1351
1526
|
});
|
|
1352
1527
|
setParentPointersInDirectChildren(node);
|
|
1353
1528
|
return node;
|
|
@@ -1359,14 +1534,10 @@ export function DeclareInterface(props: {
|
|
|
1359
1534
|
}): DetachedNode<DeclareInterfaceType> {
|
|
1360
1535
|
const node = detachedProps<DeclareInterfaceType>(props.parent, {
|
|
1361
1536
|
type: 'DeclareInterface',
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
// $FlowFixMe[incompatible-call],
|
|
1367
|
-
extends: props.extends.map(n => asDetachedNode(n)),
|
|
1368
|
-
// $FlowFixMe[incompatible-call],
|
|
1369
|
-
body: asDetachedNode(props.body),
|
|
1537
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
1538
|
+
typeParameters: asDetachedNodeForCodeGen(props.typeParameters),
|
|
1539
|
+
extends: props.extends.map(n => asDetachedNodeForCodeGen(n)),
|
|
1540
|
+
body: asDetachedNodeForCodeGen(props.body),
|
|
1370
1541
|
});
|
|
1371
1542
|
setParentPointersInDirectChildren(node);
|
|
1372
1543
|
return node;
|
|
@@ -1378,10 +1549,8 @@ export function DeclareModule(props: {
|
|
|
1378
1549
|
}): DetachedNode<DeclareModuleType> {
|
|
1379
1550
|
const node = detachedProps<DeclareModuleType>(props.parent, {
|
|
1380
1551
|
type: 'DeclareModule',
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
// $FlowFixMe[incompatible-call],
|
|
1384
|
-
body: asDetachedNode(props.body),
|
|
1552
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
1553
|
+
body: asDetachedNodeForCodeGen(props.body),
|
|
1385
1554
|
kind: props.kind,
|
|
1386
1555
|
});
|
|
1387
1556
|
setParentPointersInDirectChildren(node);
|
|
@@ -1394,8 +1563,7 @@ export function DeclareModuleExports(props: {
|
|
|
1394
1563
|
}): DetachedNode<DeclareModuleExportsType> {
|
|
1395
1564
|
const node = detachedProps<DeclareModuleExportsType>(props.parent, {
|
|
1396
1565
|
type: 'DeclareModuleExports',
|
|
1397
|
-
|
|
1398
|
-
typeAnnotation: asDetachedNode(props.typeAnnotation),
|
|
1566
|
+
typeAnnotation: asDetachedNodeForCodeGen(props.typeAnnotation),
|
|
1399
1567
|
});
|
|
1400
1568
|
setParentPointersInDirectChildren(node);
|
|
1401
1569
|
return node;
|
|
@@ -1407,14 +1575,10 @@ export function DeclareOpaqueType(props: {
|
|
|
1407
1575
|
}): DetachedNode<DeclareOpaqueTypeType> {
|
|
1408
1576
|
const node = detachedProps<DeclareOpaqueTypeType>(props.parent, {
|
|
1409
1577
|
type: 'DeclareOpaqueType',
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
// $FlowFixMe[incompatible-call],
|
|
1415
|
-
impltype: asDetachedNode(props.impltype),
|
|
1416
|
-
// $FlowFixMe[incompatible-call],
|
|
1417
|
-
supertype: asDetachedNode(props.supertype),
|
|
1578
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
1579
|
+
typeParameters: asDetachedNodeForCodeGen(props.typeParameters),
|
|
1580
|
+
impltype: asDetachedNodeForCodeGen(props.impltype),
|
|
1581
|
+
supertype: asDetachedNodeForCodeGen(props.supertype),
|
|
1418
1582
|
});
|
|
1419
1583
|
setParentPointersInDirectChildren(node);
|
|
1420
1584
|
return node;
|
|
@@ -1426,12 +1590,9 @@ export function DeclareTypeAlias(props: {
|
|
|
1426
1590
|
}): DetachedNode<DeclareTypeAliasType> {
|
|
1427
1591
|
const node = detachedProps<DeclareTypeAliasType>(props.parent, {
|
|
1428
1592
|
type: 'DeclareTypeAlias',
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
typeParameters: asDetachedNode(props.typeParameters),
|
|
1433
|
-
// $FlowFixMe[incompatible-call],
|
|
1434
|
-
right: asDetachedNode(props.right),
|
|
1593
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
1594
|
+
typeParameters: asDetachedNodeForCodeGen(props.typeParameters),
|
|
1595
|
+
right: asDetachedNodeForCodeGen(props.right),
|
|
1435
1596
|
});
|
|
1436
1597
|
setParentPointersInDirectChildren(node);
|
|
1437
1598
|
return node;
|
|
@@ -1443,8 +1604,8 @@ export function DeclareVariable(props: {
|
|
|
1443
1604
|
}): DetachedNode<DeclareVariableType> {
|
|
1444
1605
|
const node = detachedProps<DeclareVariableType>(props.parent, {
|
|
1445
1606
|
type: 'DeclareVariable',
|
|
1446
|
-
|
|
1447
|
-
|
|
1607
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
1608
|
+
kind: props.kind,
|
|
1448
1609
|
});
|
|
1449
1610
|
setParentPointersInDirectChildren(node);
|
|
1450
1611
|
return node;
|
|
@@ -1456,10 +1617,8 @@ export function DoWhileStatement(props: {
|
|
|
1456
1617
|
}): DetachedNode<DoWhileStatementType> {
|
|
1457
1618
|
const node = detachedProps<DoWhileStatementType>(props.parent, {
|
|
1458
1619
|
type: 'DoWhileStatement',
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
// $FlowFixMe[incompatible-call],
|
|
1462
|
-
test: asDetachedNode(props.test),
|
|
1620
|
+
body: asDetachedNodeForCodeGen(props.body),
|
|
1621
|
+
test: asDetachedNodeForCodeGen(props.test),
|
|
1463
1622
|
});
|
|
1464
1623
|
setParentPointersInDirectChildren(node);
|
|
1465
1624
|
return node;
|
|
@@ -1491,8 +1650,7 @@ export function EnumBooleanBody(props: {
|
|
|
1491
1650
|
}): DetachedNode<EnumBooleanBodyType> {
|
|
1492
1651
|
const node = detachedProps<EnumBooleanBodyType>(props.parent, {
|
|
1493
1652
|
type: 'EnumBooleanBody',
|
|
1494
|
-
|
|
1495
|
-
members: props.members.map(n => asDetachedNode(n)),
|
|
1653
|
+
members: props.members.map(n => asDetachedNodeForCodeGen(n)),
|
|
1496
1654
|
explicitType: props.explicitType,
|
|
1497
1655
|
hasUnknownMembers: props.hasUnknownMembers,
|
|
1498
1656
|
});
|
|
@@ -1506,10 +1664,8 @@ export function EnumBooleanMember(props: {
|
|
|
1506
1664
|
}): DetachedNode<EnumBooleanMemberType> {
|
|
1507
1665
|
const node = detachedProps<EnumBooleanMemberType>(props.parent, {
|
|
1508
1666
|
type: 'EnumBooleanMember',
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
// $FlowFixMe[incompatible-call],
|
|
1512
|
-
init: asDetachedNode(props.init),
|
|
1667
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
1668
|
+
init: asDetachedNodeForCodeGen(props.init),
|
|
1513
1669
|
});
|
|
1514
1670
|
setParentPointersInDirectChildren(node);
|
|
1515
1671
|
return node;
|
|
@@ -1521,10 +1677,8 @@ export function EnumDeclaration(props: {
|
|
|
1521
1677
|
}): DetachedNode<EnumDeclarationType> {
|
|
1522
1678
|
const node = detachedProps<EnumDeclarationType>(props.parent, {
|
|
1523
1679
|
type: 'EnumDeclaration',
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
// $FlowFixMe[incompatible-call],
|
|
1527
|
-
body: asDetachedNode(props.body),
|
|
1680
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
1681
|
+
body: asDetachedNodeForCodeGen(props.body),
|
|
1528
1682
|
});
|
|
1529
1683
|
setParentPointersInDirectChildren(node);
|
|
1530
1684
|
return node;
|
|
@@ -1536,8 +1690,7 @@ export function EnumDefaultedMember(props: {
|
|
|
1536
1690
|
}): DetachedNode<EnumDefaultedMemberType> {
|
|
1537
1691
|
const node = detachedProps<EnumDefaultedMemberType>(props.parent, {
|
|
1538
1692
|
type: 'EnumDefaultedMember',
|
|
1539
|
-
|
|
1540
|
-
id: asDetachedNode(props.id),
|
|
1693
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
1541
1694
|
});
|
|
1542
1695
|
setParentPointersInDirectChildren(node);
|
|
1543
1696
|
return node;
|
|
@@ -1549,8 +1702,7 @@ export function EnumNumberBody(props: {
|
|
|
1549
1702
|
}): DetachedNode<EnumNumberBodyType> {
|
|
1550
1703
|
const node = detachedProps<EnumNumberBodyType>(props.parent, {
|
|
1551
1704
|
type: 'EnumNumberBody',
|
|
1552
|
-
|
|
1553
|
-
members: props.members.map(n => asDetachedNode(n)),
|
|
1705
|
+
members: props.members.map(n => asDetachedNodeForCodeGen(n)),
|
|
1554
1706
|
explicitType: props.explicitType,
|
|
1555
1707
|
hasUnknownMembers: props.hasUnknownMembers,
|
|
1556
1708
|
});
|
|
@@ -1564,10 +1716,8 @@ export function EnumNumberMember(props: {
|
|
|
1564
1716
|
}): DetachedNode<EnumNumberMemberType> {
|
|
1565
1717
|
const node = detachedProps<EnumNumberMemberType>(props.parent, {
|
|
1566
1718
|
type: 'EnumNumberMember',
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
// $FlowFixMe[incompatible-call],
|
|
1570
|
-
init: asDetachedNode(props.init),
|
|
1719
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
1720
|
+
init: asDetachedNodeForCodeGen(props.init),
|
|
1571
1721
|
});
|
|
1572
1722
|
setParentPointersInDirectChildren(node);
|
|
1573
1723
|
return node;
|
|
@@ -1579,8 +1729,7 @@ export function EnumStringBody(props: {
|
|
|
1579
1729
|
}): DetachedNode<EnumStringBodyType> {
|
|
1580
1730
|
const node = detachedProps<EnumStringBodyType>(props.parent, {
|
|
1581
1731
|
type: 'EnumStringBody',
|
|
1582
|
-
|
|
1583
|
-
members: props.members.map(n => asDetachedNode(n)),
|
|
1732
|
+
members: props.members.map(n => asDetachedNodeForCodeGen(n)),
|
|
1584
1733
|
explicitType: props.explicitType,
|
|
1585
1734
|
hasUnknownMembers: props.hasUnknownMembers,
|
|
1586
1735
|
});
|
|
@@ -1594,10 +1743,8 @@ export function EnumStringMember(props: {
|
|
|
1594
1743
|
}): DetachedNode<EnumStringMemberType> {
|
|
1595
1744
|
const node = detachedProps<EnumStringMemberType>(props.parent, {
|
|
1596
1745
|
type: 'EnumStringMember',
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
// $FlowFixMe[incompatible-call],
|
|
1600
|
-
init: asDetachedNode(props.init),
|
|
1746
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
1747
|
+
init: asDetachedNodeForCodeGen(props.init),
|
|
1601
1748
|
});
|
|
1602
1749
|
setParentPointersInDirectChildren(node);
|
|
1603
1750
|
return node;
|
|
@@ -1609,8 +1756,7 @@ export function EnumSymbolBody(props: {
|
|
|
1609
1756
|
}): DetachedNode<EnumSymbolBodyType> {
|
|
1610
1757
|
const node = detachedProps<EnumSymbolBodyType>(props.parent, {
|
|
1611
1758
|
type: 'EnumSymbolBody',
|
|
1612
|
-
|
|
1613
|
-
members: props.members.map(n => asDetachedNode(n)),
|
|
1759
|
+
members: props.members.map(n => asDetachedNodeForCodeGen(n)),
|
|
1614
1760
|
hasUnknownMembers: props.hasUnknownMembers,
|
|
1615
1761
|
});
|
|
1616
1762
|
setParentPointersInDirectChildren(node);
|
|
@@ -1633,10 +1779,8 @@ export function ExportAllDeclaration(props: {
|
|
|
1633
1779
|
}): DetachedNode<ExportAllDeclarationType> {
|
|
1634
1780
|
const node = detachedProps<ExportAllDeclarationType>(props.parent, {
|
|
1635
1781
|
type: 'ExportAllDeclaration',
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
// $FlowFixMe[incompatible-call],
|
|
1639
|
-
source: asDetachedNode(props.source),
|
|
1782
|
+
exported: asDetachedNodeForCodeGen(props.exported),
|
|
1783
|
+
source: asDetachedNodeForCodeGen(props.source),
|
|
1640
1784
|
exportKind: props.exportKind,
|
|
1641
1785
|
});
|
|
1642
1786
|
setParentPointersInDirectChildren(node);
|
|
@@ -1649,8 +1793,7 @@ export function ExportDefaultDeclaration(props: {
|
|
|
1649
1793
|
}): DetachedNode<ExportDefaultDeclarationType> {
|
|
1650
1794
|
const node = detachedProps<ExportDefaultDeclarationType>(props.parent, {
|
|
1651
1795
|
type: 'ExportDefaultDeclaration',
|
|
1652
|
-
|
|
1653
|
-
declaration: asDetachedNode(props.declaration),
|
|
1796
|
+
declaration: asDetachedNodeForCodeGen(props.declaration),
|
|
1654
1797
|
});
|
|
1655
1798
|
setParentPointersInDirectChildren(node);
|
|
1656
1799
|
return node;
|
|
@@ -1662,10 +1805,8 @@ export function ExportSpecifier(props: {
|
|
|
1662
1805
|
}): DetachedNode<ExportSpecifierType> {
|
|
1663
1806
|
const node = detachedProps<ExportSpecifierType>(props.parent, {
|
|
1664
1807
|
type: 'ExportSpecifier',
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
// $FlowFixMe[incompatible-call],
|
|
1668
|
-
local: asDetachedNode(props.local),
|
|
1808
|
+
exported: asDetachedNodeForCodeGen(props.exported),
|
|
1809
|
+
local: asDetachedNodeForCodeGen(props.local),
|
|
1669
1810
|
});
|
|
1670
1811
|
setParentPointersInDirectChildren(node);
|
|
1671
1812
|
return node;
|
|
@@ -1677,8 +1818,7 @@ export function ExpressionStatement(props: {
|
|
|
1677
1818
|
}): DetachedNode<ExpressionStatementType> {
|
|
1678
1819
|
const node = detachedProps<ExpressionStatementType>(props.parent, {
|
|
1679
1820
|
type: 'ExpressionStatement',
|
|
1680
|
-
|
|
1681
|
-
expression: asDetachedNode(props.expression),
|
|
1821
|
+
expression: asDetachedNodeForCodeGen(props.expression),
|
|
1682
1822
|
directive: props.directive,
|
|
1683
1823
|
});
|
|
1684
1824
|
setParentPointersInDirectChildren(node);
|
|
@@ -1691,12 +1831,9 @@ export function ForInStatement(props: {
|
|
|
1691
1831
|
}): DetachedNode<ForInStatementType> {
|
|
1692
1832
|
const node = detachedProps<ForInStatementType>(props.parent, {
|
|
1693
1833
|
type: 'ForInStatement',
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
right: asDetachedNode(props.right),
|
|
1698
|
-
// $FlowFixMe[incompatible-call],
|
|
1699
|
-
body: asDetachedNode(props.body),
|
|
1834
|
+
left: asDetachedNodeForCodeGen(props.left),
|
|
1835
|
+
right: asDetachedNodeForCodeGen(props.right),
|
|
1836
|
+
body: asDetachedNodeForCodeGen(props.body),
|
|
1700
1837
|
});
|
|
1701
1838
|
setParentPointersInDirectChildren(node);
|
|
1702
1839
|
return node;
|
|
@@ -1708,12 +1845,9 @@ export function ForOfStatement(props: {
|
|
|
1708
1845
|
}): DetachedNode<ForOfStatementType> {
|
|
1709
1846
|
const node = detachedProps<ForOfStatementType>(props.parent, {
|
|
1710
1847
|
type: 'ForOfStatement',
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
right: asDetachedNode(props.right),
|
|
1715
|
-
// $FlowFixMe[incompatible-call],
|
|
1716
|
-
body: asDetachedNode(props.body),
|
|
1848
|
+
left: asDetachedNodeForCodeGen(props.left),
|
|
1849
|
+
right: asDetachedNodeForCodeGen(props.right),
|
|
1850
|
+
body: asDetachedNodeForCodeGen(props.body),
|
|
1717
1851
|
await: props.await,
|
|
1718
1852
|
});
|
|
1719
1853
|
setParentPointersInDirectChildren(node);
|
|
@@ -1726,14 +1860,10 @@ export function ForStatement(props: {
|
|
|
1726
1860
|
}): DetachedNode<ForStatementType> {
|
|
1727
1861
|
const node = detachedProps<ForStatementType>(props.parent, {
|
|
1728
1862
|
type: 'ForStatement',
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
// $FlowFixMe[incompatible-call],
|
|
1734
|
-
update: asDetachedNode(props.update),
|
|
1735
|
-
// $FlowFixMe[incompatible-call],
|
|
1736
|
-
body: asDetachedNode(props.body),
|
|
1863
|
+
init: asDetachedNodeForCodeGen(props.init),
|
|
1864
|
+
test: asDetachedNodeForCodeGen(props.test),
|
|
1865
|
+
update: asDetachedNodeForCodeGen(props.update),
|
|
1866
|
+
body: asDetachedNodeForCodeGen(props.body),
|
|
1737
1867
|
});
|
|
1738
1868
|
setParentPointersInDirectChildren(node);
|
|
1739
1869
|
return node;
|
|
@@ -1745,18 +1875,12 @@ export function FunctionDeclaration(props: {
|
|
|
1745
1875
|
}): DetachedNode<FunctionDeclarationType> {
|
|
1746
1876
|
const node = detachedProps<FunctionDeclarationType>(props.parent, {
|
|
1747
1877
|
type: 'FunctionDeclaration',
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
// $FlowFixMe[incompatible-call],
|
|
1755
|
-
typeParameters: asDetachedNode(props.typeParameters),
|
|
1756
|
-
// $FlowFixMe[incompatible-call],
|
|
1757
|
-
returnType: asDetachedNode(props.returnType),
|
|
1758
|
-
// $FlowFixMe[incompatible-call],
|
|
1759
|
-
predicate: asDetachedNode(props.predicate),
|
|
1878
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
1879
|
+
params: props.params.map(n => asDetachedNodeForCodeGen(n)),
|
|
1880
|
+
body: asDetachedNodeForCodeGen(props.body),
|
|
1881
|
+
typeParameters: asDetachedNodeForCodeGen(props.typeParameters),
|
|
1882
|
+
returnType: asDetachedNodeForCodeGen(props.returnType),
|
|
1883
|
+
predicate: asDetachedNodeForCodeGen(props.predicate),
|
|
1760
1884
|
generator: props.generator,
|
|
1761
1885
|
async: props.async,
|
|
1762
1886
|
});
|
|
@@ -1770,18 +1894,12 @@ export function FunctionExpression(props: {
|
|
|
1770
1894
|
}): DetachedNode<FunctionExpressionType> {
|
|
1771
1895
|
const node = detachedProps<FunctionExpressionType>(props.parent, {
|
|
1772
1896
|
type: 'FunctionExpression',
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
// $FlowFixMe[incompatible-call],
|
|
1780
|
-
typeParameters: asDetachedNode(props.typeParameters),
|
|
1781
|
-
// $FlowFixMe[incompatible-call],
|
|
1782
|
-
returnType: asDetachedNode(props.returnType),
|
|
1783
|
-
// $FlowFixMe[incompatible-call],
|
|
1784
|
-
predicate: asDetachedNode(props.predicate),
|
|
1897
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
1898
|
+
params: props.params.map(n => asDetachedNodeForCodeGen(n)),
|
|
1899
|
+
body: asDetachedNodeForCodeGen(props.body),
|
|
1900
|
+
typeParameters: asDetachedNodeForCodeGen(props.typeParameters),
|
|
1901
|
+
returnType: asDetachedNodeForCodeGen(props.returnType),
|
|
1902
|
+
predicate: asDetachedNodeForCodeGen(props.predicate),
|
|
1785
1903
|
generator: props.generator,
|
|
1786
1904
|
async: props.async,
|
|
1787
1905
|
});
|
|
@@ -1795,16 +1913,11 @@ export function FunctionTypeAnnotation(props: {
|
|
|
1795
1913
|
}): DetachedNode<FunctionTypeAnnotationType> {
|
|
1796
1914
|
const node = detachedProps<FunctionTypeAnnotationType>(props.parent, {
|
|
1797
1915
|
type: 'FunctionTypeAnnotation',
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
returnType: asDetachedNode(props.returnType),
|
|
1804
|
-
// $FlowFixMe[incompatible-call],
|
|
1805
|
-
rest: asDetachedNode(props.rest),
|
|
1806
|
-
// $FlowFixMe[incompatible-call],
|
|
1807
|
-
typeParameters: asDetachedNode(props.typeParameters),
|
|
1916
|
+
params: props.params.map(n => asDetachedNodeForCodeGen(n)),
|
|
1917
|
+
this: asDetachedNodeForCodeGen(props.this),
|
|
1918
|
+
returnType: asDetachedNodeForCodeGen(props.returnType),
|
|
1919
|
+
rest: asDetachedNodeForCodeGen(props.rest),
|
|
1920
|
+
typeParameters: asDetachedNodeForCodeGen(props.typeParameters),
|
|
1808
1921
|
});
|
|
1809
1922
|
setParentPointersInDirectChildren(node);
|
|
1810
1923
|
return node;
|
|
@@ -1816,10 +1929,8 @@ export function FunctionTypeParam(props: {
|
|
|
1816
1929
|
}): DetachedNode<FunctionTypeParamType> {
|
|
1817
1930
|
const node = detachedProps<FunctionTypeParamType>(props.parent, {
|
|
1818
1931
|
type: 'FunctionTypeParam',
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
// $FlowFixMe[incompatible-call],
|
|
1822
|
-
typeAnnotation: asDetachedNode(props.typeAnnotation),
|
|
1932
|
+
name: asDetachedNodeForCodeGen(props.name),
|
|
1933
|
+
typeAnnotation: asDetachedNodeForCodeGen(props.typeAnnotation),
|
|
1823
1934
|
optional: props.optional,
|
|
1824
1935
|
});
|
|
1825
1936
|
setParentPointersInDirectChildren(node);
|
|
@@ -1832,10 +1943,8 @@ export function GenericTypeAnnotation(props: {
|
|
|
1832
1943
|
}): DetachedNode<GenericTypeAnnotationType> {
|
|
1833
1944
|
const node = detachedProps<GenericTypeAnnotationType>(props.parent, {
|
|
1834
1945
|
type: 'GenericTypeAnnotation',
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
// $FlowFixMe[incompatible-call],
|
|
1838
|
-
typeParameters: asDetachedNode(props.typeParameters),
|
|
1946
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
1947
|
+
typeParameters: asDetachedNodeForCodeGen(props.typeParameters),
|
|
1839
1948
|
});
|
|
1840
1949
|
setParentPointersInDirectChildren(node);
|
|
1841
1950
|
return node;
|
|
@@ -1847,12 +1956,9 @@ export function IfStatement(props: {
|
|
|
1847
1956
|
}): DetachedNode<IfStatementType> {
|
|
1848
1957
|
const node = detachedProps<IfStatementType>(props.parent, {
|
|
1849
1958
|
type: 'IfStatement',
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
consequent: asDetachedNode(props.consequent),
|
|
1854
|
-
// $FlowFixMe[incompatible-call],
|
|
1855
|
-
alternate: asDetachedNode(props.alternate),
|
|
1959
|
+
test: asDetachedNodeForCodeGen(props.test),
|
|
1960
|
+
consequent: asDetachedNodeForCodeGen(props.consequent),
|
|
1961
|
+
alternate: asDetachedNodeForCodeGen(props.alternate),
|
|
1856
1962
|
});
|
|
1857
1963
|
setParentPointersInDirectChildren(node);
|
|
1858
1964
|
return node;
|
|
@@ -1864,10 +1970,8 @@ export function ImportAttribute(props: {
|
|
|
1864
1970
|
}): DetachedNode<ImportAttributeType> {
|
|
1865
1971
|
const node = detachedProps<ImportAttributeType>(props.parent, {
|
|
1866
1972
|
type: 'ImportAttribute',
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
// $FlowFixMe[incompatible-call],
|
|
1870
|
-
value: asDetachedNode(props.value),
|
|
1973
|
+
key: asDetachedNodeForCodeGen(props.key),
|
|
1974
|
+
value: asDetachedNodeForCodeGen(props.value),
|
|
1871
1975
|
});
|
|
1872
1976
|
setParentPointersInDirectChildren(node);
|
|
1873
1977
|
return node;
|
|
@@ -1879,12 +1983,9 @@ export function ImportDeclaration(props: {
|
|
|
1879
1983
|
}): DetachedNode<ImportDeclarationType> {
|
|
1880
1984
|
const node = detachedProps<ImportDeclarationType>(props.parent, {
|
|
1881
1985
|
type: 'ImportDeclaration',
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
source: asDetachedNode(props.source),
|
|
1886
|
-
// $FlowFixMe[incompatible-call],
|
|
1887
|
-
assertions: props.assertions?.map(n => asDetachedNode(n)),
|
|
1986
|
+
specifiers: props.specifiers.map(n => asDetachedNodeForCodeGen(n)),
|
|
1987
|
+
source: asDetachedNodeForCodeGen(props.source),
|
|
1988
|
+
assertions: props.assertions?.map(n => asDetachedNodeForCodeGen(n)),
|
|
1888
1989
|
importKind: props.importKind,
|
|
1889
1990
|
});
|
|
1890
1991
|
setParentPointersInDirectChildren(node);
|
|
@@ -1897,8 +1998,7 @@ export function ImportDefaultSpecifier(props: {
|
|
|
1897
1998
|
}): DetachedNode<ImportDefaultSpecifierType> {
|
|
1898
1999
|
const node = detachedProps<ImportDefaultSpecifierType>(props.parent, {
|
|
1899
2000
|
type: 'ImportDefaultSpecifier',
|
|
1900
|
-
|
|
1901
|
-
local: asDetachedNode(props.local),
|
|
2001
|
+
local: asDetachedNodeForCodeGen(props.local),
|
|
1902
2002
|
});
|
|
1903
2003
|
setParentPointersInDirectChildren(node);
|
|
1904
2004
|
return node;
|
|
@@ -1910,10 +2010,8 @@ export function ImportExpression(props: {
|
|
|
1910
2010
|
}): DetachedNode<ImportExpressionType> {
|
|
1911
2011
|
const node = detachedProps<ImportExpressionType>(props.parent, {
|
|
1912
2012
|
type: 'ImportExpression',
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
// $FlowFixMe[incompatible-call],
|
|
1916
|
-
attributes: asDetachedNode(props.attributes),
|
|
2013
|
+
source: asDetachedNodeForCodeGen(props.source),
|
|
2014
|
+
attributes: asDetachedNodeForCodeGen(props.attributes),
|
|
1917
2015
|
});
|
|
1918
2016
|
setParentPointersInDirectChildren(node);
|
|
1919
2017
|
return node;
|
|
@@ -1925,8 +2023,7 @@ export function ImportNamespaceSpecifier(props: {
|
|
|
1925
2023
|
}): DetachedNode<ImportNamespaceSpecifierType> {
|
|
1926
2024
|
const node = detachedProps<ImportNamespaceSpecifierType>(props.parent, {
|
|
1927
2025
|
type: 'ImportNamespaceSpecifier',
|
|
1928
|
-
|
|
1929
|
-
local: asDetachedNode(props.local),
|
|
2026
|
+
local: asDetachedNodeForCodeGen(props.local),
|
|
1930
2027
|
});
|
|
1931
2028
|
setParentPointersInDirectChildren(node);
|
|
1932
2029
|
return node;
|
|
@@ -1938,10 +2035,8 @@ export function ImportSpecifier(props: {
|
|
|
1938
2035
|
}): DetachedNode<ImportSpecifierType> {
|
|
1939
2036
|
const node = detachedProps<ImportSpecifierType>(props.parent, {
|
|
1940
2037
|
type: 'ImportSpecifier',
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
// $FlowFixMe[incompatible-call],
|
|
1944
|
-
local: asDetachedNode(props.local),
|
|
2038
|
+
imported: asDetachedNodeForCodeGen(props.imported),
|
|
2039
|
+
local: asDetachedNodeForCodeGen(props.local),
|
|
1945
2040
|
importKind: props.importKind,
|
|
1946
2041
|
});
|
|
1947
2042
|
setParentPointersInDirectChildren(node);
|
|
@@ -1954,10 +2049,8 @@ export function IndexedAccessType(props: {
|
|
|
1954
2049
|
}): DetachedNode<IndexedAccessTypeType> {
|
|
1955
2050
|
const node = detachedProps<IndexedAccessTypeType>(props.parent, {
|
|
1956
2051
|
type: 'IndexedAccessType',
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
// $FlowFixMe[incompatible-call],
|
|
1960
|
-
indexType: asDetachedNode(props.indexType),
|
|
2052
|
+
objectType: asDetachedNodeForCodeGen(props.objectType),
|
|
2053
|
+
indexType: asDetachedNodeForCodeGen(props.indexType),
|
|
1961
2054
|
});
|
|
1962
2055
|
setParentPointersInDirectChildren(node);
|
|
1963
2056
|
return node;
|
|
@@ -1973,20 +2066,28 @@ export function InferredPredicate(
|
|
|
1973
2066
|
});
|
|
1974
2067
|
}
|
|
1975
2068
|
|
|
2069
|
+
export function InferTypeAnnotation(props: {
|
|
2070
|
+
...$ReadOnly<InferTypeAnnotationProps>,
|
|
2071
|
+
+parent?: ESNode,
|
|
2072
|
+
}): DetachedNode<InferTypeAnnotationType> {
|
|
2073
|
+
const node = detachedProps<InferTypeAnnotationType>(props.parent, {
|
|
2074
|
+
type: 'InferTypeAnnotation',
|
|
2075
|
+
typeParameter: asDetachedNodeForCodeGen(props.typeParameter),
|
|
2076
|
+
});
|
|
2077
|
+
setParentPointersInDirectChildren(node);
|
|
2078
|
+
return node;
|
|
2079
|
+
}
|
|
2080
|
+
|
|
1976
2081
|
export function InterfaceDeclaration(props: {
|
|
1977
2082
|
...$ReadOnly<InterfaceDeclarationProps>,
|
|
1978
2083
|
+parent?: ESNode,
|
|
1979
2084
|
}): DetachedNode<InterfaceDeclarationType> {
|
|
1980
2085
|
const node = detachedProps<InterfaceDeclarationType>(props.parent, {
|
|
1981
2086
|
type: 'InterfaceDeclaration',
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
// $FlowFixMe[incompatible-call],
|
|
1987
|
-
extends: props.extends.map(n => asDetachedNode(n)),
|
|
1988
|
-
// $FlowFixMe[incompatible-call],
|
|
1989
|
-
body: asDetachedNode(props.body),
|
|
2087
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
2088
|
+
typeParameters: asDetachedNodeForCodeGen(props.typeParameters),
|
|
2089
|
+
extends: props.extends.map(n => asDetachedNodeForCodeGen(n)),
|
|
2090
|
+
body: asDetachedNodeForCodeGen(props.body),
|
|
1990
2091
|
});
|
|
1991
2092
|
setParentPointersInDirectChildren(node);
|
|
1992
2093
|
return node;
|
|
@@ -1998,10 +2099,8 @@ export function InterfaceExtends(props: {
|
|
|
1998
2099
|
}): DetachedNode<InterfaceExtendsType> {
|
|
1999
2100
|
const node = detachedProps<InterfaceExtendsType>(props.parent, {
|
|
2000
2101
|
type: 'InterfaceExtends',
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
// $FlowFixMe[incompatible-call],
|
|
2004
|
-
typeParameters: asDetachedNode(props.typeParameters),
|
|
2102
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
2103
|
+
typeParameters: asDetachedNodeForCodeGen(props.typeParameters),
|
|
2005
2104
|
});
|
|
2006
2105
|
setParentPointersInDirectChildren(node);
|
|
2007
2106
|
return node;
|
|
@@ -2013,10 +2112,8 @@ export function InterfaceTypeAnnotation(props: {
|
|
|
2013
2112
|
}): DetachedNode<InterfaceTypeAnnotationType> {
|
|
2014
2113
|
const node = detachedProps<InterfaceTypeAnnotationType>(props.parent, {
|
|
2015
2114
|
type: 'InterfaceTypeAnnotation',
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
// $FlowFixMe[incompatible-call],
|
|
2019
|
-
body: asDetachedNode(props.body),
|
|
2115
|
+
extends: props.extends.map(n => asDetachedNodeForCodeGen(n)),
|
|
2116
|
+
body: asDetachedNodeForCodeGen(props.body),
|
|
2020
2117
|
});
|
|
2021
2118
|
setParentPointersInDirectChildren(node);
|
|
2022
2119
|
return node;
|
|
@@ -2028,8 +2125,7 @@ export function IntersectionTypeAnnotation(props: {
|
|
|
2028
2125
|
}): DetachedNode<IntersectionTypeAnnotationType> {
|
|
2029
2126
|
const node = detachedProps<IntersectionTypeAnnotationType>(props.parent, {
|
|
2030
2127
|
type: 'IntersectionTypeAnnotation',
|
|
2031
|
-
|
|
2032
|
-
types: props.types.map(n => asDetachedNode(n)),
|
|
2128
|
+
types: props.types.map(n => asDetachedNodeForCodeGen(n)),
|
|
2033
2129
|
});
|
|
2034
2130
|
setParentPointersInDirectChildren(node);
|
|
2035
2131
|
return node;
|
|
@@ -2041,10 +2137,8 @@ export function JSXAttribute(props: {
|
|
|
2041
2137
|
}): DetachedNode<JSXAttributeType> {
|
|
2042
2138
|
const node = detachedProps<JSXAttributeType>(props.parent, {
|
|
2043
2139
|
type: 'JSXAttribute',
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
// $FlowFixMe[incompatible-call],
|
|
2047
|
-
value: asDetachedNode(props.value),
|
|
2140
|
+
name: asDetachedNodeForCodeGen(props.name),
|
|
2141
|
+
value: asDetachedNodeForCodeGen(props.value),
|
|
2048
2142
|
});
|
|
2049
2143
|
setParentPointersInDirectChildren(node);
|
|
2050
2144
|
return node;
|
|
@@ -2056,8 +2150,7 @@ export function JSXClosingElement(props: {
|
|
|
2056
2150
|
}): DetachedNode<JSXClosingElementType> {
|
|
2057
2151
|
const node = detachedProps<JSXClosingElementType>(props.parent, {
|
|
2058
2152
|
type: 'JSXClosingElement',
|
|
2059
|
-
|
|
2060
|
-
name: asDetachedNode(props.name),
|
|
2153
|
+
name: asDetachedNodeForCodeGen(props.name),
|
|
2061
2154
|
});
|
|
2062
2155
|
setParentPointersInDirectChildren(node);
|
|
2063
2156
|
return node;
|
|
@@ -2079,12 +2172,9 @@ export function JSXElement(props: {
|
|
|
2079
2172
|
}): DetachedNode<JSXElementType> {
|
|
2080
2173
|
const node = detachedProps<JSXElementType>(props.parent, {
|
|
2081
2174
|
type: 'JSXElement',
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
children: props.children.map(n => asDetachedNode(n)),
|
|
2086
|
-
// $FlowFixMe[incompatible-call],
|
|
2087
|
-
closingElement: asDetachedNode(props.closingElement),
|
|
2175
|
+
openingElement: asDetachedNodeForCodeGen(props.openingElement),
|
|
2176
|
+
children: props.children.map(n => asDetachedNodeForCodeGen(n)),
|
|
2177
|
+
closingElement: asDetachedNodeForCodeGen(props.closingElement),
|
|
2088
2178
|
});
|
|
2089
2179
|
setParentPointersInDirectChildren(node);
|
|
2090
2180
|
return node;
|
|
@@ -2106,8 +2196,7 @@ export function JSXExpressionContainer(props: {
|
|
|
2106
2196
|
}): DetachedNode<JSXExpressionContainerType> {
|
|
2107
2197
|
const node = detachedProps<JSXExpressionContainerType>(props.parent, {
|
|
2108
2198
|
type: 'JSXExpressionContainer',
|
|
2109
|
-
|
|
2110
|
-
expression: asDetachedNode(props.expression),
|
|
2199
|
+
expression: asDetachedNodeForCodeGen(props.expression),
|
|
2111
2200
|
});
|
|
2112
2201
|
setParentPointersInDirectChildren(node);
|
|
2113
2202
|
return node;
|
|
@@ -2119,12 +2208,9 @@ export function JSXFragment(props: {
|
|
|
2119
2208
|
}): DetachedNode<JSXFragmentType> {
|
|
2120
2209
|
const node = detachedProps<JSXFragmentType>(props.parent, {
|
|
2121
2210
|
type: 'JSXFragment',
|
|
2122
|
-
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
children: props.children.map(n => asDetachedNode(n)),
|
|
2126
|
-
// $FlowFixMe[incompatible-call],
|
|
2127
|
-
closingFragment: asDetachedNode(props.closingFragment),
|
|
2211
|
+
openingFragment: asDetachedNodeForCodeGen(props.openingFragment),
|
|
2212
|
+
children: props.children.map(n => asDetachedNodeForCodeGen(n)),
|
|
2213
|
+
closingFragment: asDetachedNodeForCodeGen(props.closingFragment),
|
|
2128
2214
|
});
|
|
2129
2215
|
setParentPointersInDirectChildren(node);
|
|
2130
2216
|
return node;
|
|
@@ -2148,10 +2234,8 @@ export function JSXMemberExpression(props: {
|
|
|
2148
2234
|
}): DetachedNode<JSXMemberExpressionType> {
|
|
2149
2235
|
const node = detachedProps<JSXMemberExpressionType>(props.parent, {
|
|
2150
2236
|
type: 'JSXMemberExpression',
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
// $FlowFixMe[incompatible-call],
|
|
2154
|
-
property: asDetachedNode(props.property),
|
|
2237
|
+
object: asDetachedNodeForCodeGen(props.object),
|
|
2238
|
+
property: asDetachedNodeForCodeGen(props.property),
|
|
2155
2239
|
});
|
|
2156
2240
|
setParentPointersInDirectChildren(node);
|
|
2157
2241
|
return node;
|
|
@@ -2163,10 +2247,8 @@ export function JSXNamespacedName(props: {
|
|
|
2163
2247
|
}): DetachedNode<JSXNamespacedNameType> {
|
|
2164
2248
|
const node = detachedProps<JSXNamespacedNameType>(props.parent, {
|
|
2165
2249
|
type: 'JSXNamespacedName',
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
// $FlowFixMe[incompatible-call],
|
|
2169
|
-
name: asDetachedNode(props.name),
|
|
2250
|
+
namespace: asDetachedNodeForCodeGen(props.namespace),
|
|
2251
|
+
name: asDetachedNodeForCodeGen(props.name),
|
|
2170
2252
|
});
|
|
2171
2253
|
setParentPointersInDirectChildren(node);
|
|
2172
2254
|
return node;
|
|
@@ -2178,11 +2260,10 @@ export function JSXOpeningElement(props: {
|
|
|
2178
2260
|
}): DetachedNode<JSXOpeningElementType> {
|
|
2179
2261
|
const node = detachedProps<JSXOpeningElementType>(props.parent, {
|
|
2180
2262
|
type: 'JSXOpeningElement',
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
|
-
// $FlowFixMe[incompatible-call],
|
|
2184
|
-
attributes: props.attributes.map(n => asDetachedNode(n)),
|
|
2263
|
+
name: asDetachedNodeForCodeGen(props.name),
|
|
2264
|
+
attributes: props.attributes.map(n => asDetachedNodeForCodeGen(n)),
|
|
2185
2265
|
selfClosing: props.selfClosing,
|
|
2266
|
+
typeArguments: asDetachedNodeForCodeGen(props.typeArguments),
|
|
2186
2267
|
});
|
|
2187
2268
|
setParentPointersInDirectChildren(node);
|
|
2188
2269
|
return node;
|
|
@@ -2204,8 +2285,7 @@ export function JSXSpreadAttribute(props: {
|
|
|
2204
2285
|
}): DetachedNode<JSXSpreadAttributeType> {
|
|
2205
2286
|
const node = detachedProps<JSXSpreadAttributeType>(props.parent, {
|
|
2206
2287
|
type: 'JSXSpreadAttribute',
|
|
2207
|
-
|
|
2208
|
-
argument: asDetachedNode(props.argument),
|
|
2288
|
+
argument: asDetachedNodeForCodeGen(props.argument),
|
|
2209
2289
|
});
|
|
2210
2290
|
setParentPointersInDirectChildren(node);
|
|
2211
2291
|
return node;
|
|
@@ -2217,8 +2297,7 @@ export function JSXSpreadChild(props: {
|
|
|
2217
2297
|
}): DetachedNode<JSXSpreadChildType> {
|
|
2218
2298
|
const node = detachedProps<JSXSpreadChildType>(props.parent, {
|
|
2219
2299
|
type: 'JSXSpreadChild',
|
|
2220
|
-
|
|
2221
|
-
expression: asDetachedNode(props.expression),
|
|
2300
|
+
expression: asDetachedNodeForCodeGen(props.expression),
|
|
2222
2301
|
});
|
|
2223
2302
|
setParentPointersInDirectChildren(node);
|
|
2224
2303
|
return node;
|
|
@@ -2237,16 +2316,26 @@ export function JSXText(props: {
|
|
|
2237
2316
|
return node;
|
|
2238
2317
|
}
|
|
2239
2318
|
|
|
2319
|
+
export function KeyofTypeAnnotation(props: {
|
|
2320
|
+
...$ReadOnly<KeyofTypeAnnotationProps>,
|
|
2321
|
+
+parent?: ESNode,
|
|
2322
|
+
}): DetachedNode<KeyofTypeAnnotationType> {
|
|
2323
|
+
const node = detachedProps<KeyofTypeAnnotationType>(props.parent, {
|
|
2324
|
+
type: 'KeyofTypeAnnotation',
|
|
2325
|
+
argument: asDetachedNodeForCodeGen(props.argument),
|
|
2326
|
+
});
|
|
2327
|
+
setParentPointersInDirectChildren(node);
|
|
2328
|
+
return node;
|
|
2329
|
+
}
|
|
2330
|
+
|
|
2240
2331
|
export function LabeledStatement(props: {
|
|
2241
2332
|
...$ReadOnly<LabeledStatementProps>,
|
|
2242
2333
|
+parent?: ESNode,
|
|
2243
2334
|
}): DetachedNode<LabeledStatementType> {
|
|
2244
2335
|
const node = detachedProps<LabeledStatementType>(props.parent, {
|
|
2245
2336
|
type: 'LabeledStatement',
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
// $FlowFixMe[incompatible-call],
|
|
2249
|
-
body: asDetachedNode(props.body),
|
|
2337
|
+
label: asDetachedNodeForCodeGen(props.label),
|
|
2338
|
+
body: asDetachedNodeForCodeGen(props.body),
|
|
2250
2339
|
});
|
|
2251
2340
|
setParentPointersInDirectChildren(node);
|
|
2252
2341
|
return node;
|
|
@@ -2258,42 +2347,22 @@ export function LogicalExpression(props: {
|
|
|
2258
2347
|
}): DetachedNode<LogicalExpressionType> {
|
|
2259
2348
|
const node = detachedProps<LogicalExpressionType>(props.parent, {
|
|
2260
2349
|
type: 'LogicalExpression',
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
// $FlowFixMe[incompatible-call],
|
|
2264
|
-
right: asDetachedNode(props.right),
|
|
2350
|
+
left: asDetachedNodeForCodeGen(props.left),
|
|
2351
|
+
right: asDetachedNodeForCodeGen(props.right),
|
|
2265
2352
|
operator: props.operator,
|
|
2266
2353
|
});
|
|
2267
2354
|
setParentPointersInDirectChildren(node);
|
|
2268
2355
|
return node;
|
|
2269
2356
|
}
|
|
2270
2357
|
|
|
2271
|
-
export function MemberExpression(props: {
|
|
2272
|
-
...$ReadOnly<MemberExpressionProps>,
|
|
2273
|
-
+parent?: ESNode,
|
|
2274
|
-
}): DetachedNode<MemberExpressionType> {
|
|
2275
|
-
const node = detachedProps<MemberExpressionType>(props.parent, {
|
|
2276
|
-
type: 'MemberExpression',
|
|
2277
|
-
// $FlowFixMe[incompatible-call],
|
|
2278
|
-
object: asDetachedNode(props.object),
|
|
2279
|
-
// $FlowFixMe[incompatible-call],
|
|
2280
|
-
property: asDetachedNode(props.property),
|
|
2281
|
-
computed: props.computed,
|
|
2282
|
-
});
|
|
2283
|
-
setParentPointersInDirectChildren(node);
|
|
2284
|
-
return node;
|
|
2285
|
-
}
|
|
2286
|
-
|
|
2287
2358
|
export function MetaProperty(props: {
|
|
2288
2359
|
...$ReadOnly<MetaPropertyProps>,
|
|
2289
2360
|
+parent?: ESNode,
|
|
2290
2361
|
}): DetachedNode<MetaPropertyType> {
|
|
2291
2362
|
const node = detachedProps<MetaPropertyType>(props.parent, {
|
|
2292
2363
|
type: 'MetaProperty',
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
// $FlowFixMe[incompatible-call],
|
|
2296
|
-
property: asDetachedNode(props.property),
|
|
2364
|
+
meta: asDetachedNodeForCodeGen(props.meta),
|
|
2365
|
+
property: asDetachedNodeForCodeGen(props.property),
|
|
2297
2366
|
});
|
|
2298
2367
|
setParentPointersInDirectChildren(node);
|
|
2299
2368
|
return node;
|
|
@@ -2305,10 +2374,8 @@ export function MethodDefinition(props: {
|
|
|
2305
2374
|
}): DetachedNode<MethodDefinitionType> {
|
|
2306
2375
|
const node = detachedProps<MethodDefinitionType>(props.parent, {
|
|
2307
2376
|
type: 'MethodDefinition',
|
|
2308
|
-
|
|
2309
|
-
|
|
2310
|
-
// $FlowFixMe[incompatible-call],
|
|
2311
|
-
value: asDetachedNode(props.value),
|
|
2377
|
+
key: asDetachedNodeForCodeGen(props.key),
|
|
2378
|
+
value: asDetachedNodeForCodeGen(props.value),
|
|
2312
2379
|
kind: props.kind,
|
|
2313
2380
|
computed: props.computed,
|
|
2314
2381
|
static: props.static,
|
|
@@ -2333,12 +2400,9 @@ export function NewExpression(props: {
|
|
|
2333
2400
|
}): DetachedNode<NewExpressionType> {
|
|
2334
2401
|
const node = detachedProps<NewExpressionType>(props.parent, {
|
|
2335
2402
|
type: 'NewExpression',
|
|
2336
|
-
|
|
2337
|
-
|
|
2338
|
-
|
|
2339
|
-
typeArguments: asDetachedNode(props.typeArguments),
|
|
2340
|
-
// $FlowFixMe[incompatible-call],
|
|
2341
|
-
arguments: props.arguments.map(n => asDetachedNode(n)),
|
|
2403
|
+
callee: asDetachedNodeForCodeGen(props.callee),
|
|
2404
|
+
typeArguments: asDetachedNodeForCodeGen(props.typeArguments),
|
|
2405
|
+
arguments: props.arguments.map(n => asDetachedNodeForCodeGen(n)),
|
|
2342
2406
|
});
|
|
2343
2407
|
setParentPointersInDirectChildren(node);
|
|
2344
2408
|
return node;
|
|
@@ -2350,8 +2414,7 @@ export function NullableTypeAnnotation(props: {
|
|
|
2350
2414
|
}): DetachedNode<NullableTypeAnnotationType> {
|
|
2351
2415
|
const node = detachedProps<NullableTypeAnnotationType>(props.parent, {
|
|
2352
2416
|
type: 'NullableTypeAnnotation',
|
|
2353
|
-
|
|
2354
|
-
typeAnnotation: asDetachedNode(props.typeAnnotation),
|
|
2417
|
+
typeAnnotation: asDetachedNodeForCodeGen(props.typeAnnotation),
|
|
2355
2418
|
});
|
|
2356
2419
|
setParentPointersInDirectChildren(node);
|
|
2357
2420
|
return node;
|
|
@@ -2396,8 +2459,7 @@ export function ObjectExpression(props: {
|
|
|
2396
2459
|
}): DetachedNode<ObjectExpressionType> {
|
|
2397
2460
|
const node = detachedProps<ObjectExpressionType>(props.parent, {
|
|
2398
2461
|
type: 'ObjectExpression',
|
|
2399
|
-
|
|
2400
|
-
properties: props.properties.map(n => asDetachedNode(n)),
|
|
2462
|
+
properties: props.properties.map(n => asDetachedNodeForCodeGen(n)),
|
|
2401
2463
|
});
|
|
2402
2464
|
setParentPointersInDirectChildren(node);
|
|
2403
2465
|
return node;
|
|
@@ -2409,10 +2471,8 @@ export function ObjectPattern(props: {
|
|
|
2409
2471
|
}): DetachedNode<ObjectPatternType> {
|
|
2410
2472
|
const node = detachedProps<ObjectPatternType>(props.parent, {
|
|
2411
2473
|
type: 'ObjectPattern',
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
// $FlowFixMe[incompatible-call],
|
|
2415
|
-
typeAnnotation: asDetachedNode(props.typeAnnotation),
|
|
2474
|
+
properties: props.properties.map(n => asDetachedNodeForCodeGen(n)),
|
|
2475
|
+
typeAnnotation: asDetachedNodeForCodeGen(props.typeAnnotation),
|
|
2416
2476
|
});
|
|
2417
2477
|
setParentPointersInDirectChildren(node);
|
|
2418
2478
|
return node;
|
|
@@ -2424,14 +2484,10 @@ export function ObjectTypeAnnotation(props: {
|
|
|
2424
2484
|
}): DetachedNode<ObjectTypeAnnotationType> {
|
|
2425
2485
|
const node = detachedProps<ObjectTypeAnnotationType>(props.parent, {
|
|
2426
2486
|
type: 'ObjectTypeAnnotation',
|
|
2427
|
-
|
|
2428
|
-
|
|
2429
|
-
|
|
2430
|
-
|
|
2431
|
-
// $FlowFixMe[incompatible-call],
|
|
2432
|
-
callProperties: props.callProperties.map(n => asDetachedNode(n)),
|
|
2433
|
-
// $FlowFixMe[incompatible-call],
|
|
2434
|
-
internalSlots: props.internalSlots.map(n => asDetachedNode(n)),
|
|
2487
|
+
properties: props.properties.map(n => asDetachedNodeForCodeGen(n)),
|
|
2488
|
+
indexers: props.indexers.map(n => asDetachedNodeForCodeGen(n)),
|
|
2489
|
+
callProperties: props.callProperties.map(n => asDetachedNodeForCodeGen(n)),
|
|
2490
|
+
internalSlots: props.internalSlots.map(n => asDetachedNodeForCodeGen(n)),
|
|
2435
2491
|
inexact: props.inexact,
|
|
2436
2492
|
exact: props.exact,
|
|
2437
2493
|
});
|
|
@@ -2445,8 +2501,7 @@ export function ObjectTypeCallProperty(props: {
|
|
|
2445
2501
|
}): DetachedNode<ObjectTypeCallPropertyType> {
|
|
2446
2502
|
const node = detachedProps<ObjectTypeCallPropertyType>(props.parent, {
|
|
2447
2503
|
type: 'ObjectTypeCallProperty',
|
|
2448
|
-
|
|
2449
|
-
value: asDetachedNode(props.value),
|
|
2504
|
+
value: asDetachedNodeForCodeGen(props.value),
|
|
2450
2505
|
static: props.static,
|
|
2451
2506
|
});
|
|
2452
2507
|
setParentPointersInDirectChildren(node);
|
|
@@ -2459,15 +2514,11 @@ export function ObjectTypeIndexer(props: {
|
|
|
2459
2514
|
}): DetachedNode<ObjectTypeIndexerType> {
|
|
2460
2515
|
const node = detachedProps<ObjectTypeIndexerType>(props.parent, {
|
|
2461
2516
|
type: 'ObjectTypeIndexer',
|
|
2462
|
-
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
key: asDetachedNode(props.key),
|
|
2466
|
-
// $FlowFixMe[incompatible-call],
|
|
2467
|
-
value: asDetachedNode(props.value),
|
|
2517
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
2518
|
+
key: asDetachedNodeForCodeGen(props.key),
|
|
2519
|
+
value: asDetachedNodeForCodeGen(props.value),
|
|
2468
2520
|
static: props.static,
|
|
2469
|
-
|
|
2470
|
-
variance: asDetachedNode(props.variance),
|
|
2521
|
+
variance: asDetachedNodeForCodeGen(props.variance),
|
|
2471
2522
|
});
|
|
2472
2523
|
setParentPointersInDirectChildren(node);
|
|
2473
2524
|
return node;
|
|
@@ -2479,10 +2530,8 @@ export function ObjectTypeInternalSlot(props: {
|
|
|
2479
2530
|
}): DetachedNode<ObjectTypeInternalSlotType> {
|
|
2480
2531
|
const node = detachedProps<ObjectTypeInternalSlotType>(props.parent, {
|
|
2481
2532
|
type: 'ObjectTypeInternalSlot',
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
// $FlowFixMe[incompatible-call],
|
|
2485
|
-
value: asDetachedNode(props.value),
|
|
2533
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
2534
|
+
value: asDetachedNodeForCodeGen(props.value),
|
|
2486
2535
|
optional: props.optional,
|
|
2487
2536
|
static: props.static,
|
|
2488
2537
|
method: props.method,
|
|
@@ -2491,14 +2540,29 @@ export function ObjectTypeInternalSlot(props: {
|
|
|
2491
2540
|
return node;
|
|
2492
2541
|
}
|
|
2493
2542
|
|
|
2543
|
+
export function ObjectTypeMappedTypeProperty(props: {
|
|
2544
|
+
...$ReadOnly<ObjectTypeMappedTypePropertyProps>,
|
|
2545
|
+
+parent?: ESNode,
|
|
2546
|
+
}): DetachedNode<ObjectTypeMappedTypePropertyType> {
|
|
2547
|
+
const node = detachedProps<ObjectTypeMappedTypePropertyType>(props.parent, {
|
|
2548
|
+
type: 'ObjectTypeMappedTypeProperty',
|
|
2549
|
+
keyTparam: asDetachedNodeForCodeGen(props.keyTparam),
|
|
2550
|
+
propType: asDetachedNodeForCodeGen(props.propType),
|
|
2551
|
+
sourceType: asDetachedNodeForCodeGen(props.sourceType),
|
|
2552
|
+
variance: asDetachedNodeForCodeGen(props.variance),
|
|
2553
|
+
optional: props.optional,
|
|
2554
|
+
});
|
|
2555
|
+
setParentPointersInDirectChildren(node);
|
|
2556
|
+
return node;
|
|
2557
|
+
}
|
|
2558
|
+
|
|
2494
2559
|
export function ObjectTypeSpreadProperty(props: {
|
|
2495
2560
|
...$ReadOnly<ObjectTypeSpreadPropertyProps>,
|
|
2496
2561
|
+parent?: ESNode,
|
|
2497
2562
|
}): DetachedNode<ObjectTypeSpreadPropertyType> {
|
|
2498
2563
|
const node = detachedProps<ObjectTypeSpreadPropertyType>(props.parent, {
|
|
2499
2564
|
type: 'ObjectTypeSpreadProperty',
|
|
2500
|
-
|
|
2501
|
-
argument: asDetachedNode(props.argument),
|
|
2565
|
+
argument: asDetachedNodeForCodeGen(props.argument),
|
|
2502
2566
|
});
|
|
2503
2567
|
setParentPointersInDirectChildren(node);
|
|
2504
2568
|
return node;
|
|
@@ -2510,14 +2574,10 @@ export function OpaqueType(props: {
|
|
|
2510
2574
|
}): DetachedNode<OpaqueTypeType> {
|
|
2511
2575
|
const node = detachedProps<OpaqueTypeType>(props.parent, {
|
|
2512
2576
|
type: 'OpaqueType',
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
|
|
2517
|
-
// $FlowFixMe[incompatible-call],
|
|
2518
|
-
impltype: asDetachedNode(props.impltype),
|
|
2519
|
-
// $FlowFixMe[incompatible-call],
|
|
2520
|
-
supertype: asDetachedNode(props.supertype),
|
|
2577
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
2578
|
+
typeParameters: asDetachedNodeForCodeGen(props.typeParameters),
|
|
2579
|
+
impltype: asDetachedNodeForCodeGen(props.impltype),
|
|
2580
|
+
supertype: asDetachedNodeForCodeGen(props.supertype),
|
|
2521
2581
|
});
|
|
2522
2582
|
setParentPointersInDirectChildren(node);
|
|
2523
2583
|
return node;
|
|
@@ -2529,10 +2589,8 @@ export function OptionalIndexedAccessType(props: {
|
|
|
2529
2589
|
}): DetachedNode<OptionalIndexedAccessTypeType> {
|
|
2530
2590
|
const node = detachedProps<OptionalIndexedAccessTypeType>(props.parent, {
|
|
2531
2591
|
type: 'OptionalIndexedAccessType',
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
// $FlowFixMe[incompatible-call],
|
|
2535
|
-
indexType: asDetachedNode(props.indexType),
|
|
2592
|
+
objectType: asDetachedNodeForCodeGen(props.objectType),
|
|
2593
|
+
indexType: asDetachedNodeForCodeGen(props.indexType),
|
|
2536
2594
|
optional: props.optional,
|
|
2537
2595
|
});
|
|
2538
2596
|
setParentPointersInDirectChildren(node);
|
|
@@ -2557,10 +2615,8 @@ export function Property(props: {
|
|
|
2557
2615
|
}): DetachedNode<PropertyType> {
|
|
2558
2616
|
const node = detachedProps<PropertyType>(props.parent, {
|
|
2559
2617
|
type: 'Property',
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
// $FlowFixMe[incompatible-call],
|
|
2563
|
-
value: asDetachedNode(props.value),
|
|
2618
|
+
key: asDetachedNodeForCodeGen(props.key),
|
|
2619
|
+
value: asDetachedNodeForCodeGen(props.value),
|
|
2564
2620
|
kind: props.kind,
|
|
2565
2621
|
computed: props.computed,
|
|
2566
2622
|
method: props.method,
|
|
@@ -2576,20 +2632,15 @@ export function PropertyDefinition(props: {
|
|
|
2576
2632
|
}): DetachedNode<PropertyDefinitionType> {
|
|
2577
2633
|
const node = detachedProps<PropertyDefinitionType>(props.parent, {
|
|
2578
2634
|
type: 'PropertyDefinition',
|
|
2579
|
-
|
|
2580
|
-
|
|
2581
|
-
// $FlowFixMe[incompatible-call],
|
|
2582
|
-
value: asDetachedNode(props.value),
|
|
2635
|
+
key: asDetachedNodeForCodeGen(props.key),
|
|
2636
|
+
value: asDetachedNodeForCodeGen(props.value),
|
|
2583
2637
|
computed: props.computed,
|
|
2584
2638
|
static: props.static,
|
|
2585
2639
|
declare: props.declare,
|
|
2586
2640
|
optional: props.optional,
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
typeAnnotation: asDetachedNode(props.typeAnnotation),
|
|
2591
|
-
// $FlowFixMe[incompatible-call],
|
|
2592
|
-
tsModifiers: asDetachedNode(props.tsModifiers),
|
|
2641
|
+
variance: asDetachedNodeForCodeGen(props.variance),
|
|
2642
|
+
typeAnnotation: asDetachedNodeForCodeGen(props.typeAnnotation),
|
|
2643
|
+
tsModifiers: asDetachedNodeForCodeGen(props.tsModifiers),
|
|
2593
2644
|
});
|
|
2594
2645
|
setParentPointersInDirectChildren(node);
|
|
2595
2646
|
return node;
|
|
@@ -2601,10 +2652,21 @@ export function QualifiedTypeIdentifier(props: {
|
|
|
2601
2652
|
}): DetachedNode<QualifiedTypeIdentifierType> {
|
|
2602
2653
|
const node = detachedProps<QualifiedTypeIdentifierType>(props.parent, {
|
|
2603
2654
|
type: 'QualifiedTypeIdentifier',
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
|
|
2655
|
+
qualification: asDetachedNodeForCodeGen(props.qualification),
|
|
2656
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
2657
|
+
});
|
|
2658
|
+
setParentPointersInDirectChildren(node);
|
|
2659
|
+
return node;
|
|
2660
|
+
}
|
|
2661
|
+
|
|
2662
|
+
export function QualifiedTypeofIdentifier(props: {
|
|
2663
|
+
...$ReadOnly<QualifiedTypeofIdentifierProps>,
|
|
2664
|
+
+parent?: ESNode,
|
|
2665
|
+
}): DetachedNode<QualifiedTypeofIdentifierType> {
|
|
2666
|
+
const node = detachedProps<QualifiedTypeofIdentifierType>(props.parent, {
|
|
2667
|
+
type: 'QualifiedTypeofIdentifier',
|
|
2668
|
+
qualification: asDetachedNodeForCodeGen(props.qualification),
|
|
2669
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
2608
2670
|
});
|
|
2609
2671
|
setParentPointersInDirectChildren(node);
|
|
2610
2672
|
return node;
|
|
@@ -2616,8 +2678,7 @@ export function RestElement(props: {
|
|
|
2616
2678
|
}): DetachedNode<RestElementType> {
|
|
2617
2679
|
const node = detachedProps<RestElementType>(props.parent, {
|
|
2618
2680
|
type: 'RestElement',
|
|
2619
|
-
|
|
2620
|
-
argument: asDetachedNode(props.argument),
|
|
2681
|
+
argument: asDetachedNodeForCodeGen(props.argument),
|
|
2621
2682
|
});
|
|
2622
2683
|
setParentPointersInDirectChildren(node);
|
|
2623
2684
|
return node;
|
|
@@ -2629,8 +2690,7 @@ export function ReturnStatement(props: {
|
|
|
2629
2690
|
}): DetachedNode<ReturnStatementType> {
|
|
2630
2691
|
const node = detachedProps<ReturnStatementType>(props.parent, {
|
|
2631
2692
|
type: 'ReturnStatement',
|
|
2632
|
-
|
|
2633
|
-
argument: asDetachedNode(props.argument),
|
|
2693
|
+
argument: asDetachedNodeForCodeGen(props.argument),
|
|
2634
2694
|
});
|
|
2635
2695
|
setParentPointersInDirectChildren(node);
|
|
2636
2696
|
return node;
|
|
@@ -2642,8 +2702,7 @@ export function SequenceExpression(props: {
|
|
|
2642
2702
|
}): DetachedNode<SequenceExpressionType> {
|
|
2643
2703
|
const node = detachedProps<SequenceExpressionType>(props.parent, {
|
|
2644
2704
|
type: 'SequenceExpression',
|
|
2645
|
-
|
|
2646
|
-
expressions: props.expressions.map(n => asDetachedNode(n)),
|
|
2705
|
+
expressions: props.expressions.map(n => asDetachedNodeForCodeGen(n)),
|
|
2647
2706
|
});
|
|
2648
2707
|
setParentPointersInDirectChildren(node);
|
|
2649
2708
|
return node;
|
|
@@ -2655,8 +2714,7 @@ export function SpreadElement(props: {
|
|
|
2655
2714
|
}): DetachedNode<SpreadElementType> {
|
|
2656
2715
|
const node = detachedProps<SpreadElementType>(props.parent, {
|
|
2657
2716
|
type: 'SpreadElement',
|
|
2658
|
-
|
|
2659
|
-
argument: asDetachedNode(props.argument),
|
|
2717
|
+
argument: asDetachedNodeForCodeGen(props.argument),
|
|
2660
2718
|
});
|
|
2661
2719
|
setParentPointersInDirectChildren(node);
|
|
2662
2720
|
return node;
|
|
@@ -2701,10 +2759,8 @@ export function SwitchCase(props: {
|
|
|
2701
2759
|
}): DetachedNode<SwitchCaseType> {
|
|
2702
2760
|
const node = detachedProps<SwitchCaseType>(props.parent, {
|
|
2703
2761
|
type: 'SwitchCase',
|
|
2704
|
-
|
|
2705
|
-
|
|
2706
|
-
// $FlowFixMe[incompatible-call],
|
|
2707
|
-
consequent: props.consequent.map(n => asDetachedNode(n)),
|
|
2762
|
+
test: asDetachedNodeForCodeGen(props.test),
|
|
2763
|
+
consequent: props.consequent.map(n => asDetachedNodeForCodeGen(n)),
|
|
2708
2764
|
});
|
|
2709
2765
|
setParentPointersInDirectChildren(node);
|
|
2710
2766
|
return node;
|
|
@@ -2716,10 +2772,8 @@ export function SwitchStatement(props: {
|
|
|
2716
2772
|
}): DetachedNode<SwitchStatementType> {
|
|
2717
2773
|
const node = detachedProps<SwitchStatementType>(props.parent, {
|
|
2718
2774
|
type: 'SwitchStatement',
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
// $FlowFixMe[incompatible-call],
|
|
2722
|
-
cases: props.cases.map(n => asDetachedNode(n)),
|
|
2775
|
+
discriminant: asDetachedNodeForCodeGen(props.discriminant),
|
|
2776
|
+
cases: props.cases.map(n => asDetachedNodeForCodeGen(n)),
|
|
2723
2777
|
});
|
|
2724
2778
|
setParentPointersInDirectChildren(node);
|
|
2725
2779
|
return node;
|
|
@@ -2741,10 +2795,8 @@ export function TaggedTemplateExpression(props: {
|
|
|
2741
2795
|
}): DetachedNode<TaggedTemplateExpressionType> {
|
|
2742
2796
|
const node = detachedProps<TaggedTemplateExpressionType>(props.parent, {
|
|
2743
2797
|
type: 'TaggedTemplateExpression',
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
// $FlowFixMe[incompatible-call],
|
|
2747
|
-
quasi: asDetachedNode(props.quasi),
|
|
2798
|
+
tag: asDetachedNodeForCodeGen(props.tag),
|
|
2799
|
+
quasi: asDetachedNodeForCodeGen(props.quasi),
|
|
2748
2800
|
});
|
|
2749
2801
|
setParentPointersInDirectChildren(node);
|
|
2750
2802
|
return node;
|
|
@@ -2756,10 +2808,8 @@ export function TemplateLiteral(props: {
|
|
|
2756
2808
|
}): DetachedNode<TemplateLiteralType> {
|
|
2757
2809
|
const node = detachedProps<TemplateLiteralType>(props.parent, {
|
|
2758
2810
|
type: 'TemplateLiteral',
|
|
2759
|
-
|
|
2760
|
-
|
|
2761
|
-
// $FlowFixMe[incompatible-call],
|
|
2762
|
-
expressions: props.expressions.map(n => asDetachedNode(n)),
|
|
2811
|
+
quasis: props.quasis.map(n => asDetachedNodeForCodeGen(n)),
|
|
2812
|
+
expressions: props.expressions.map(n => asDetachedNodeForCodeGen(n)),
|
|
2763
2813
|
});
|
|
2764
2814
|
setParentPointersInDirectChildren(node);
|
|
2765
2815
|
return node;
|
|
@@ -2791,8 +2841,7 @@ export function ThrowStatement(props: {
|
|
|
2791
2841
|
}): DetachedNode<ThrowStatementType> {
|
|
2792
2842
|
const node = detachedProps<ThrowStatementType>(props.parent, {
|
|
2793
2843
|
type: 'ThrowStatement',
|
|
2794
|
-
|
|
2795
|
-
argument: asDetachedNode(props.argument),
|
|
2844
|
+
argument: asDetachedNodeForCodeGen(props.argument),
|
|
2796
2845
|
});
|
|
2797
2846
|
setParentPointersInDirectChildren(node);
|
|
2798
2847
|
return node;
|
|
@@ -2804,12 +2853,9 @@ export function TryStatement(props: {
|
|
|
2804
2853
|
}): DetachedNode<TryStatementType> {
|
|
2805
2854
|
const node = detachedProps<TryStatementType>(props.parent, {
|
|
2806
2855
|
type: 'TryStatement',
|
|
2807
|
-
|
|
2808
|
-
|
|
2809
|
-
|
|
2810
|
-
handler: asDetachedNode(props.handler),
|
|
2811
|
-
// $FlowFixMe[incompatible-call],
|
|
2812
|
-
finalizer: asDetachedNode(props.finalizer),
|
|
2856
|
+
block: asDetachedNodeForCodeGen(props.block),
|
|
2857
|
+
handler: asDetachedNodeForCodeGen(props.handler),
|
|
2858
|
+
finalizer: asDetachedNodeForCodeGen(props.finalizer),
|
|
2813
2859
|
});
|
|
2814
2860
|
setParentPointersInDirectChildren(node);
|
|
2815
2861
|
return node;
|
|
@@ -2821,8 +2867,35 @@ export function TupleTypeAnnotation(props: {
|
|
|
2821
2867
|
}): DetachedNode<TupleTypeAnnotationType> {
|
|
2822
2868
|
const node = detachedProps<TupleTypeAnnotationType>(props.parent, {
|
|
2823
2869
|
type: 'TupleTypeAnnotation',
|
|
2824
|
-
|
|
2825
|
-
|
|
2870
|
+
types: props.types.map(n => asDetachedNodeForCodeGen(n)),
|
|
2871
|
+
});
|
|
2872
|
+
setParentPointersInDirectChildren(node);
|
|
2873
|
+
return node;
|
|
2874
|
+
}
|
|
2875
|
+
|
|
2876
|
+
export function TupleTypeLabeledElement(props: {
|
|
2877
|
+
...$ReadOnly<TupleTypeLabeledElementProps>,
|
|
2878
|
+
+parent?: ESNode,
|
|
2879
|
+
}): DetachedNode<TupleTypeLabeledElementType> {
|
|
2880
|
+
const node = detachedProps<TupleTypeLabeledElementType>(props.parent, {
|
|
2881
|
+
type: 'TupleTypeLabeledElement',
|
|
2882
|
+
label: asDetachedNodeForCodeGen(props.label),
|
|
2883
|
+
elementType: asDetachedNodeForCodeGen(props.elementType),
|
|
2884
|
+
optional: props.optional,
|
|
2885
|
+
variance: asDetachedNodeForCodeGen(props.variance),
|
|
2886
|
+
});
|
|
2887
|
+
setParentPointersInDirectChildren(node);
|
|
2888
|
+
return node;
|
|
2889
|
+
}
|
|
2890
|
+
|
|
2891
|
+
export function TupleTypeSpreadElement(props: {
|
|
2892
|
+
...$ReadOnly<TupleTypeSpreadElementProps>,
|
|
2893
|
+
+parent?: ESNode,
|
|
2894
|
+
}): DetachedNode<TupleTypeSpreadElementType> {
|
|
2895
|
+
const node = detachedProps<TupleTypeSpreadElementType>(props.parent, {
|
|
2896
|
+
type: 'TupleTypeSpreadElement',
|
|
2897
|
+
label: asDetachedNodeForCodeGen(props.label),
|
|
2898
|
+
typeAnnotation: asDetachedNodeForCodeGen(props.typeAnnotation),
|
|
2826
2899
|
});
|
|
2827
2900
|
setParentPointersInDirectChildren(node);
|
|
2828
2901
|
return node;
|
|
@@ -2834,12 +2907,9 @@ export function TypeAlias(props: {
|
|
|
2834
2907
|
}): DetachedNode<TypeAliasType> {
|
|
2835
2908
|
const node = detachedProps<TypeAliasType>(props.parent, {
|
|
2836
2909
|
type: 'TypeAlias',
|
|
2837
|
-
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
typeParameters: asDetachedNode(props.typeParameters),
|
|
2841
|
-
// $FlowFixMe[incompatible-call],
|
|
2842
|
-
right: asDetachedNode(props.right),
|
|
2910
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
2911
|
+
typeParameters: asDetachedNodeForCodeGen(props.typeParameters),
|
|
2912
|
+
right: asDetachedNodeForCodeGen(props.right),
|
|
2843
2913
|
});
|
|
2844
2914
|
setParentPointersInDirectChildren(node);
|
|
2845
2915
|
return node;
|
|
@@ -2851,8 +2921,7 @@ export function TypeAnnotation(props: {
|
|
|
2851
2921
|
}): DetachedNode<TypeAnnotationType> {
|
|
2852
2922
|
const node = detachedProps<TypeAnnotationType>(props.parent, {
|
|
2853
2923
|
type: 'TypeAnnotation',
|
|
2854
|
-
|
|
2855
|
-
typeAnnotation: asDetachedNode(props.typeAnnotation),
|
|
2924
|
+
typeAnnotation: asDetachedNodeForCodeGen(props.typeAnnotation),
|
|
2856
2925
|
});
|
|
2857
2926
|
setParentPointersInDirectChildren(node);
|
|
2858
2927
|
return node;
|
|
@@ -2864,10 +2933,8 @@ export function TypeCastExpression(props: {
|
|
|
2864
2933
|
}): DetachedNode<TypeCastExpressionType> {
|
|
2865
2934
|
const node = detachedProps<TypeCastExpressionType>(props.parent, {
|
|
2866
2935
|
type: 'TypeCastExpression',
|
|
2867
|
-
|
|
2868
|
-
|
|
2869
|
-
// $FlowFixMe[incompatible-call],
|
|
2870
|
-
typeAnnotation: asDetachedNode(props.typeAnnotation),
|
|
2936
|
+
expression: asDetachedNodeForCodeGen(props.expression),
|
|
2937
|
+
typeAnnotation: asDetachedNodeForCodeGen(props.typeAnnotation),
|
|
2871
2938
|
});
|
|
2872
2939
|
setParentPointersInDirectChildren(node);
|
|
2873
2940
|
return node;
|
|
@@ -2879,8 +2946,7 @@ export function TypeofTypeAnnotation(props: {
|
|
|
2879
2946
|
}): DetachedNode<TypeofTypeAnnotationType> {
|
|
2880
2947
|
const node = detachedProps<TypeofTypeAnnotationType>(props.parent, {
|
|
2881
2948
|
type: 'TypeofTypeAnnotation',
|
|
2882
|
-
|
|
2883
|
-
argument: asDetachedNode(props.argument),
|
|
2949
|
+
argument: asDetachedNodeForCodeGen(props.argument),
|
|
2884
2950
|
});
|
|
2885
2951
|
setParentPointersInDirectChildren(node);
|
|
2886
2952
|
return node;
|
|
@@ -2893,12 +2959,9 @@ export function TypeParameter(props: {
|
|
|
2893
2959
|
const node = detachedProps<TypeParameterType>(props.parent, {
|
|
2894
2960
|
type: 'TypeParameter',
|
|
2895
2961
|
name: props.name,
|
|
2896
|
-
|
|
2897
|
-
|
|
2898
|
-
|
|
2899
|
-
variance: asDetachedNode(props.variance),
|
|
2900
|
-
// $FlowFixMe[incompatible-call],
|
|
2901
|
-
default: asDetachedNode(props.default),
|
|
2962
|
+
bound: asDetachedNodeForCodeGen(props.bound),
|
|
2963
|
+
variance: asDetachedNodeForCodeGen(props.variance),
|
|
2964
|
+
default: asDetachedNodeForCodeGen(props.default),
|
|
2902
2965
|
});
|
|
2903
2966
|
setParentPointersInDirectChildren(node);
|
|
2904
2967
|
return node;
|
|
@@ -2910,8 +2973,7 @@ export function TypeParameterDeclaration(props: {
|
|
|
2910
2973
|
}): DetachedNode<TypeParameterDeclarationType> {
|
|
2911
2974
|
const node = detachedProps<TypeParameterDeclarationType>(props.parent, {
|
|
2912
2975
|
type: 'TypeParameterDeclaration',
|
|
2913
|
-
|
|
2914
|
-
params: props.params.map(n => asDetachedNode(n)),
|
|
2976
|
+
params: props.params.map(n => asDetachedNodeForCodeGen(n)),
|
|
2915
2977
|
});
|
|
2916
2978
|
setParentPointersInDirectChildren(node);
|
|
2917
2979
|
return node;
|
|
@@ -2923,8 +2985,21 @@ export function TypeParameterInstantiation(props: {
|
|
|
2923
2985
|
}): DetachedNode<TypeParameterInstantiationType> {
|
|
2924
2986
|
const node = detachedProps<TypeParameterInstantiationType>(props.parent, {
|
|
2925
2987
|
type: 'TypeParameterInstantiation',
|
|
2926
|
-
|
|
2927
|
-
|
|
2988
|
+
params: props.params.map(n => asDetachedNodeForCodeGen(n)),
|
|
2989
|
+
});
|
|
2990
|
+
setParentPointersInDirectChildren(node);
|
|
2991
|
+
return node;
|
|
2992
|
+
}
|
|
2993
|
+
|
|
2994
|
+
export function TypePredicate(props: {
|
|
2995
|
+
...$ReadOnly<TypePredicateProps>,
|
|
2996
|
+
+parent?: ESNode,
|
|
2997
|
+
}): DetachedNode<TypePredicateType> {
|
|
2998
|
+
const node = detachedProps<TypePredicateType>(props.parent, {
|
|
2999
|
+
type: 'TypePredicate',
|
|
3000
|
+
parameterName: asDetachedNodeForCodeGen(props.parameterName),
|
|
3001
|
+
typeAnnotation: asDetachedNodeForCodeGen(props.typeAnnotation),
|
|
3002
|
+
asserts: props.asserts,
|
|
2928
3003
|
});
|
|
2929
3004
|
setParentPointersInDirectChildren(node);
|
|
2930
3005
|
return node;
|
|
@@ -2937,8 +3012,7 @@ export function UnaryExpression(props: {
|
|
|
2937
3012
|
const node = detachedProps<UnaryExpressionType>(props.parent, {
|
|
2938
3013
|
type: 'UnaryExpression',
|
|
2939
3014
|
operator: props.operator,
|
|
2940
|
-
|
|
2941
|
-
argument: asDetachedNode(props.argument),
|
|
3015
|
+
argument: asDetachedNodeForCodeGen(props.argument),
|
|
2942
3016
|
prefix: props.prefix,
|
|
2943
3017
|
});
|
|
2944
3018
|
setParentPointersInDirectChildren(node);
|
|
@@ -2951,8 +3025,7 @@ export function UnionTypeAnnotation(props: {
|
|
|
2951
3025
|
}): DetachedNode<UnionTypeAnnotationType> {
|
|
2952
3026
|
const node = detachedProps<UnionTypeAnnotationType>(props.parent, {
|
|
2953
3027
|
type: 'UnionTypeAnnotation',
|
|
2954
|
-
|
|
2955
|
-
types: props.types.map(n => asDetachedNode(n)),
|
|
3028
|
+
types: props.types.map(n => asDetachedNodeForCodeGen(n)),
|
|
2956
3029
|
});
|
|
2957
3030
|
setParentPointersInDirectChildren(node);
|
|
2958
3031
|
return node;
|
|
@@ -2965,8 +3038,7 @@ export function UpdateExpression(props: {
|
|
|
2965
3038
|
const node = detachedProps<UpdateExpressionType>(props.parent, {
|
|
2966
3039
|
type: 'UpdateExpression',
|
|
2967
3040
|
operator: props.operator,
|
|
2968
|
-
|
|
2969
|
-
argument: asDetachedNode(props.argument),
|
|
3041
|
+
argument: asDetachedNodeForCodeGen(props.argument),
|
|
2970
3042
|
prefix: props.prefix,
|
|
2971
3043
|
});
|
|
2972
3044
|
setParentPointersInDirectChildren(node);
|
|
@@ -2980,8 +3052,7 @@ export function VariableDeclaration(props: {
|
|
|
2980
3052
|
const node = detachedProps<VariableDeclarationType>(props.parent, {
|
|
2981
3053
|
type: 'VariableDeclaration',
|
|
2982
3054
|
kind: props.kind,
|
|
2983
|
-
|
|
2984
|
-
declarations: props.declarations.map(n => asDetachedNode(n)),
|
|
3055
|
+
declarations: props.declarations.map(n => asDetachedNodeForCodeGen(n)),
|
|
2985
3056
|
});
|
|
2986
3057
|
setParentPointersInDirectChildren(node);
|
|
2987
3058
|
return node;
|
|
@@ -2993,10 +3064,8 @@ export function VariableDeclarator(props: {
|
|
|
2993
3064
|
}): DetachedNode<VariableDeclaratorType> {
|
|
2994
3065
|
const node = detachedProps<VariableDeclaratorType>(props.parent, {
|
|
2995
3066
|
type: 'VariableDeclarator',
|
|
2996
|
-
|
|
2997
|
-
|
|
2998
|
-
// $FlowFixMe[incompatible-call],
|
|
2999
|
-
id: asDetachedNode(props.id),
|
|
3067
|
+
init: asDetachedNodeForCodeGen(props.init),
|
|
3068
|
+
id: asDetachedNodeForCodeGen(props.id),
|
|
3000
3069
|
});
|
|
3001
3070
|
setParentPointersInDirectChildren(node);
|
|
3002
3071
|
return node;
|
|
@@ -3030,10 +3099,8 @@ export function WhileStatement(props: {
|
|
|
3030
3099
|
}): DetachedNode<WhileStatementType> {
|
|
3031
3100
|
const node = detachedProps<WhileStatementType>(props.parent, {
|
|
3032
3101
|
type: 'WhileStatement',
|
|
3033
|
-
|
|
3034
|
-
|
|
3035
|
-
// $FlowFixMe[incompatible-call],
|
|
3036
|
-
test: asDetachedNode(props.test),
|
|
3102
|
+
body: asDetachedNodeForCodeGen(props.body),
|
|
3103
|
+
test: asDetachedNodeForCodeGen(props.test),
|
|
3037
3104
|
});
|
|
3038
3105
|
setParentPointersInDirectChildren(node);
|
|
3039
3106
|
return node;
|
|
@@ -3045,10 +3112,8 @@ export function WithStatement(props: {
|
|
|
3045
3112
|
}): DetachedNode<WithStatementType> {
|
|
3046
3113
|
const node = detachedProps<WithStatementType>(props.parent, {
|
|
3047
3114
|
type: 'WithStatement',
|
|
3048
|
-
|
|
3049
|
-
|
|
3050
|
-
// $FlowFixMe[incompatible-call],
|
|
3051
|
-
body: asDetachedNode(props.body),
|
|
3115
|
+
object: asDetachedNodeForCodeGen(props.object),
|
|
3116
|
+
body: asDetachedNodeForCodeGen(props.body),
|
|
3052
3117
|
});
|
|
3053
3118
|
setParentPointersInDirectChildren(node);
|
|
3054
3119
|
return node;
|
|
@@ -3060,8 +3125,7 @@ export function YieldExpression(props: {
|
|
|
3060
3125
|
}): DetachedNode<YieldExpressionType> {
|
|
3061
3126
|
const node = detachedProps<YieldExpressionType>(props.parent, {
|
|
3062
3127
|
type: 'YieldExpression',
|
|
3063
|
-
|
|
3064
|
-
argument: asDetachedNode(props.argument),
|
|
3128
|
+
argument: asDetachedNodeForCodeGen(props.argument),
|
|
3065
3129
|
delegate: props.delegate,
|
|
3066
3130
|
});
|
|
3067
3131
|
setParentPointersInDirectChildren(node);
|