hermes-transform 0.9.0 → 0.10.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.
Files changed (62) hide show
  1. package/dist/detachedNode.js +9 -27
  2. package/dist/detachedNode.js.flow +18 -31
  3. package/dist/generated/TransformCloneSignatures.js.flow +18 -0
  4. package/dist/generated/TransformModifySignatures.js.flow +14 -0
  5. package/dist/generated/TransformReplaceSignatures.js.flow +15 -1
  6. package/dist/generated/node-types.js +253 -59
  7. package/dist/generated/node-types.js.flow +257 -102
  8. package/dist/generated/special-case-node-types/Comment.js +36 -0
  9. package/dist/generated/special-case-node-types/Comment.js.flow +36 -0
  10. package/dist/generated/special-case-node-types/DeclareExportDeclaration.js +55 -0
  11. package/dist/generated/special-case-node-types/DeclareExportDeclaration.js.flow +97 -0
  12. package/dist/generated/special-case-node-types/ExportNamedDeclaration.js +42 -0
  13. package/dist/generated/special-case-node-types/ExportNamedDeclaration.js.flow +75 -0
  14. package/dist/generated/special-case-node-types/Literal.js +97 -0
  15. package/dist/generated/special-case-node-types/Literal.js.flow +139 -0
  16. package/dist/generated/special-case-node-types/ObjectTypeProperty.js +73 -0
  17. package/dist/generated/special-case-node-types/ObjectTypeProperty.js.flow +107 -0
  18. package/dist/generated/special-case-node-types/Property.js +136 -0
  19. package/dist/generated/special-case-node-types/Property.js.flow +237 -0
  20. package/dist/generated/special-case-node-types/misc.js +119 -0
  21. package/dist/generated/special-case-node-types/misc.js.flow +205 -0
  22. package/dist/generated/special-case-node-types.js +42 -174
  23. package/dist/generated/special-case-node-types.js.flow +7 -274
  24. package/dist/index.js +19 -3
  25. package/dist/index.js.flow +6 -2
  26. package/dist/transform/TransformContext.js +1 -1
  27. package/dist/transform/TransformContext.js.flow +2 -2
  28. package/dist/transform/comments/comments.js +11 -0
  29. package/dist/transform/comments/comments.js.flow +16 -1
  30. package/dist/transform/comments/prettier/main/comments.js +1 -1
  31. package/dist/transform/comments/prettier/main/comments.js.flow +2 -1
  32. package/dist/transform/mutations/InsertStatement.js +3 -3
  33. package/dist/transform/mutations/InsertStatement.js.flow +3 -3
  34. package/dist/transform/mutations/RemoveComment.js +3 -3
  35. package/dist/transform/mutations/RemoveComment.js.flow +3 -5
  36. package/dist/transform/mutations/RemoveNode.js +2 -2
  37. package/dist/transform/mutations/RemoveNode.js.flow +2 -2
  38. package/dist/transform/mutations/RemoveStatement.js +2 -2
  39. package/dist/transform/mutations/RemoveStatement.js.flow +2 -2
  40. package/dist/transform/mutations/ReplaceNode.js +4 -6
  41. package/dist/transform/mutations/ReplaceNode.js.flow +2 -3
  42. package/dist/transform/mutations/ReplaceStatementWithMany.js +2 -2
  43. package/dist/transform/mutations/ReplaceStatementWithMany.js.flow +2 -2
  44. package/dist/transform/mutations/utils/getStatementParent.js +3 -2
  45. package/dist/transform/mutations/utils/getStatementParent.js.flow +5 -2
  46. package/dist/transform/parse.js +55 -0
  47. package/dist/transform/parse.js.flow +55 -0
  48. package/dist/transform/print.js +160 -0
  49. package/dist/transform/print.js.flow +176 -0
  50. package/dist/transform/transform.js +6 -67
  51. package/dist/transform/transform.js.flow +6 -69
  52. package/dist/transform/{getTransformedAST.js → transformAST.js} +7 -31
  53. package/dist/transform/{getTransformedAST.js.flow → transformAST.js.flow} +7 -32
  54. package/dist/traverse/traverse.js +36 -35
  55. package/dist/traverse/traverse.js.flow +45 -26
  56. package/package.json +5 -4
  57. package/dist/getVisitorKeys.js +0 -33
  58. package/dist/getVisitorKeys.js.flow +0 -31
  59. package/dist/transform/mutations/utils/arrayUtils.js +0 -43
  60. package/dist/transform/mutations/utils/arrayUtils.js.flow +0 -50
  61. package/dist/traverse/SimpleTraverser.js +0 -118
  62. package/dist/traverse/SimpleTraverser.js.flow +0 -112
@@ -6,6 +6,13 @@
6
6
  *
7
7
  * @flow strict-local
8
8
  * @format
9
+ * @generated
10
+ */
11
+
12
+ /*
13
+ * !!! GENERATED FILE !!!
14
+ *
15
+ * Any manual changes to this file will be overwritten. To regenerate run `yarn build`.
9
16
  */
10
17
 
11
18
  // lint directives to let us do some basic validation of generated files
@@ -24,6 +31,7 @@ import type {
24
31
  AssignmentPattern as AssignmentPatternType,
25
32
  AwaitExpression as AwaitExpressionType,
26
33
  BigIntLiteralTypeAnnotation as BigIntLiteralTypeAnnotationType,
34
+ BigIntTypeAnnotation as BigIntTypeAnnotationType,
27
35
  BinaryExpression as BinaryExpressionType,
28
36
  BlockStatement as BlockStatementType,
29
37
  BooleanLiteralTypeAnnotation as BooleanLiteralTypeAnnotationType,
@@ -41,8 +49,6 @@ import type {
41
49
  DeclareClass as DeclareClassType,
42
50
  DeclaredPredicate as DeclaredPredicateType,
43
51
  DeclareExportAllDeclaration as DeclareExportAllDeclarationType,
44
- DeclareExportDeclaration as DeclareExportDeclarationType,
45
- DeclareFunction as DeclareFunctionType,
46
52
  DeclareInterface as DeclareInterfaceType,
47
53
  DeclareModule as DeclareModuleType,
48
54
  DeclareModuleExports as DeclareModuleExportsType,
@@ -64,7 +70,6 @@ import type {
64
70
  ExistsTypeAnnotation as ExistsTypeAnnotationType,
65
71
  ExportAllDeclaration as ExportAllDeclarationType,
66
72
  ExportDefaultDeclaration as ExportDefaultDeclarationType,
67
- ExportNamedDeclaration as ExportNamedDeclarationType,
68
73
  ExportSpecifier as ExportSpecifierType,
69
74
  ExpressionStatement as ExpressionStatementType,
70
75
  ForInStatement as ForInStatementType,
@@ -120,7 +125,6 @@ import type {
120
125
  ObjectTypeCallProperty as ObjectTypeCallPropertyType,
121
126
  ObjectTypeIndexer as ObjectTypeIndexerType,
122
127
  ObjectTypeInternalSlot as ObjectTypeInternalSlotType,
123
- ObjectTypeProperty as ObjectTypePropertyType,
124
128
  ObjectTypeSpreadProperty as ObjectTypeSpreadPropertyType,
125
129
  OpaqueType as OpaqueTypeType,
126
130
  OptionalIndexedAccessType as OptionalIndexedAccessTypeType,
@@ -210,6 +214,8 @@ export type BigIntLiteralTypeAnnotationProps = {
210
214
  +raw: BigIntLiteralTypeAnnotationType['raw'],
211
215
  };
212
216
 
217
+ export type BigIntTypeAnnotationProps = {};
218
+
213
219
  export type BinaryExpressionProps = {
214
220
  +left: MaybeDetachedNode<BinaryExpressionType['left']>,
215
221
  +right: MaybeDetachedNode<BinaryExpressionType['right']>,
@@ -308,22 +314,6 @@ export type DeclareExportAllDeclarationProps = {
308
314
  +source: MaybeDetachedNode<DeclareExportAllDeclarationType['source']>,
309
315
  };
310
316
 
311
- export type DeclareExportDeclarationProps = {
312
- +declaration?: ?MaybeDetachedNode<
313
- DeclareExportDeclarationType['declaration'],
314
- >,
315
- +specifiers: $ReadOnlyArray<
316
- MaybeDetachedNode<DeclareExportDeclarationType['specifiers'][number]>,
317
- >,
318
- +source?: ?MaybeDetachedNode<DeclareExportDeclarationType['source']>,
319
- +default: DeclareExportDeclarationType['default'],
320
- };
321
-
322
- export type DeclareFunctionProps = {
323
- +id: MaybeDetachedNode<DeclareFunctionType['id']>,
324
- +predicate?: ?MaybeDetachedNode<DeclareFunctionType['predicate']>,
325
- };
326
-
327
317
  export type DeclareInterfaceProps = {
328
318
  +id: MaybeDetachedNode<DeclareInterfaceType['id']>,
329
319
  +typeParameters?: ?MaybeDetachedNode<DeclareInterfaceType['typeParameters']>,
@@ -438,15 +428,6 @@ export type ExportDefaultDeclarationProps = {
438
428
  +declaration: MaybeDetachedNode<ExportDefaultDeclarationType['declaration']>,
439
429
  };
440
430
 
441
- export type ExportNamedDeclarationProps = {
442
- +declaration?: ?MaybeDetachedNode<ExportNamedDeclarationType['declaration']>,
443
- +specifiers: $ReadOnlyArray<
444
- MaybeDetachedNode<ExportNamedDeclarationType['specifiers'][number]>,
445
- >,
446
- +source?: ?MaybeDetachedNode<ExportNamedDeclarationType['source']>,
447
- +exportKind: ExportNamedDeclarationType['exportKind'],
448
- };
449
-
450
431
  export type ExportSpecifierProps = {
451
432
  +exported: MaybeDetachedNode<ExportSpecifierType['exported']>,
452
433
  +local: MaybeDetachedNode<ExportSpecifierType['local']>,
@@ -785,17 +766,6 @@ export type ObjectTypeInternalSlotProps = {
785
766
  +method: ObjectTypeInternalSlotType['method'],
786
767
  };
787
768
 
788
- export type ObjectTypePropertyProps = {
789
- +key: MaybeDetachedNode<ObjectTypePropertyType['key']>,
790
- +value: MaybeDetachedNode<ObjectTypePropertyType['value']>,
791
- +method: ObjectTypePropertyType['method'],
792
- +optional: ObjectTypePropertyType['optional'],
793
- +static: ObjectTypePropertyType['static'],
794
- +proto: ObjectTypePropertyType['proto'],
795
- +variance?: ?MaybeDetachedNode<ObjectTypePropertyType['variance']>,
796
- +kind: ObjectTypePropertyType['kind'],
797
- };
798
-
799
769
  export type ObjectTypeSpreadPropertyProps = {
800
770
  +argument: MaybeDetachedNode<ObjectTypeSpreadPropertyType['argument']>,
801
771
  };
@@ -837,6 +807,7 @@ export type PropertyDefinitionProps = {
837
807
  +typeAnnotation?: ?MaybeDetachedNode<
838
808
  PropertyDefinitionType['typeAnnotation'],
839
809
  >,
810
+ +tsModifiers?: ?MaybeDetachedNode<PropertyDefinitionType['tsModifiers']>,
840
811
  };
841
812
 
842
813
  export type QualifiedTypeIdentifierProps = {
@@ -1028,6 +999,7 @@ export function ArrayExpression(props: {
1028
999
  }): DetachedNode<ArrayExpressionType> {
1029
1000
  const node = detachedProps<ArrayExpressionType>(props.parent, {
1030
1001
  type: 'ArrayExpression',
1002
+ // $FlowFixMe[incompatible-call],
1031
1003
  elements: props.elements.map(n => asDetachedNode(n)),
1032
1004
  trailingComma: props.trailingComma,
1033
1005
  });
@@ -1041,7 +1013,9 @@ export function ArrayPattern(props: {
1041
1013
  }): DetachedNode<ArrayPatternType> {
1042
1014
  const node = detachedProps<ArrayPatternType>(props.parent, {
1043
1015
  type: 'ArrayPattern',
1016
+ // $FlowFixMe[incompatible-call],
1044
1017
  elements: props.elements.map(n => asDetachedNode(n)),
1018
+ // $FlowFixMe[incompatible-call],
1045
1019
  typeAnnotation: asDetachedNode(props.typeAnnotation),
1046
1020
  });
1047
1021
  setParentPointersInDirectChildren(node);
@@ -1054,6 +1028,7 @@ export function ArrayTypeAnnotation(props: {
1054
1028
  }): DetachedNode<ArrayTypeAnnotationType> {
1055
1029
  const node = detachedProps<ArrayTypeAnnotationType>(props.parent, {
1056
1030
  type: 'ArrayTypeAnnotation',
1031
+ // $FlowFixMe[incompatible-call],
1057
1032
  elementType: asDetachedNode(props.elementType),
1058
1033
  });
1059
1034
  setParentPointersInDirectChildren(node);
@@ -1067,7 +1042,9 @@ export function AssignmentExpression(props: {
1067
1042
  const node = detachedProps<AssignmentExpressionType>(props.parent, {
1068
1043
  type: 'AssignmentExpression',
1069
1044
  operator: props.operator,
1045
+ // $FlowFixMe[incompatible-call],
1070
1046
  left: asDetachedNode(props.left),
1047
+ // $FlowFixMe[incompatible-call],
1071
1048
  right: asDetachedNode(props.right),
1072
1049
  });
1073
1050
  setParentPointersInDirectChildren(node);
@@ -1080,7 +1057,9 @@ export function AssignmentPattern(props: {
1080
1057
  }): DetachedNode<AssignmentPatternType> {
1081
1058
  const node = detachedProps<AssignmentPatternType>(props.parent, {
1082
1059
  type: 'AssignmentPattern',
1060
+ // $FlowFixMe[incompatible-call],
1083
1061
  left: asDetachedNode(props.left),
1062
+ // $FlowFixMe[incompatible-call],
1084
1063
  right: asDetachedNode(props.right),
1085
1064
  });
1086
1065
  setParentPointersInDirectChildren(node);
@@ -1093,6 +1072,7 @@ export function AwaitExpression(props: {
1093
1072
  }): DetachedNode<AwaitExpressionType> {
1094
1073
  const node = detachedProps<AwaitExpressionType>(props.parent, {
1095
1074
  type: 'AwaitExpression',
1075
+ // $FlowFixMe[incompatible-call],
1096
1076
  argument: asDetachedNode(props.argument),
1097
1077
  });
1098
1078
  setParentPointersInDirectChildren(node);
@@ -1111,13 +1091,25 @@ export function BigIntLiteralTypeAnnotation(props: {
1111
1091
  return node;
1112
1092
  }
1113
1093
 
1094
+ export function BigIntTypeAnnotation(
1095
+ props: {
1096
+ +parent?: ESNode,
1097
+ } = {...null},
1098
+ ): DetachedNode<BigIntTypeAnnotationType> {
1099
+ return detachedProps<BigIntTypeAnnotationType>(props.parent, {
1100
+ type: 'BigIntTypeAnnotation',
1101
+ });
1102
+ }
1103
+
1114
1104
  export function BinaryExpression(props: {
1115
1105
  ...$ReadOnly<BinaryExpressionProps>,
1116
1106
  +parent?: ESNode,
1117
1107
  }): DetachedNode<BinaryExpressionType> {
1118
1108
  const node = detachedProps<BinaryExpressionType>(props.parent, {
1119
1109
  type: 'BinaryExpression',
1110
+ // $FlowFixMe[incompatible-call],
1120
1111
  left: asDetachedNode(props.left),
1112
+ // $FlowFixMe[incompatible-call],
1121
1113
  right: asDetachedNode(props.right),
1122
1114
  operator: props.operator,
1123
1115
  });
@@ -1131,6 +1123,7 @@ export function BlockStatement(props: {
1131
1123
  }): DetachedNode<BlockStatementType> {
1132
1124
  const node = detachedProps<BlockStatementType>(props.parent, {
1133
1125
  type: 'BlockStatement',
1126
+ // $FlowFixMe[incompatible-call],
1134
1127
  body: props.body.map(n => asDetachedNode(n)),
1135
1128
  });
1136
1129
  setParentPointersInDirectChildren(node);
@@ -1166,6 +1159,7 @@ export function BreakStatement(props: {
1166
1159
  }): DetachedNode<BreakStatementType> {
1167
1160
  const node = detachedProps<BreakStatementType>(props.parent, {
1168
1161
  type: 'BreakStatement',
1162
+ // $FlowFixMe[incompatible-call],
1169
1163
  label: asDetachedNode(props.label),
1170
1164
  });
1171
1165
  setParentPointersInDirectChildren(node);
@@ -1178,8 +1172,11 @@ export function CallExpression(props: {
1178
1172
  }): DetachedNode<CallExpressionType> {
1179
1173
  const node = detachedProps<CallExpressionType>(props.parent, {
1180
1174
  type: 'CallExpression',
1175
+ // $FlowFixMe[incompatible-call],
1181
1176
  callee: asDetachedNode(props.callee),
1177
+ // $FlowFixMe[incompatible-call],
1182
1178
  typeArguments: asDetachedNode(props.typeArguments),
1179
+ // $FlowFixMe[incompatible-call],
1183
1180
  arguments: props.arguments.map(n => asDetachedNode(n)),
1184
1181
  });
1185
1182
  setParentPointersInDirectChildren(node);
@@ -1192,7 +1189,9 @@ export function CatchClause(props: {
1192
1189
  }): DetachedNode<CatchClauseType> {
1193
1190
  const node = detachedProps<CatchClauseType>(props.parent, {
1194
1191
  type: 'CatchClause',
1192
+ // $FlowFixMe[incompatible-call],
1195
1193
  param: asDetachedNode(props.param),
1194
+ // $FlowFixMe[incompatible-call],
1196
1195
  body: asDetachedNode(props.body),
1197
1196
  });
1198
1197
  setParentPointersInDirectChildren(node);
@@ -1205,6 +1204,7 @@ export function ChainExpression(props: {
1205
1204
  }): DetachedNode<ChainExpressionType> {
1206
1205
  const node = detachedProps<ChainExpressionType>(props.parent, {
1207
1206
  type: 'ChainExpression',
1207
+ // $FlowFixMe[incompatible-call],
1208
1208
  expression: asDetachedNode(props.expression),
1209
1209
  });
1210
1210
  setParentPointersInDirectChildren(node);
@@ -1217,6 +1217,7 @@ export function ClassBody(props: {
1217
1217
  }): DetachedNode<ClassBodyType> {
1218
1218
  const node = detachedProps<ClassBodyType>(props.parent, {
1219
1219
  type: 'ClassBody',
1220
+ // $FlowFixMe[incompatible-call],
1220
1221
  body: props.body.map(n => asDetachedNode(n)),
1221
1222
  });
1222
1223
  setParentPointersInDirectChildren(node);
@@ -1229,12 +1230,19 @@ export function ClassExpression(props: {
1229
1230
  }): DetachedNode<ClassExpressionType> {
1230
1231
  const node = detachedProps<ClassExpressionType>(props.parent, {
1231
1232
  type: 'ClassExpression',
1233
+ // $FlowFixMe[incompatible-call],
1232
1234
  id: asDetachedNode(props.id),
1235
+ // $FlowFixMe[incompatible-call],
1233
1236
  typeParameters: asDetachedNode(props.typeParameters),
1237
+ // $FlowFixMe[incompatible-call],
1234
1238
  superClass: asDetachedNode(props.superClass),
1239
+ // $FlowFixMe[incompatible-call],
1235
1240
  superTypeParameters: asDetachedNode(props.superTypeParameters),
1241
+ // $FlowFixMe[incompatible-call],
1236
1242
  implements: props.implements.map(n => asDetachedNode(n)),
1243
+ // $FlowFixMe[incompatible-call],
1237
1244
  decorators: props.decorators.map(n => asDetachedNode(n)),
1245
+ // $FlowFixMe[incompatible-call],
1238
1246
  body: asDetachedNode(props.body),
1239
1247
  });
1240
1248
  setParentPointersInDirectChildren(node);
@@ -1247,7 +1255,9 @@ export function ClassImplements(props: {
1247
1255
  }): DetachedNode<ClassImplementsType> {
1248
1256
  const node = detachedProps<ClassImplementsType>(props.parent, {
1249
1257
  type: 'ClassImplements',
1258
+ // $FlowFixMe[incompatible-call],
1250
1259
  id: asDetachedNode(props.id),
1260
+ // $FlowFixMe[incompatible-call],
1251
1261
  typeParameters: asDetachedNode(props.typeParameters),
1252
1262
  });
1253
1263
  setParentPointersInDirectChildren(node);
@@ -1260,8 +1270,11 @@ export function ConditionalExpression(props: {
1260
1270
  }): DetachedNode<ConditionalExpressionType> {
1261
1271
  const node = detachedProps<ConditionalExpressionType>(props.parent, {
1262
1272
  type: 'ConditionalExpression',
1273
+ // $FlowFixMe[incompatible-call],
1263
1274
  test: asDetachedNode(props.test),
1275
+ // $FlowFixMe[incompatible-call],
1264
1276
  alternate: asDetachedNode(props.alternate),
1277
+ // $FlowFixMe[incompatible-call],
1265
1278
  consequent: asDetachedNode(props.consequent),
1266
1279
  });
1267
1280
  setParentPointersInDirectChildren(node);
@@ -1274,6 +1287,7 @@ export function ContinueStatement(props: {
1274
1287
  }): DetachedNode<ContinueStatementType> {
1275
1288
  const node = detachedProps<ContinueStatementType>(props.parent, {
1276
1289
  type: 'ContinueStatement',
1290
+ // $FlowFixMe[incompatible-call],
1277
1291
  label: asDetachedNode(props.label),
1278
1292
  });
1279
1293
  setParentPointersInDirectChildren(node);
@@ -1296,11 +1310,17 @@ export function DeclareClass(props: {
1296
1310
  }): DetachedNode<DeclareClassType> {
1297
1311
  const node = detachedProps<DeclareClassType>(props.parent, {
1298
1312
  type: 'DeclareClass',
1313
+ // $FlowFixMe[incompatible-call],
1299
1314
  id: asDetachedNode(props.id),
1315
+ // $FlowFixMe[incompatible-call],
1300
1316
  typeParameters: asDetachedNode(props.typeParameters),
1317
+ // $FlowFixMe[incompatible-call],
1301
1318
  extends: props.extends.map(n => asDetachedNode(n)),
1319
+ // $FlowFixMe[incompatible-call],
1302
1320
  implements: props.implements.map(n => asDetachedNode(n)),
1321
+ // $FlowFixMe[incompatible-call],
1303
1322
  mixins: props.mixins.map(n => asDetachedNode(n)),
1323
+ // $FlowFixMe[incompatible-call],
1304
1324
  body: asDetachedNode(props.body),
1305
1325
  });
1306
1326
  setParentPointersInDirectChildren(node);
@@ -1313,6 +1333,7 @@ export function DeclaredPredicate(props: {
1313
1333
  }): DetachedNode<DeclaredPredicateType> {
1314
1334
  const node = detachedProps<DeclaredPredicateType>(props.parent, {
1315
1335
  type: 'DeclaredPredicate',
1336
+ // $FlowFixMe[incompatible-call],
1316
1337
  value: asDetachedNode(props.value),
1317
1338
  });
1318
1339
  setParentPointersInDirectChildren(node);
@@ -1325,49 +1346,26 @@ export function DeclareExportAllDeclaration(props: {
1325
1346
  }): DetachedNode<DeclareExportAllDeclarationType> {
1326
1347
  const node = detachedProps<DeclareExportAllDeclarationType>(props.parent, {
1327
1348
  type: 'DeclareExportAllDeclaration',
1349
+ // $FlowFixMe[incompatible-call],
1328
1350
  source: asDetachedNode(props.source),
1329
1351
  });
1330
1352
  setParentPointersInDirectChildren(node);
1331
1353
  return node;
1332
1354
  }
1333
1355
 
1334
- export function DeclareExportDeclaration(props: {
1335
- ...$ReadOnly<DeclareExportDeclarationProps>,
1336
- +parent?: ESNode,
1337
- }): DetachedNode<DeclareExportDeclarationType> {
1338
- const node = detachedProps<DeclareExportDeclarationType>(props.parent, {
1339
- type: 'DeclareExportDeclaration',
1340
- declaration: asDetachedNode(props.declaration),
1341
- specifiers: props.specifiers.map(n => asDetachedNode(n)),
1342
- source: asDetachedNode(props.source),
1343
- default: props.default,
1344
- });
1345
- setParentPointersInDirectChildren(node);
1346
- return node;
1347
- }
1348
-
1349
- export function DeclareFunction(props: {
1350
- ...$ReadOnly<DeclareFunctionProps>,
1351
- +parent?: ESNode,
1352
- }): DetachedNode<DeclareFunctionType> {
1353
- const node = detachedProps<DeclareFunctionType>(props.parent, {
1354
- type: 'DeclareFunction',
1355
- id: asDetachedNode(props.id),
1356
- predicate: asDetachedNode(props.predicate),
1357
- });
1358
- setParentPointersInDirectChildren(node);
1359
- return node;
1360
- }
1361
-
1362
1356
  export function DeclareInterface(props: {
1363
1357
  ...$ReadOnly<DeclareInterfaceProps>,
1364
1358
  +parent?: ESNode,
1365
1359
  }): DetachedNode<DeclareInterfaceType> {
1366
1360
  const node = detachedProps<DeclareInterfaceType>(props.parent, {
1367
1361
  type: 'DeclareInterface',
1362
+ // $FlowFixMe[incompatible-call],
1368
1363
  id: asDetachedNode(props.id),
1364
+ // $FlowFixMe[incompatible-call],
1369
1365
  typeParameters: asDetachedNode(props.typeParameters),
1366
+ // $FlowFixMe[incompatible-call],
1370
1367
  extends: props.extends.map(n => asDetachedNode(n)),
1368
+ // $FlowFixMe[incompatible-call],
1371
1369
  body: asDetachedNode(props.body),
1372
1370
  });
1373
1371
  setParentPointersInDirectChildren(node);
@@ -1380,7 +1378,9 @@ export function DeclareModule(props: {
1380
1378
  }): DetachedNode<DeclareModuleType> {
1381
1379
  const node = detachedProps<DeclareModuleType>(props.parent, {
1382
1380
  type: 'DeclareModule',
1381
+ // $FlowFixMe[incompatible-call],
1383
1382
  id: asDetachedNode(props.id),
1383
+ // $FlowFixMe[incompatible-call],
1384
1384
  body: asDetachedNode(props.body),
1385
1385
  kind: props.kind,
1386
1386
  });
@@ -1394,6 +1394,7 @@ export function DeclareModuleExports(props: {
1394
1394
  }): DetachedNode<DeclareModuleExportsType> {
1395
1395
  const node = detachedProps<DeclareModuleExportsType>(props.parent, {
1396
1396
  type: 'DeclareModuleExports',
1397
+ // $FlowFixMe[incompatible-call],
1397
1398
  typeAnnotation: asDetachedNode(props.typeAnnotation),
1398
1399
  });
1399
1400
  setParentPointersInDirectChildren(node);
@@ -1406,9 +1407,13 @@ export function DeclareOpaqueType(props: {
1406
1407
  }): DetachedNode<DeclareOpaqueTypeType> {
1407
1408
  const node = detachedProps<DeclareOpaqueTypeType>(props.parent, {
1408
1409
  type: 'DeclareOpaqueType',
1410
+ // $FlowFixMe[incompatible-call],
1409
1411
  id: asDetachedNode(props.id),
1412
+ // $FlowFixMe[incompatible-call],
1410
1413
  typeParameters: asDetachedNode(props.typeParameters),
1414
+ // $FlowFixMe[incompatible-call],
1411
1415
  impltype: asDetachedNode(props.impltype),
1416
+ // $FlowFixMe[incompatible-call],
1412
1417
  supertype: asDetachedNode(props.supertype),
1413
1418
  });
1414
1419
  setParentPointersInDirectChildren(node);
@@ -1421,8 +1426,11 @@ export function DeclareTypeAlias(props: {
1421
1426
  }): DetachedNode<DeclareTypeAliasType> {
1422
1427
  const node = detachedProps<DeclareTypeAliasType>(props.parent, {
1423
1428
  type: 'DeclareTypeAlias',
1429
+ // $FlowFixMe[incompatible-call],
1424
1430
  id: asDetachedNode(props.id),
1431
+ // $FlowFixMe[incompatible-call],
1425
1432
  typeParameters: asDetachedNode(props.typeParameters),
1433
+ // $FlowFixMe[incompatible-call],
1426
1434
  right: asDetachedNode(props.right),
1427
1435
  });
1428
1436
  setParentPointersInDirectChildren(node);
@@ -1435,6 +1443,7 @@ export function DeclareVariable(props: {
1435
1443
  }): DetachedNode<DeclareVariableType> {
1436
1444
  const node = detachedProps<DeclareVariableType>(props.parent, {
1437
1445
  type: 'DeclareVariable',
1446
+ // $FlowFixMe[incompatible-call],
1438
1447
  id: asDetachedNode(props.id),
1439
1448
  });
1440
1449
  setParentPointersInDirectChildren(node);
@@ -1447,7 +1456,9 @@ export function DoWhileStatement(props: {
1447
1456
  }): DetachedNode<DoWhileStatementType> {
1448
1457
  const node = detachedProps<DoWhileStatementType>(props.parent, {
1449
1458
  type: 'DoWhileStatement',
1459
+ // $FlowFixMe[incompatible-call],
1450
1460
  body: asDetachedNode(props.body),
1461
+ // $FlowFixMe[incompatible-call],
1451
1462
  test: asDetachedNode(props.test),
1452
1463
  });
1453
1464
  setParentPointersInDirectChildren(node);
@@ -1480,6 +1491,7 @@ export function EnumBooleanBody(props: {
1480
1491
  }): DetachedNode<EnumBooleanBodyType> {
1481
1492
  const node = detachedProps<EnumBooleanBodyType>(props.parent, {
1482
1493
  type: 'EnumBooleanBody',
1494
+ // $FlowFixMe[incompatible-call],
1483
1495
  members: props.members.map(n => asDetachedNode(n)),
1484
1496
  explicitType: props.explicitType,
1485
1497
  hasUnknownMembers: props.hasUnknownMembers,
@@ -1494,7 +1506,9 @@ export function EnumBooleanMember(props: {
1494
1506
  }): DetachedNode<EnumBooleanMemberType> {
1495
1507
  const node = detachedProps<EnumBooleanMemberType>(props.parent, {
1496
1508
  type: 'EnumBooleanMember',
1509
+ // $FlowFixMe[incompatible-call],
1497
1510
  id: asDetachedNode(props.id),
1511
+ // $FlowFixMe[incompatible-call],
1498
1512
  init: asDetachedNode(props.init),
1499
1513
  });
1500
1514
  setParentPointersInDirectChildren(node);
@@ -1507,7 +1521,9 @@ export function EnumDeclaration(props: {
1507
1521
  }): DetachedNode<EnumDeclarationType> {
1508
1522
  const node = detachedProps<EnumDeclarationType>(props.parent, {
1509
1523
  type: 'EnumDeclaration',
1524
+ // $FlowFixMe[incompatible-call],
1510
1525
  id: asDetachedNode(props.id),
1526
+ // $FlowFixMe[incompatible-call],
1511
1527
  body: asDetachedNode(props.body),
1512
1528
  });
1513
1529
  setParentPointersInDirectChildren(node);
@@ -1520,6 +1536,7 @@ export function EnumDefaultedMember(props: {
1520
1536
  }): DetachedNode<EnumDefaultedMemberType> {
1521
1537
  const node = detachedProps<EnumDefaultedMemberType>(props.parent, {
1522
1538
  type: 'EnumDefaultedMember',
1539
+ // $FlowFixMe[incompatible-call],
1523
1540
  id: asDetachedNode(props.id),
1524
1541
  });
1525
1542
  setParentPointersInDirectChildren(node);
@@ -1532,6 +1549,7 @@ export function EnumNumberBody(props: {
1532
1549
  }): DetachedNode<EnumNumberBodyType> {
1533
1550
  const node = detachedProps<EnumNumberBodyType>(props.parent, {
1534
1551
  type: 'EnumNumberBody',
1552
+ // $FlowFixMe[incompatible-call],
1535
1553
  members: props.members.map(n => asDetachedNode(n)),
1536
1554
  explicitType: props.explicitType,
1537
1555
  hasUnknownMembers: props.hasUnknownMembers,
@@ -1546,7 +1564,9 @@ export function EnumNumberMember(props: {
1546
1564
  }): DetachedNode<EnumNumberMemberType> {
1547
1565
  const node = detachedProps<EnumNumberMemberType>(props.parent, {
1548
1566
  type: 'EnumNumberMember',
1567
+ // $FlowFixMe[incompatible-call],
1549
1568
  id: asDetachedNode(props.id),
1569
+ // $FlowFixMe[incompatible-call],
1550
1570
  init: asDetachedNode(props.init),
1551
1571
  });
1552
1572
  setParentPointersInDirectChildren(node);
@@ -1559,6 +1579,7 @@ export function EnumStringBody(props: {
1559
1579
  }): DetachedNode<EnumStringBodyType> {
1560
1580
  const node = detachedProps<EnumStringBodyType>(props.parent, {
1561
1581
  type: 'EnumStringBody',
1582
+ // $FlowFixMe[incompatible-call],
1562
1583
  members: props.members.map(n => asDetachedNode(n)),
1563
1584
  explicitType: props.explicitType,
1564
1585
  hasUnknownMembers: props.hasUnknownMembers,
@@ -1573,7 +1594,9 @@ export function EnumStringMember(props: {
1573
1594
  }): DetachedNode<EnumStringMemberType> {
1574
1595
  const node = detachedProps<EnumStringMemberType>(props.parent, {
1575
1596
  type: 'EnumStringMember',
1597
+ // $FlowFixMe[incompatible-call],
1576
1598
  id: asDetachedNode(props.id),
1599
+ // $FlowFixMe[incompatible-call],
1577
1600
  init: asDetachedNode(props.init),
1578
1601
  });
1579
1602
  setParentPointersInDirectChildren(node);
@@ -1586,6 +1609,7 @@ export function EnumSymbolBody(props: {
1586
1609
  }): DetachedNode<EnumSymbolBodyType> {
1587
1610
  const node = detachedProps<EnumSymbolBodyType>(props.parent, {
1588
1611
  type: 'EnumSymbolBody',
1612
+ // $FlowFixMe[incompatible-call],
1589
1613
  members: props.members.map(n => asDetachedNode(n)),
1590
1614
  hasUnknownMembers: props.hasUnknownMembers,
1591
1615
  });
@@ -1609,7 +1633,9 @@ export function ExportAllDeclaration(props: {
1609
1633
  }): DetachedNode<ExportAllDeclarationType> {
1610
1634
  const node = detachedProps<ExportAllDeclarationType>(props.parent, {
1611
1635
  type: 'ExportAllDeclaration',
1636
+ // $FlowFixMe[incompatible-call],
1612
1637
  exported: asDetachedNode(props.exported),
1638
+ // $FlowFixMe[incompatible-call],
1613
1639
  source: asDetachedNode(props.source),
1614
1640
  exportKind: props.exportKind,
1615
1641
  });
@@ -1623,34 +1649,22 @@ export function ExportDefaultDeclaration(props: {
1623
1649
  }): DetachedNode<ExportDefaultDeclarationType> {
1624
1650
  const node = detachedProps<ExportDefaultDeclarationType>(props.parent, {
1625
1651
  type: 'ExportDefaultDeclaration',
1652
+ // $FlowFixMe[incompatible-call],
1626
1653
  declaration: asDetachedNode(props.declaration),
1627
1654
  });
1628
1655
  setParentPointersInDirectChildren(node);
1629
1656
  return node;
1630
1657
  }
1631
1658
 
1632
- export function ExportNamedDeclaration(props: {
1633
- ...$ReadOnly<ExportNamedDeclarationProps>,
1634
- +parent?: ESNode,
1635
- }): DetachedNode<ExportNamedDeclarationType> {
1636
- const node = detachedProps<ExportNamedDeclarationType>(props.parent, {
1637
- type: 'ExportNamedDeclaration',
1638
- declaration: asDetachedNode(props.declaration),
1639
- specifiers: props.specifiers.map(n => asDetachedNode(n)),
1640
- source: asDetachedNode(props.source),
1641
- exportKind: props.exportKind,
1642
- });
1643
- setParentPointersInDirectChildren(node);
1644
- return node;
1645
- }
1646
-
1647
1659
  export function ExportSpecifier(props: {
1648
1660
  ...$ReadOnly<ExportSpecifierProps>,
1649
1661
  +parent?: ESNode,
1650
1662
  }): DetachedNode<ExportSpecifierType> {
1651
1663
  const node = detachedProps<ExportSpecifierType>(props.parent, {
1652
1664
  type: 'ExportSpecifier',
1665
+ // $FlowFixMe[incompatible-call],
1653
1666
  exported: asDetachedNode(props.exported),
1667
+ // $FlowFixMe[incompatible-call],
1654
1668
  local: asDetachedNode(props.local),
1655
1669
  });
1656
1670
  setParentPointersInDirectChildren(node);
@@ -1663,6 +1677,7 @@ export function ExpressionStatement(props: {
1663
1677
  }): DetachedNode<ExpressionStatementType> {
1664
1678
  const node = detachedProps<ExpressionStatementType>(props.parent, {
1665
1679
  type: 'ExpressionStatement',
1680
+ // $FlowFixMe[incompatible-call],
1666
1681
  expression: asDetachedNode(props.expression),
1667
1682
  directive: props.directive,
1668
1683
  });
@@ -1676,8 +1691,11 @@ export function ForInStatement(props: {
1676
1691
  }): DetachedNode<ForInStatementType> {
1677
1692
  const node = detachedProps<ForInStatementType>(props.parent, {
1678
1693
  type: 'ForInStatement',
1694
+ // $FlowFixMe[incompatible-call],
1679
1695
  left: asDetachedNode(props.left),
1696
+ // $FlowFixMe[incompatible-call],
1680
1697
  right: asDetachedNode(props.right),
1698
+ // $FlowFixMe[incompatible-call],
1681
1699
  body: asDetachedNode(props.body),
1682
1700
  });
1683
1701
  setParentPointersInDirectChildren(node);
@@ -1690,8 +1708,11 @@ export function ForOfStatement(props: {
1690
1708
  }): DetachedNode<ForOfStatementType> {
1691
1709
  const node = detachedProps<ForOfStatementType>(props.parent, {
1692
1710
  type: 'ForOfStatement',
1711
+ // $FlowFixMe[incompatible-call],
1693
1712
  left: asDetachedNode(props.left),
1713
+ // $FlowFixMe[incompatible-call],
1694
1714
  right: asDetachedNode(props.right),
1715
+ // $FlowFixMe[incompatible-call],
1695
1716
  body: asDetachedNode(props.body),
1696
1717
  await: props.await,
1697
1718
  });
@@ -1705,9 +1726,13 @@ export function ForStatement(props: {
1705
1726
  }): DetachedNode<ForStatementType> {
1706
1727
  const node = detachedProps<ForStatementType>(props.parent, {
1707
1728
  type: 'ForStatement',
1729
+ // $FlowFixMe[incompatible-call],
1708
1730
  init: asDetachedNode(props.init),
1731
+ // $FlowFixMe[incompatible-call],
1709
1732
  test: asDetachedNode(props.test),
1733
+ // $FlowFixMe[incompatible-call],
1710
1734
  update: asDetachedNode(props.update),
1735
+ // $FlowFixMe[incompatible-call],
1711
1736
  body: asDetachedNode(props.body),
1712
1737
  });
1713
1738
  setParentPointersInDirectChildren(node);
@@ -1720,11 +1745,17 @@ export function FunctionDeclaration(props: {
1720
1745
  }): DetachedNode<FunctionDeclarationType> {
1721
1746
  const node = detachedProps<FunctionDeclarationType>(props.parent, {
1722
1747
  type: 'FunctionDeclaration',
1748
+ // $FlowFixMe[incompatible-call],
1723
1749
  id: asDetachedNode(props.id),
1750
+ // $FlowFixMe[incompatible-call],
1724
1751
  params: props.params.map(n => asDetachedNode(n)),
1752
+ // $FlowFixMe[incompatible-call],
1725
1753
  body: asDetachedNode(props.body),
1754
+ // $FlowFixMe[incompatible-call],
1726
1755
  typeParameters: asDetachedNode(props.typeParameters),
1756
+ // $FlowFixMe[incompatible-call],
1727
1757
  returnType: asDetachedNode(props.returnType),
1758
+ // $FlowFixMe[incompatible-call],
1728
1759
  predicate: asDetachedNode(props.predicate),
1729
1760
  generator: props.generator,
1730
1761
  async: props.async,
@@ -1739,11 +1770,17 @@ export function FunctionExpression(props: {
1739
1770
  }): DetachedNode<FunctionExpressionType> {
1740
1771
  const node = detachedProps<FunctionExpressionType>(props.parent, {
1741
1772
  type: 'FunctionExpression',
1773
+ // $FlowFixMe[incompatible-call],
1742
1774
  id: asDetachedNode(props.id),
1775
+ // $FlowFixMe[incompatible-call],
1743
1776
  params: props.params.map(n => asDetachedNode(n)),
1777
+ // $FlowFixMe[incompatible-call],
1744
1778
  body: asDetachedNode(props.body),
1779
+ // $FlowFixMe[incompatible-call],
1745
1780
  typeParameters: asDetachedNode(props.typeParameters),
1781
+ // $FlowFixMe[incompatible-call],
1746
1782
  returnType: asDetachedNode(props.returnType),
1783
+ // $FlowFixMe[incompatible-call],
1747
1784
  predicate: asDetachedNode(props.predicate),
1748
1785
  generator: props.generator,
1749
1786
  async: props.async,
@@ -1758,10 +1795,15 @@ export function FunctionTypeAnnotation(props: {
1758
1795
  }): DetachedNode<FunctionTypeAnnotationType> {
1759
1796
  const node = detachedProps<FunctionTypeAnnotationType>(props.parent, {
1760
1797
  type: 'FunctionTypeAnnotation',
1798
+ // $FlowFixMe[incompatible-call],
1761
1799
  params: props.params.map(n => asDetachedNode(n)),
1800
+ // $FlowFixMe[incompatible-call],
1762
1801
  this: asDetachedNode(props.this),
1802
+ // $FlowFixMe[incompatible-call],
1763
1803
  returnType: asDetachedNode(props.returnType),
1804
+ // $FlowFixMe[incompatible-call],
1764
1805
  rest: asDetachedNode(props.rest),
1806
+ // $FlowFixMe[incompatible-call],
1765
1807
  typeParameters: asDetachedNode(props.typeParameters),
1766
1808
  });
1767
1809
  setParentPointersInDirectChildren(node);
@@ -1774,7 +1816,9 @@ export function FunctionTypeParam(props: {
1774
1816
  }): DetachedNode<FunctionTypeParamType> {
1775
1817
  const node = detachedProps<FunctionTypeParamType>(props.parent, {
1776
1818
  type: 'FunctionTypeParam',
1819
+ // $FlowFixMe[incompatible-call],
1777
1820
  name: asDetachedNode(props.name),
1821
+ // $FlowFixMe[incompatible-call],
1778
1822
  typeAnnotation: asDetachedNode(props.typeAnnotation),
1779
1823
  optional: props.optional,
1780
1824
  });
@@ -1788,7 +1832,9 @@ export function GenericTypeAnnotation(props: {
1788
1832
  }): DetachedNode<GenericTypeAnnotationType> {
1789
1833
  const node = detachedProps<GenericTypeAnnotationType>(props.parent, {
1790
1834
  type: 'GenericTypeAnnotation',
1835
+ // $FlowFixMe[incompatible-call],
1791
1836
  id: asDetachedNode(props.id),
1837
+ // $FlowFixMe[incompatible-call],
1792
1838
  typeParameters: asDetachedNode(props.typeParameters),
1793
1839
  });
1794
1840
  setParentPointersInDirectChildren(node);
@@ -1801,8 +1847,11 @@ export function IfStatement(props: {
1801
1847
  }): DetachedNode<IfStatementType> {
1802
1848
  const node = detachedProps<IfStatementType>(props.parent, {
1803
1849
  type: 'IfStatement',
1850
+ // $FlowFixMe[incompatible-call],
1804
1851
  test: asDetachedNode(props.test),
1852
+ // $FlowFixMe[incompatible-call],
1805
1853
  consequent: asDetachedNode(props.consequent),
1854
+ // $FlowFixMe[incompatible-call],
1806
1855
  alternate: asDetachedNode(props.alternate),
1807
1856
  });
1808
1857
  setParentPointersInDirectChildren(node);
@@ -1815,7 +1864,9 @@ export function ImportAttribute(props: {
1815
1864
  }): DetachedNode<ImportAttributeType> {
1816
1865
  const node = detachedProps<ImportAttributeType>(props.parent, {
1817
1866
  type: 'ImportAttribute',
1867
+ // $FlowFixMe[incompatible-call],
1818
1868
  key: asDetachedNode(props.key),
1869
+ // $FlowFixMe[incompatible-call],
1819
1870
  value: asDetachedNode(props.value),
1820
1871
  });
1821
1872
  setParentPointersInDirectChildren(node);
@@ -1828,8 +1879,11 @@ export function ImportDeclaration(props: {
1828
1879
  }): DetachedNode<ImportDeclarationType> {
1829
1880
  const node = detachedProps<ImportDeclarationType>(props.parent, {
1830
1881
  type: 'ImportDeclaration',
1882
+ // $FlowFixMe[incompatible-call],
1831
1883
  specifiers: props.specifiers.map(n => asDetachedNode(n)),
1884
+ // $FlowFixMe[incompatible-call],
1832
1885
  source: asDetachedNode(props.source),
1886
+ // $FlowFixMe[incompatible-call],
1833
1887
  assertions: props.assertions?.map(n => asDetachedNode(n)),
1834
1888
  importKind: props.importKind,
1835
1889
  });
@@ -1843,6 +1897,7 @@ export function ImportDefaultSpecifier(props: {
1843
1897
  }): DetachedNode<ImportDefaultSpecifierType> {
1844
1898
  const node = detachedProps<ImportDefaultSpecifierType>(props.parent, {
1845
1899
  type: 'ImportDefaultSpecifier',
1900
+ // $FlowFixMe[incompatible-call],
1846
1901
  local: asDetachedNode(props.local),
1847
1902
  });
1848
1903
  setParentPointersInDirectChildren(node);
@@ -1855,7 +1910,9 @@ export function ImportExpression(props: {
1855
1910
  }): DetachedNode<ImportExpressionType> {
1856
1911
  const node = detachedProps<ImportExpressionType>(props.parent, {
1857
1912
  type: 'ImportExpression',
1913
+ // $FlowFixMe[incompatible-call],
1858
1914
  source: asDetachedNode(props.source),
1915
+ // $FlowFixMe[incompatible-call],
1859
1916
  attributes: asDetachedNode(props.attributes),
1860
1917
  });
1861
1918
  setParentPointersInDirectChildren(node);
@@ -1868,6 +1925,7 @@ export function ImportNamespaceSpecifier(props: {
1868
1925
  }): DetachedNode<ImportNamespaceSpecifierType> {
1869
1926
  const node = detachedProps<ImportNamespaceSpecifierType>(props.parent, {
1870
1927
  type: 'ImportNamespaceSpecifier',
1928
+ // $FlowFixMe[incompatible-call],
1871
1929
  local: asDetachedNode(props.local),
1872
1930
  });
1873
1931
  setParentPointersInDirectChildren(node);
@@ -1880,7 +1938,9 @@ export function ImportSpecifier(props: {
1880
1938
  }): DetachedNode<ImportSpecifierType> {
1881
1939
  const node = detachedProps<ImportSpecifierType>(props.parent, {
1882
1940
  type: 'ImportSpecifier',
1941
+ // $FlowFixMe[incompatible-call],
1883
1942
  imported: asDetachedNode(props.imported),
1943
+ // $FlowFixMe[incompatible-call],
1884
1944
  local: asDetachedNode(props.local),
1885
1945
  importKind: props.importKind,
1886
1946
  });
@@ -1894,7 +1954,9 @@ export function IndexedAccessType(props: {
1894
1954
  }): DetachedNode<IndexedAccessTypeType> {
1895
1955
  const node = detachedProps<IndexedAccessTypeType>(props.parent, {
1896
1956
  type: 'IndexedAccessType',
1957
+ // $FlowFixMe[incompatible-call],
1897
1958
  objectType: asDetachedNode(props.objectType),
1959
+ // $FlowFixMe[incompatible-call],
1898
1960
  indexType: asDetachedNode(props.indexType),
1899
1961
  });
1900
1962
  setParentPointersInDirectChildren(node);
@@ -1917,9 +1979,13 @@ export function InterfaceDeclaration(props: {
1917
1979
  }): DetachedNode<InterfaceDeclarationType> {
1918
1980
  const node = detachedProps<InterfaceDeclarationType>(props.parent, {
1919
1981
  type: 'InterfaceDeclaration',
1982
+ // $FlowFixMe[incompatible-call],
1920
1983
  id: asDetachedNode(props.id),
1984
+ // $FlowFixMe[incompatible-call],
1921
1985
  typeParameters: asDetachedNode(props.typeParameters),
1986
+ // $FlowFixMe[incompatible-call],
1922
1987
  extends: props.extends.map(n => asDetachedNode(n)),
1988
+ // $FlowFixMe[incompatible-call],
1923
1989
  body: asDetachedNode(props.body),
1924
1990
  });
1925
1991
  setParentPointersInDirectChildren(node);
@@ -1932,7 +1998,9 @@ export function InterfaceExtends(props: {
1932
1998
  }): DetachedNode<InterfaceExtendsType> {
1933
1999
  const node = detachedProps<InterfaceExtendsType>(props.parent, {
1934
2000
  type: 'InterfaceExtends',
2001
+ // $FlowFixMe[incompatible-call],
1935
2002
  id: asDetachedNode(props.id),
2003
+ // $FlowFixMe[incompatible-call],
1936
2004
  typeParameters: asDetachedNode(props.typeParameters),
1937
2005
  });
1938
2006
  setParentPointersInDirectChildren(node);
@@ -1945,7 +2013,9 @@ export function InterfaceTypeAnnotation(props: {
1945
2013
  }): DetachedNode<InterfaceTypeAnnotationType> {
1946
2014
  const node = detachedProps<InterfaceTypeAnnotationType>(props.parent, {
1947
2015
  type: 'InterfaceTypeAnnotation',
2016
+ // $FlowFixMe[incompatible-call],
1948
2017
  extends: props.extends.map(n => asDetachedNode(n)),
2018
+ // $FlowFixMe[incompatible-call],
1949
2019
  body: asDetachedNode(props.body),
1950
2020
  });
1951
2021
  setParentPointersInDirectChildren(node);
@@ -1958,6 +2028,7 @@ export function IntersectionTypeAnnotation(props: {
1958
2028
  }): DetachedNode<IntersectionTypeAnnotationType> {
1959
2029
  const node = detachedProps<IntersectionTypeAnnotationType>(props.parent, {
1960
2030
  type: 'IntersectionTypeAnnotation',
2031
+ // $FlowFixMe[incompatible-call],
1961
2032
  types: props.types.map(n => asDetachedNode(n)),
1962
2033
  });
1963
2034
  setParentPointersInDirectChildren(node);
@@ -1970,7 +2041,9 @@ export function JSXAttribute(props: {
1970
2041
  }): DetachedNode<JSXAttributeType> {
1971
2042
  const node = detachedProps<JSXAttributeType>(props.parent, {
1972
2043
  type: 'JSXAttribute',
2044
+ // $FlowFixMe[incompatible-call],
1973
2045
  name: asDetachedNode(props.name),
2046
+ // $FlowFixMe[incompatible-call],
1974
2047
  value: asDetachedNode(props.value),
1975
2048
  });
1976
2049
  setParentPointersInDirectChildren(node);
@@ -1983,6 +2056,7 @@ export function JSXClosingElement(props: {
1983
2056
  }): DetachedNode<JSXClosingElementType> {
1984
2057
  const node = detachedProps<JSXClosingElementType>(props.parent, {
1985
2058
  type: 'JSXClosingElement',
2059
+ // $FlowFixMe[incompatible-call],
1986
2060
  name: asDetachedNode(props.name),
1987
2061
  });
1988
2062
  setParentPointersInDirectChildren(node);
@@ -2005,8 +2079,11 @@ export function JSXElement(props: {
2005
2079
  }): DetachedNode<JSXElementType> {
2006
2080
  const node = detachedProps<JSXElementType>(props.parent, {
2007
2081
  type: 'JSXElement',
2082
+ // $FlowFixMe[incompatible-call],
2008
2083
  openingElement: asDetachedNode(props.openingElement),
2084
+ // $FlowFixMe[incompatible-call],
2009
2085
  children: props.children.map(n => asDetachedNode(n)),
2086
+ // $FlowFixMe[incompatible-call],
2010
2087
  closingElement: asDetachedNode(props.closingElement),
2011
2088
  });
2012
2089
  setParentPointersInDirectChildren(node);
@@ -2029,6 +2106,7 @@ export function JSXExpressionContainer(props: {
2029
2106
  }): DetachedNode<JSXExpressionContainerType> {
2030
2107
  const node = detachedProps<JSXExpressionContainerType>(props.parent, {
2031
2108
  type: 'JSXExpressionContainer',
2109
+ // $FlowFixMe[incompatible-call],
2032
2110
  expression: asDetachedNode(props.expression),
2033
2111
  });
2034
2112
  setParentPointersInDirectChildren(node);
@@ -2041,8 +2119,11 @@ export function JSXFragment(props: {
2041
2119
  }): DetachedNode<JSXFragmentType> {
2042
2120
  const node = detachedProps<JSXFragmentType>(props.parent, {
2043
2121
  type: 'JSXFragment',
2122
+ // $FlowFixMe[incompatible-call],
2044
2123
  openingFragment: asDetachedNode(props.openingFragment),
2124
+ // $FlowFixMe[incompatible-call],
2045
2125
  children: props.children.map(n => asDetachedNode(n)),
2126
+ // $FlowFixMe[incompatible-call],
2046
2127
  closingFragment: asDetachedNode(props.closingFragment),
2047
2128
  });
2048
2129
  setParentPointersInDirectChildren(node);
@@ -2067,7 +2148,9 @@ export function JSXMemberExpression(props: {
2067
2148
  }): DetachedNode<JSXMemberExpressionType> {
2068
2149
  const node = detachedProps<JSXMemberExpressionType>(props.parent, {
2069
2150
  type: 'JSXMemberExpression',
2151
+ // $FlowFixMe[incompatible-call],
2070
2152
  object: asDetachedNode(props.object),
2153
+ // $FlowFixMe[incompatible-call],
2071
2154
  property: asDetachedNode(props.property),
2072
2155
  });
2073
2156
  setParentPointersInDirectChildren(node);
@@ -2080,7 +2163,9 @@ export function JSXNamespacedName(props: {
2080
2163
  }): DetachedNode<JSXNamespacedNameType> {
2081
2164
  const node = detachedProps<JSXNamespacedNameType>(props.parent, {
2082
2165
  type: 'JSXNamespacedName',
2166
+ // $FlowFixMe[incompatible-call],
2083
2167
  namespace: asDetachedNode(props.namespace),
2168
+ // $FlowFixMe[incompatible-call],
2084
2169
  name: asDetachedNode(props.name),
2085
2170
  });
2086
2171
  setParentPointersInDirectChildren(node);
@@ -2093,7 +2178,9 @@ export function JSXOpeningElement(props: {
2093
2178
  }): DetachedNode<JSXOpeningElementType> {
2094
2179
  const node = detachedProps<JSXOpeningElementType>(props.parent, {
2095
2180
  type: 'JSXOpeningElement',
2181
+ // $FlowFixMe[incompatible-call],
2096
2182
  name: asDetachedNode(props.name),
2183
+ // $FlowFixMe[incompatible-call],
2097
2184
  attributes: props.attributes.map(n => asDetachedNode(n)),
2098
2185
  selfClosing: props.selfClosing,
2099
2186
  });
@@ -2117,6 +2204,7 @@ export function JSXSpreadAttribute(props: {
2117
2204
  }): DetachedNode<JSXSpreadAttributeType> {
2118
2205
  const node = detachedProps<JSXSpreadAttributeType>(props.parent, {
2119
2206
  type: 'JSXSpreadAttribute',
2207
+ // $FlowFixMe[incompatible-call],
2120
2208
  argument: asDetachedNode(props.argument),
2121
2209
  });
2122
2210
  setParentPointersInDirectChildren(node);
@@ -2129,6 +2217,7 @@ export function JSXSpreadChild(props: {
2129
2217
  }): DetachedNode<JSXSpreadChildType> {
2130
2218
  const node = detachedProps<JSXSpreadChildType>(props.parent, {
2131
2219
  type: 'JSXSpreadChild',
2220
+ // $FlowFixMe[incompatible-call],
2132
2221
  expression: asDetachedNode(props.expression),
2133
2222
  });
2134
2223
  setParentPointersInDirectChildren(node);
@@ -2154,7 +2243,9 @@ export function LabeledStatement(props: {
2154
2243
  }): DetachedNode<LabeledStatementType> {
2155
2244
  const node = detachedProps<LabeledStatementType>(props.parent, {
2156
2245
  type: 'LabeledStatement',
2246
+ // $FlowFixMe[incompatible-call],
2157
2247
  label: asDetachedNode(props.label),
2248
+ // $FlowFixMe[incompatible-call],
2158
2249
  body: asDetachedNode(props.body),
2159
2250
  });
2160
2251
  setParentPointersInDirectChildren(node);
@@ -2167,7 +2258,9 @@ export function LogicalExpression(props: {
2167
2258
  }): DetachedNode<LogicalExpressionType> {
2168
2259
  const node = detachedProps<LogicalExpressionType>(props.parent, {
2169
2260
  type: 'LogicalExpression',
2261
+ // $FlowFixMe[incompatible-call],
2170
2262
  left: asDetachedNode(props.left),
2263
+ // $FlowFixMe[incompatible-call],
2171
2264
  right: asDetachedNode(props.right),
2172
2265
  operator: props.operator,
2173
2266
  });
@@ -2181,7 +2274,9 @@ export function MemberExpression(props: {
2181
2274
  }): DetachedNode<MemberExpressionType> {
2182
2275
  const node = detachedProps<MemberExpressionType>(props.parent, {
2183
2276
  type: 'MemberExpression',
2277
+ // $FlowFixMe[incompatible-call],
2184
2278
  object: asDetachedNode(props.object),
2279
+ // $FlowFixMe[incompatible-call],
2185
2280
  property: asDetachedNode(props.property),
2186
2281
  computed: props.computed,
2187
2282
  });
@@ -2195,7 +2290,9 @@ export function MetaProperty(props: {
2195
2290
  }): DetachedNode<MetaPropertyType> {
2196
2291
  const node = detachedProps<MetaPropertyType>(props.parent, {
2197
2292
  type: 'MetaProperty',
2293
+ // $FlowFixMe[incompatible-call],
2198
2294
  meta: asDetachedNode(props.meta),
2295
+ // $FlowFixMe[incompatible-call],
2199
2296
  property: asDetachedNode(props.property),
2200
2297
  });
2201
2298
  setParentPointersInDirectChildren(node);
@@ -2208,7 +2305,9 @@ export function MethodDefinition(props: {
2208
2305
  }): DetachedNode<MethodDefinitionType> {
2209
2306
  const node = detachedProps<MethodDefinitionType>(props.parent, {
2210
2307
  type: 'MethodDefinition',
2308
+ // $FlowFixMe[incompatible-call],
2211
2309
  key: asDetachedNode(props.key),
2310
+ // $FlowFixMe[incompatible-call],
2212
2311
  value: asDetachedNode(props.value),
2213
2312
  kind: props.kind,
2214
2313
  computed: props.computed,
@@ -2234,8 +2333,11 @@ export function NewExpression(props: {
2234
2333
  }): DetachedNode<NewExpressionType> {
2235
2334
  const node = detachedProps<NewExpressionType>(props.parent, {
2236
2335
  type: 'NewExpression',
2336
+ // $FlowFixMe[incompatible-call],
2237
2337
  callee: asDetachedNode(props.callee),
2338
+ // $FlowFixMe[incompatible-call],
2238
2339
  typeArguments: asDetachedNode(props.typeArguments),
2340
+ // $FlowFixMe[incompatible-call],
2239
2341
  arguments: props.arguments.map(n => asDetachedNode(n)),
2240
2342
  });
2241
2343
  setParentPointersInDirectChildren(node);
@@ -2248,6 +2350,7 @@ export function NullableTypeAnnotation(props: {
2248
2350
  }): DetachedNode<NullableTypeAnnotationType> {
2249
2351
  const node = detachedProps<NullableTypeAnnotationType>(props.parent, {
2250
2352
  type: 'NullableTypeAnnotation',
2353
+ // $FlowFixMe[incompatible-call],
2251
2354
  typeAnnotation: asDetachedNode(props.typeAnnotation),
2252
2355
  });
2253
2356
  setParentPointersInDirectChildren(node);
@@ -2293,6 +2396,7 @@ export function ObjectExpression(props: {
2293
2396
  }): DetachedNode<ObjectExpressionType> {
2294
2397
  const node = detachedProps<ObjectExpressionType>(props.parent, {
2295
2398
  type: 'ObjectExpression',
2399
+ // $FlowFixMe[incompatible-call],
2296
2400
  properties: props.properties.map(n => asDetachedNode(n)),
2297
2401
  });
2298
2402
  setParentPointersInDirectChildren(node);
@@ -2305,7 +2409,9 @@ export function ObjectPattern(props: {
2305
2409
  }): DetachedNode<ObjectPatternType> {
2306
2410
  const node = detachedProps<ObjectPatternType>(props.parent, {
2307
2411
  type: 'ObjectPattern',
2412
+ // $FlowFixMe[incompatible-call],
2308
2413
  properties: props.properties.map(n => asDetachedNode(n)),
2414
+ // $FlowFixMe[incompatible-call],
2309
2415
  typeAnnotation: asDetachedNode(props.typeAnnotation),
2310
2416
  });
2311
2417
  setParentPointersInDirectChildren(node);
@@ -2318,9 +2424,13 @@ export function ObjectTypeAnnotation(props: {
2318
2424
  }): DetachedNode<ObjectTypeAnnotationType> {
2319
2425
  const node = detachedProps<ObjectTypeAnnotationType>(props.parent, {
2320
2426
  type: 'ObjectTypeAnnotation',
2427
+ // $FlowFixMe[incompatible-call],
2321
2428
  properties: props.properties.map(n => asDetachedNode(n)),
2429
+ // $FlowFixMe[incompatible-call],
2322
2430
  indexers: props.indexers.map(n => asDetachedNode(n)),
2431
+ // $FlowFixMe[incompatible-call],
2323
2432
  callProperties: props.callProperties.map(n => asDetachedNode(n)),
2433
+ // $FlowFixMe[incompatible-call],
2324
2434
  internalSlots: props.internalSlots.map(n => asDetachedNode(n)),
2325
2435
  inexact: props.inexact,
2326
2436
  exact: props.exact,
@@ -2335,6 +2445,7 @@ export function ObjectTypeCallProperty(props: {
2335
2445
  }): DetachedNode<ObjectTypeCallPropertyType> {
2336
2446
  const node = detachedProps<ObjectTypeCallPropertyType>(props.parent, {
2337
2447
  type: 'ObjectTypeCallProperty',
2448
+ // $FlowFixMe[incompatible-call],
2338
2449
  value: asDetachedNode(props.value),
2339
2450
  static: props.static,
2340
2451
  });
@@ -2348,10 +2459,14 @@ export function ObjectTypeIndexer(props: {
2348
2459
  }): DetachedNode<ObjectTypeIndexerType> {
2349
2460
  const node = detachedProps<ObjectTypeIndexerType>(props.parent, {
2350
2461
  type: 'ObjectTypeIndexer',
2462
+ // $FlowFixMe[incompatible-call],
2351
2463
  id: asDetachedNode(props.id),
2464
+ // $FlowFixMe[incompatible-call],
2352
2465
  key: asDetachedNode(props.key),
2466
+ // $FlowFixMe[incompatible-call],
2353
2467
  value: asDetachedNode(props.value),
2354
2468
  static: props.static,
2469
+ // $FlowFixMe[incompatible-call],
2355
2470
  variance: asDetachedNode(props.variance),
2356
2471
  });
2357
2472
  setParentPointersInDirectChildren(node);
@@ -2364,7 +2479,9 @@ export function ObjectTypeInternalSlot(props: {
2364
2479
  }): DetachedNode<ObjectTypeInternalSlotType> {
2365
2480
  const node = detachedProps<ObjectTypeInternalSlotType>(props.parent, {
2366
2481
  type: 'ObjectTypeInternalSlot',
2482
+ // $FlowFixMe[incompatible-call],
2367
2483
  id: asDetachedNode(props.id),
2484
+ // $FlowFixMe[incompatible-call],
2368
2485
  value: asDetachedNode(props.value),
2369
2486
  optional: props.optional,
2370
2487
  static: props.static,
@@ -2374,31 +2491,13 @@ export function ObjectTypeInternalSlot(props: {
2374
2491
  return node;
2375
2492
  }
2376
2493
 
2377
- export function ObjectTypeProperty(props: {
2378
- ...$ReadOnly<ObjectTypePropertyProps>,
2379
- +parent?: ESNode,
2380
- }): DetachedNode<ObjectTypePropertyType> {
2381
- const node = detachedProps<ObjectTypePropertyType>(props.parent, {
2382
- type: 'ObjectTypeProperty',
2383
- key: asDetachedNode(props.key),
2384
- value: asDetachedNode(props.value),
2385
- method: props.method,
2386
- optional: props.optional,
2387
- static: props.static,
2388
- proto: props.proto,
2389
- variance: asDetachedNode(props.variance),
2390
- kind: props.kind,
2391
- });
2392
- setParentPointersInDirectChildren(node);
2393
- return node;
2394
- }
2395
-
2396
2494
  export function ObjectTypeSpreadProperty(props: {
2397
2495
  ...$ReadOnly<ObjectTypeSpreadPropertyProps>,
2398
2496
  +parent?: ESNode,
2399
2497
  }): DetachedNode<ObjectTypeSpreadPropertyType> {
2400
2498
  const node = detachedProps<ObjectTypeSpreadPropertyType>(props.parent, {
2401
2499
  type: 'ObjectTypeSpreadProperty',
2500
+ // $FlowFixMe[incompatible-call],
2402
2501
  argument: asDetachedNode(props.argument),
2403
2502
  });
2404
2503
  setParentPointersInDirectChildren(node);
@@ -2411,9 +2510,13 @@ export function OpaqueType(props: {
2411
2510
  }): DetachedNode<OpaqueTypeType> {
2412
2511
  const node = detachedProps<OpaqueTypeType>(props.parent, {
2413
2512
  type: 'OpaqueType',
2513
+ // $FlowFixMe[incompatible-call],
2414
2514
  id: asDetachedNode(props.id),
2515
+ // $FlowFixMe[incompatible-call],
2415
2516
  typeParameters: asDetachedNode(props.typeParameters),
2517
+ // $FlowFixMe[incompatible-call],
2416
2518
  impltype: asDetachedNode(props.impltype),
2519
+ // $FlowFixMe[incompatible-call],
2417
2520
  supertype: asDetachedNode(props.supertype),
2418
2521
  });
2419
2522
  setParentPointersInDirectChildren(node);
@@ -2426,7 +2529,9 @@ export function OptionalIndexedAccessType(props: {
2426
2529
  }): DetachedNode<OptionalIndexedAccessTypeType> {
2427
2530
  const node = detachedProps<OptionalIndexedAccessTypeType>(props.parent, {
2428
2531
  type: 'OptionalIndexedAccessType',
2532
+ // $FlowFixMe[incompatible-call],
2429
2533
  objectType: asDetachedNode(props.objectType),
2534
+ // $FlowFixMe[incompatible-call],
2430
2535
  indexType: asDetachedNode(props.indexType),
2431
2536
  optional: props.optional,
2432
2537
  });
@@ -2452,7 +2557,9 @@ export function Property(props: {
2452
2557
  }): DetachedNode<PropertyType> {
2453
2558
  const node = detachedProps<PropertyType>(props.parent, {
2454
2559
  type: 'Property',
2560
+ // $FlowFixMe[incompatible-call],
2455
2561
  key: asDetachedNode(props.key),
2562
+ // $FlowFixMe[incompatible-call],
2456
2563
  value: asDetachedNode(props.value),
2457
2564
  kind: props.kind,
2458
2565
  computed: props.computed,
@@ -2469,14 +2576,20 @@ export function PropertyDefinition(props: {
2469
2576
  }): DetachedNode<PropertyDefinitionType> {
2470
2577
  const node = detachedProps<PropertyDefinitionType>(props.parent, {
2471
2578
  type: 'PropertyDefinition',
2579
+ // $FlowFixMe[incompatible-call],
2472
2580
  key: asDetachedNode(props.key),
2581
+ // $FlowFixMe[incompatible-call],
2473
2582
  value: asDetachedNode(props.value),
2474
2583
  computed: props.computed,
2475
2584
  static: props.static,
2476
2585
  declare: props.declare,
2477
2586
  optional: props.optional,
2587
+ // $FlowFixMe[incompatible-call],
2478
2588
  variance: asDetachedNode(props.variance),
2589
+ // $FlowFixMe[incompatible-call],
2479
2590
  typeAnnotation: asDetachedNode(props.typeAnnotation),
2591
+ // $FlowFixMe[incompatible-call],
2592
+ tsModifiers: asDetachedNode(props.tsModifiers),
2480
2593
  });
2481
2594
  setParentPointersInDirectChildren(node);
2482
2595
  return node;
@@ -2488,7 +2601,9 @@ export function QualifiedTypeIdentifier(props: {
2488
2601
  }): DetachedNode<QualifiedTypeIdentifierType> {
2489
2602
  const node = detachedProps<QualifiedTypeIdentifierType>(props.parent, {
2490
2603
  type: 'QualifiedTypeIdentifier',
2604
+ // $FlowFixMe[incompatible-call],
2491
2605
  qualification: asDetachedNode(props.qualification),
2606
+ // $FlowFixMe[incompatible-call],
2492
2607
  id: asDetachedNode(props.id),
2493
2608
  });
2494
2609
  setParentPointersInDirectChildren(node);
@@ -2501,6 +2616,7 @@ export function RestElement(props: {
2501
2616
  }): DetachedNode<RestElementType> {
2502
2617
  const node = detachedProps<RestElementType>(props.parent, {
2503
2618
  type: 'RestElement',
2619
+ // $FlowFixMe[incompatible-call],
2504
2620
  argument: asDetachedNode(props.argument),
2505
2621
  });
2506
2622
  setParentPointersInDirectChildren(node);
@@ -2513,6 +2629,7 @@ export function ReturnStatement(props: {
2513
2629
  }): DetachedNode<ReturnStatementType> {
2514
2630
  const node = detachedProps<ReturnStatementType>(props.parent, {
2515
2631
  type: 'ReturnStatement',
2632
+ // $FlowFixMe[incompatible-call],
2516
2633
  argument: asDetachedNode(props.argument),
2517
2634
  });
2518
2635
  setParentPointersInDirectChildren(node);
@@ -2525,6 +2642,7 @@ export function SequenceExpression(props: {
2525
2642
  }): DetachedNode<SequenceExpressionType> {
2526
2643
  const node = detachedProps<SequenceExpressionType>(props.parent, {
2527
2644
  type: 'SequenceExpression',
2645
+ // $FlowFixMe[incompatible-call],
2528
2646
  expressions: props.expressions.map(n => asDetachedNode(n)),
2529
2647
  });
2530
2648
  setParentPointersInDirectChildren(node);
@@ -2537,6 +2655,7 @@ export function SpreadElement(props: {
2537
2655
  }): DetachedNode<SpreadElementType> {
2538
2656
  const node = detachedProps<SpreadElementType>(props.parent, {
2539
2657
  type: 'SpreadElement',
2658
+ // $FlowFixMe[incompatible-call],
2540
2659
  argument: asDetachedNode(props.argument),
2541
2660
  });
2542
2661
  setParentPointersInDirectChildren(node);
@@ -2582,7 +2701,9 @@ export function SwitchCase(props: {
2582
2701
  }): DetachedNode<SwitchCaseType> {
2583
2702
  const node = detachedProps<SwitchCaseType>(props.parent, {
2584
2703
  type: 'SwitchCase',
2704
+ // $FlowFixMe[incompatible-call],
2585
2705
  test: asDetachedNode(props.test),
2706
+ // $FlowFixMe[incompatible-call],
2586
2707
  consequent: props.consequent.map(n => asDetachedNode(n)),
2587
2708
  });
2588
2709
  setParentPointersInDirectChildren(node);
@@ -2595,7 +2716,9 @@ export function SwitchStatement(props: {
2595
2716
  }): DetachedNode<SwitchStatementType> {
2596
2717
  const node = detachedProps<SwitchStatementType>(props.parent, {
2597
2718
  type: 'SwitchStatement',
2719
+ // $FlowFixMe[incompatible-call],
2598
2720
  discriminant: asDetachedNode(props.discriminant),
2721
+ // $FlowFixMe[incompatible-call],
2599
2722
  cases: props.cases.map(n => asDetachedNode(n)),
2600
2723
  });
2601
2724
  setParentPointersInDirectChildren(node);
@@ -2618,7 +2741,9 @@ export function TaggedTemplateExpression(props: {
2618
2741
  }): DetachedNode<TaggedTemplateExpressionType> {
2619
2742
  const node = detachedProps<TaggedTemplateExpressionType>(props.parent, {
2620
2743
  type: 'TaggedTemplateExpression',
2744
+ // $FlowFixMe[incompatible-call],
2621
2745
  tag: asDetachedNode(props.tag),
2746
+ // $FlowFixMe[incompatible-call],
2622
2747
  quasi: asDetachedNode(props.quasi),
2623
2748
  });
2624
2749
  setParentPointersInDirectChildren(node);
@@ -2631,7 +2756,9 @@ export function TemplateLiteral(props: {
2631
2756
  }): DetachedNode<TemplateLiteralType> {
2632
2757
  const node = detachedProps<TemplateLiteralType>(props.parent, {
2633
2758
  type: 'TemplateLiteral',
2759
+ // $FlowFixMe[incompatible-call],
2634
2760
  quasis: props.quasis.map(n => asDetachedNode(n)),
2761
+ // $FlowFixMe[incompatible-call],
2635
2762
  expressions: props.expressions.map(n => asDetachedNode(n)),
2636
2763
  });
2637
2764
  setParentPointersInDirectChildren(node);
@@ -2664,6 +2791,7 @@ export function ThrowStatement(props: {
2664
2791
  }): DetachedNode<ThrowStatementType> {
2665
2792
  const node = detachedProps<ThrowStatementType>(props.parent, {
2666
2793
  type: 'ThrowStatement',
2794
+ // $FlowFixMe[incompatible-call],
2667
2795
  argument: asDetachedNode(props.argument),
2668
2796
  });
2669
2797
  setParentPointersInDirectChildren(node);
@@ -2676,8 +2804,11 @@ export function TryStatement(props: {
2676
2804
  }): DetachedNode<TryStatementType> {
2677
2805
  const node = detachedProps<TryStatementType>(props.parent, {
2678
2806
  type: 'TryStatement',
2807
+ // $FlowFixMe[incompatible-call],
2679
2808
  block: asDetachedNode(props.block),
2809
+ // $FlowFixMe[incompatible-call],
2680
2810
  handler: asDetachedNode(props.handler),
2811
+ // $FlowFixMe[incompatible-call],
2681
2812
  finalizer: asDetachedNode(props.finalizer),
2682
2813
  });
2683
2814
  setParentPointersInDirectChildren(node);
@@ -2690,6 +2821,7 @@ export function TupleTypeAnnotation(props: {
2690
2821
  }): DetachedNode<TupleTypeAnnotationType> {
2691
2822
  const node = detachedProps<TupleTypeAnnotationType>(props.parent, {
2692
2823
  type: 'TupleTypeAnnotation',
2824
+ // $FlowFixMe[incompatible-call],
2693
2825
  types: props.types.map(n => asDetachedNode(n)),
2694
2826
  });
2695
2827
  setParentPointersInDirectChildren(node);
@@ -2702,8 +2834,11 @@ export function TypeAlias(props: {
2702
2834
  }): DetachedNode<TypeAliasType> {
2703
2835
  const node = detachedProps<TypeAliasType>(props.parent, {
2704
2836
  type: 'TypeAlias',
2837
+ // $FlowFixMe[incompatible-call],
2705
2838
  id: asDetachedNode(props.id),
2839
+ // $FlowFixMe[incompatible-call],
2706
2840
  typeParameters: asDetachedNode(props.typeParameters),
2841
+ // $FlowFixMe[incompatible-call],
2707
2842
  right: asDetachedNode(props.right),
2708
2843
  });
2709
2844
  setParentPointersInDirectChildren(node);
@@ -2716,6 +2851,7 @@ export function TypeAnnotation(props: {
2716
2851
  }): DetachedNode<TypeAnnotationType> {
2717
2852
  const node = detachedProps<TypeAnnotationType>(props.parent, {
2718
2853
  type: 'TypeAnnotation',
2854
+ // $FlowFixMe[incompatible-call],
2719
2855
  typeAnnotation: asDetachedNode(props.typeAnnotation),
2720
2856
  });
2721
2857
  setParentPointersInDirectChildren(node);
@@ -2728,7 +2864,9 @@ export function TypeCastExpression(props: {
2728
2864
  }): DetachedNode<TypeCastExpressionType> {
2729
2865
  const node = detachedProps<TypeCastExpressionType>(props.parent, {
2730
2866
  type: 'TypeCastExpression',
2867
+ // $FlowFixMe[incompatible-call],
2731
2868
  expression: asDetachedNode(props.expression),
2869
+ // $FlowFixMe[incompatible-call],
2732
2870
  typeAnnotation: asDetachedNode(props.typeAnnotation),
2733
2871
  });
2734
2872
  setParentPointersInDirectChildren(node);
@@ -2741,6 +2879,7 @@ export function TypeofTypeAnnotation(props: {
2741
2879
  }): DetachedNode<TypeofTypeAnnotationType> {
2742
2880
  const node = detachedProps<TypeofTypeAnnotationType>(props.parent, {
2743
2881
  type: 'TypeofTypeAnnotation',
2882
+ // $FlowFixMe[incompatible-call],
2744
2883
  argument: asDetachedNode(props.argument),
2745
2884
  });
2746
2885
  setParentPointersInDirectChildren(node);
@@ -2754,8 +2893,11 @@ export function TypeParameter(props: {
2754
2893
  const node = detachedProps<TypeParameterType>(props.parent, {
2755
2894
  type: 'TypeParameter',
2756
2895
  name: props.name,
2896
+ // $FlowFixMe[incompatible-call],
2757
2897
  bound: asDetachedNode(props.bound),
2898
+ // $FlowFixMe[incompatible-call],
2758
2899
  variance: asDetachedNode(props.variance),
2900
+ // $FlowFixMe[incompatible-call],
2759
2901
  default: asDetachedNode(props.default),
2760
2902
  });
2761
2903
  setParentPointersInDirectChildren(node);
@@ -2768,6 +2910,7 @@ export function TypeParameterDeclaration(props: {
2768
2910
  }): DetachedNode<TypeParameterDeclarationType> {
2769
2911
  const node = detachedProps<TypeParameterDeclarationType>(props.parent, {
2770
2912
  type: 'TypeParameterDeclaration',
2913
+ // $FlowFixMe[incompatible-call],
2771
2914
  params: props.params.map(n => asDetachedNode(n)),
2772
2915
  });
2773
2916
  setParentPointersInDirectChildren(node);
@@ -2780,6 +2923,7 @@ export function TypeParameterInstantiation(props: {
2780
2923
  }): DetachedNode<TypeParameterInstantiationType> {
2781
2924
  const node = detachedProps<TypeParameterInstantiationType>(props.parent, {
2782
2925
  type: 'TypeParameterInstantiation',
2926
+ // $FlowFixMe[incompatible-call],
2783
2927
  params: props.params.map(n => asDetachedNode(n)),
2784
2928
  });
2785
2929
  setParentPointersInDirectChildren(node);
@@ -2793,6 +2937,7 @@ export function UnaryExpression(props: {
2793
2937
  const node = detachedProps<UnaryExpressionType>(props.parent, {
2794
2938
  type: 'UnaryExpression',
2795
2939
  operator: props.operator,
2940
+ // $FlowFixMe[incompatible-call],
2796
2941
  argument: asDetachedNode(props.argument),
2797
2942
  prefix: props.prefix,
2798
2943
  });
@@ -2806,6 +2951,7 @@ export function UnionTypeAnnotation(props: {
2806
2951
  }): DetachedNode<UnionTypeAnnotationType> {
2807
2952
  const node = detachedProps<UnionTypeAnnotationType>(props.parent, {
2808
2953
  type: 'UnionTypeAnnotation',
2954
+ // $FlowFixMe[incompatible-call],
2809
2955
  types: props.types.map(n => asDetachedNode(n)),
2810
2956
  });
2811
2957
  setParentPointersInDirectChildren(node);
@@ -2819,6 +2965,7 @@ export function UpdateExpression(props: {
2819
2965
  const node = detachedProps<UpdateExpressionType>(props.parent, {
2820
2966
  type: 'UpdateExpression',
2821
2967
  operator: props.operator,
2968
+ // $FlowFixMe[incompatible-call],
2822
2969
  argument: asDetachedNode(props.argument),
2823
2970
  prefix: props.prefix,
2824
2971
  });
@@ -2833,6 +2980,7 @@ export function VariableDeclaration(props: {
2833
2980
  const node = detachedProps<VariableDeclarationType>(props.parent, {
2834
2981
  type: 'VariableDeclaration',
2835
2982
  kind: props.kind,
2983
+ // $FlowFixMe[incompatible-call],
2836
2984
  declarations: props.declarations.map(n => asDetachedNode(n)),
2837
2985
  });
2838
2986
  setParentPointersInDirectChildren(node);
@@ -2845,7 +2993,9 @@ export function VariableDeclarator(props: {
2845
2993
  }): DetachedNode<VariableDeclaratorType> {
2846
2994
  const node = detachedProps<VariableDeclaratorType>(props.parent, {
2847
2995
  type: 'VariableDeclarator',
2996
+ // $FlowFixMe[incompatible-call],
2848
2997
  init: asDetachedNode(props.init),
2998
+ // $FlowFixMe[incompatible-call],
2849
2999
  id: asDetachedNode(props.id),
2850
3000
  });
2851
3001
  setParentPointersInDirectChildren(node);
@@ -2880,7 +3030,9 @@ export function WhileStatement(props: {
2880
3030
  }): DetachedNode<WhileStatementType> {
2881
3031
  const node = detachedProps<WhileStatementType>(props.parent, {
2882
3032
  type: 'WhileStatement',
3033
+ // $FlowFixMe[incompatible-call],
2883
3034
  body: asDetachedNode(props.body),
3035
+ // $FlowFixMe[incompatible-call],
2884
3036
  test: asDetachedNode(props.test),
2885
3037
  });
2886
3038
  setParentPointersInDirectChildren(node);
@@ -2893,7 +3045,9 @@ export function WithStatement(props: {
2893
3045
  }): DetachedNode<WithStatementType> {
2894
3046
  const node = detachedProps<WithStatementType>(props.parent, {
2895
3047
  type: 'WithStatement',
3048
+ // $FlowFixMe[incompatible-call],
2896
3049
  object: asDetachedNode(props.object),
3050
+ // $FlowFixMe[incompatible-call],
2897
3051
  body: asDetachedNode(props.body),
2898
3052
  });
2899
3053
  setParentPointersInDirectChildren(node);
@@ -2906,6 +3060,7 @@ export function YieldExpression(props: {
2906
3060
  }): DetachedNode<YieldExpressionType> {
2907
3061
  const node = detachedProps<YieldExpressionType>(props.parent, {
2908
3062
  type: 'YieldExpression',
3063
+ // $FlowFixMe[incompatible-call],
2909
3064
  argument: asDetachedNode(props.argument),
2910
3065
  delegate: props.delegate,
2911
3066
  });