@typescript-deploys/pr-build 4.9.0-pr-50329-13 → 4.9.0-pr-50397-33

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/lib/typescript.js CHANGED
@@ -99,7 +99,7 @@ var ts;
99
99
  // The following is baselined as a literal template type without intervention
100
100
  /** The version of the TypeScript compiler release */
101
101
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
102
- ts.version = ts.versionMajorMinor + ".0-insiders.20220817";
102
+ ts.version = ts.versionMajorMinor + ".0-insiders.20220824";
103
103
  /* @internal */
104
104
  var Comparison;
105
105
  (function (Comparison) {
@@ -120,7 +120,7 @@ var ts;
120
120
  function tryGetNativeMap() {
121
121
  // Internet Explorer's Map doesn't support iteration, so don't use it.
122
122
  var gMap = globals === null || globals === void 0 ? void 0 : globals.Map;
123
- // eslint-disable-next-line no-in-operator
123
+ // eslint-disable-next-line local/no-in-operator
124
124
  var constructor = typeof gMap !== "undefined" && "entries" in gMap.prototype && new gMap([[0, 0]]).size === 1 ? gMap : undefined;
125
125
  if (!constructor) {
126
126
  throw new Error("No compatible Map implementation found.");
@@ -134,7 +134,7 @@ var ts;
134
134
  function tryGetNativeSet() {
135
135
  // Internet Explorer's Set doesn't support iteration, so don't use it.
136
136
  var gSet = globals === null || globals === void 0 ? void 0 : globals.Set;
137
- // eslint-disable-next-line no-in-operator
137
+ // eslint-disable-next-line local/no-in-operator
138
138
  var constructor = typeof gSet !== "undefined" && "entries" in gSet.prototype && new gSet([0]).size === 1 ? gSet : undefined;
139
139
  if (!constructor) {
140
140
  throw new Error("No compatible Set implementation found.");
@@ -2488,6 +2488,7 @@ var ts;
2488
2488
  var currentAssertionLevel = 0 /* None */;
2489
2489
  Debug.currentLogLevel = LogLevel.Warning;
2490
2490
  Debug.isDebugging = false;
2491
+ Debug.enableDeprecationWarnings = true;
2491
2492
  function getTypeScriptVersion() {
2492
2493
  return typeScriptVersion !== null && typeScriptVersion !== void 0 ? typeScriptVersion : (typeScriptVersion = new ts.Version(ts.version));
2493
2494
  }
@@ -2832,7 +2833,7 @@ var ts;
2832
2833
  Debug.formatControlFlowGraph = formatControlFlowGraph;
2833
2834
  var flowNodeProto;
2834
2835
  function attachFlowNodeDebugInfoWorker(flowNode) {
2835
- if (!("__debugFlowFlags" in flowNode)) { // eslint-disable-line no-in-operator
2836
+ if (!("__debugFlowFlags" in flowNode)) { // eslint-disable-line local/no-in-operator
2836
2837
  Object.defineProperties(flowNode, {
2837
2838
  // for use with vscode-js-debug's new customDescriptionGenerator in launch.json
2838
2839
  __tsDebuggerDisplay: {
@@ -2878,7 +2879,7 @@ var ts;
2878
2879
  Debug.attachFlowNodeDebugInfo = attachFlowNodeDebugInfo;
2879
2880
  var nodeArrayProto;
2880
2881
  function attachNodeArrayDebugInfoWorker(array) {
2881
- if (!("__tsDebuggerDisplay" in array)) { // eslint-disable-line no-in-operator
2882
+ if (!("__tsDebuggerDisplay" in array)) { // eslint-disable-line local/no-in-operator
2882
2883
  Object.defineProperties(array, {
2883
2884
  __tsDebuggerDisplay: {
2884
2885
  value: function (defaultValue) {
@@ -3111,7 +3112,7 @@ var ts;
3111
3112
  function createWarningDeprecation(name, errorAfter, since, message) {
3112
3113
  var hasWrittenDeprecation = false;
3113
3114
  return function () {
3114
- if (!hasWrittenDeprecation) {
3115
+ if (Debug.enableDeprecationWarnings && !hasWrittenDeprecation) {
3115
3116
  log.warn(formatDeprecationMessage(name, /*error*/ false, errorAfter, since, message));
3116
3117
  hasWrittenDeprecation = true;
3117
3118
  }
@@ -4067,7 +4068,7 @@ var ts;
4067
4068
  var substitutionType = type;
4068
4069
  substitutionProperties = {
4069
4070
  substitutionBaseType: (_o = substitutionType.baseType) === null || _o === void 0 ? void 0 : _o.id,
4070
- substituteType: (_p = substitutionType.substitute) === null || _p === void 0 ? void 0 : _p.id,
4071
+ constraintType: (_p = substitutionType.constraint) === null || _p === void 0 ? void 0 : _p.id,
4071
4072
  };
4072
4073
  }
4073
4074
  var reverseMappedProperties = {};
@@ -21390,7 +21391,7 @@ var ts;
21390
21391
  case 165 /* Decorator */: {
21391
21392
  var parent_2 = node.parent;
21392
21393
  return ts.canHaveDecorators(parent_2) ? parent_2.modifiers :
21393
- ts.canHaveIllegalDecorators(parent_2) ? parent_2.decorators :
21394
+ ts.canHaveIllegalDecorators(parent_2) ? parent_2.illegalDecorators :
21394
21395
  undefined;
21395
21396
  }
21396
21397
  case 291 /* HeritageClause */:
@@ -23467,7 +23468,7 @@ var ts;
23467
23468
  node.body = body;
23468
23469
  node.transformFlags = propagateChildFlags(body) | 16777216 /* ContainsClassFields */;
23469
23470
  // The following properties are used only to report grammar errors
23470
- node.decorators = undefined;
23471
+ node.illegalDecorators = undefined;
23471
23472
  node.modifiers = undefined;
23472
23473
  return node;
23473
23474
  }
@@ -23479,7 +23480,7 @@ var ts;
23479
23480
  }
23480
23481
  function finishUpdateClassStaticBlockDeclaration(updated, original) {
23481
23482
  if (updated !== original) {
23482
- updated.decorators = original.decorators;
23483
+ updated.illegalDecorators = original.illegalDecorators;
23483
23484
  updated.modifiers = original.modifiers;
23484
23485
  }
23485
23486
  return update(updated, original);
@@ -23492,7 +23493,7 @@ var ts;
23492
23493
  /*type*/ undefined, body);
23493
23494
  node.transformFlags |= 1024 /* ContainsES2015 */;
23494
23495
  // The following properties are used only to report grammar errors
23495
- node.decorators = undefined;
23496
+ node.illegalDecorators = undefined;
23496
23497
  node.typeParameters = undefined;
23497
23498
  node.type = undefined;
23498
23499
  return node;
@@ -23507,7 +23508,7 @@ var ts;
23507
23508
  }
23508
23509
  function finishUpdateConstructorDeclaration(updated, original) {
23509
23510
  if (updated !== original) {
23510
- updated.decorators = original.decorators;
23511
+ updated.illegalDecorators = original.illegalDecorators;
23511
23512
  updated.typeParameters = original.typeParameters;
23512
23513
  updated.type = original.type;
23513
23514
  }
@@ -25255,7 +25256,7 @@ var ts;
25255
25256
  }
25256
25257
  }
25257
25258
  // The following properties are used only to report grammar errors
25258
- node.decorators = undefined;
25259
+ node.illegalDecorators = undefined;
25259
25260
  return node;
25260
25261
  }
25261
25262
  // @api
@@ -25273,7 +25274,7 @@ var ts;
25273
25274
  function finishUpdateFunctionDeclaration(updated, original) {
25274
25275
  if (updated !== original) {
25275
25276
  // copy children used only for error reporting
25276
- updated.decorators = original.decorators;
25277
+ updated.illegalDecorators = original.illegalDecorators;
25277
25278
  }
25278
25279
  return finishUpdateBaseSignatureDeclaration(updated, original);
25279
25280
  }
@@ -25307,7 +25308,7 @@ var ts;
25307
25308
  node.members = createNodeArray(members);
25308
25309
  node.transformFlags = 1 /* ContainsTypeScript */;
25309
25310
  // The following properties are used only to report grammar errors
25310
- node.decorators = undefined;
25311
+ node.illegalDecorators = undefined;
25311
25312
  return node;
25312
25313
  }
25313
25314
  // @api
@@ -25322,7 +25323,7 @@ var ts;
25322
25323
  }
25323
25324
  function finishUpdateInterfaceDeclaration(updated, original) {
25324
25325
  if (updated !== original) {
25325
- updated.decorators = original.decorators;
25326
+ updated.illegalDecorators = original.illegalDecorators;
25326
25327
  }
25327
25328
  return update(updated, original);
25328
25329
  }
@@ -25332,7 +25333,7 @@ var ts;
25332
25333
  node.type = type;
25333
25334
  node.transformFlags = 1 /* ContainsTypeScript */;
25334
25335
  // The following properties are used only to report grammar errors
25335
- node.decorators = undefined;
25336
+ node.illegalDecorators = undefined;
25336
25337
  return node;
25337
25338
  }
25338
25339
  // @api
@@ -25346,7 +25347,7 @@ var ts;
25346
25347
  }
25347
25348
  function finishUpdateTypeAliasDeclaration(updated, original) {
25348
25349
  if (updated !== original) {
25349
- updated.decorators = original.decorators;
25350
+ updated.illegalDecorators = original.illegalDecorators;
25350
25351
  }
25351
25352
  return update(updated, original);
25352
25353
  }
@@ -25359,7 +25360,7 @@ var ts;
25359
25360
  1 /* ContainsTypeScript */;
25360
25361
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */; // Enum declarations cannot contain `await`
25361
25362
  // The following properties are used only to report grammar errors
25362
- node.decorators = undefined;
25363
+ node.illegalDecorators = undefined;
25363
25364
  return node;
25364
25365
  }
25365
25366
  // @api
@@ -25372,7 +25373,7 @@ var ts;
25372
25373
  }
25373
25374
  function finishUpdateEnumDeclaration(updated, original) {
25374
25375
  if (updated !== original) {
25375
- updated.decorators = original.decorators;
25376
+ updated.illegalDecorators = original.illegalDecorators;
25376
25377
  }
25377
25378
  return update(updated, original);
25378
25379
  }
@@ -25396,7 +25397,7 @@ var ts;
25396
25397
  }
25397
25398
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */; // Module declarations cannot contain `await`.
25398
25399
  // The following properties are used only to report grammar errors
25399
- node.decorators = undefined;
25400
+ node.illegalDecorators = undefined;
25400
25401
  return node;
25401
25402
  }
25402
25403
  // @api
@@ -25409,7 +25410,7 @@ var ts;
25409
25410
  }
25410
25411
  function finishUpdateModuleDeclaration(updated, original) {
25411
25412
  if (updated !== original) {
25412
- updated.decorators = original.decorators;
25413
+ updated.illegalDecorators = original.illegalDecorators;
25413
25414
  }
25414
25415
  return update(updated, original);
25415
25416
  }
@@ -25445,7 +25446,7 @@ var ts;
25445
25446
  /*modifiers*/ undefined, name);
25446
25447
  node.transformFlags = 1 /* ContainsTypeScript */;
25447
25448
  // The following properties are used only to report grammar errors
25448
- node.decorators = undefined;
25449
+ node.illegalDecorators = undefined;
25449
25450
  node.modifiers = undefined;
25450
25451
  return node;
25451
25452
  }
@@ -25457,7 +25458,7 @@ var ts;
25457
25458
  }
25458
25459
  function finishUpdateNamespaceExportDeclaration(updated, original) {
25459
25460
  if (updated !== original) {
25460
- updated.decorators = original.decorators;
25461
+ updated.illegalDecorators = original.illegalDecorators;
25461
25462
  updated.modifiers = original.modifiers;
25462
25463
  }
25463
25464
  return update(updated, original);
@@ -25472,7 +25473,7 @@ var ts;
25472
25473
  node.transformFlags |= 1 /* ContainsTypeScript */;
25473
25474
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */; // Import= declaration is always parsed in an Await context
25474
25475
  // The following properties are used only to report grammar errors
25475
- node.decorators = undefined;
25476
+ node.illegalDecorators = undefined;
25476
25477
  return node;
25477
25478
  }
25478
25479
  // @api
@@ -25486,7 +25487,7 @@ var ts;
25486
25487
  }
25487
25488
  function finishUpdateImportEqualsDeclaration(updated, original) {
25488
25489
  if (updated !== original) {
25489
- updated.decorators = original.decorators;
25490
+ updated.illegalDecorators = original.illegalDecorators;
25490
25491
  }
25491
25492
  return update(updated, original);
25492
25493
  }
@@ -25502,7 +25503,7 @@ var ts;
25502
25503
  propagateChildFlags(node.moduleSpecifier);
25503
25504
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context
25504
25505
  // The following properties are used only to report grammar errors
25505
- node.decorators = undefined;
25506
+ node.illegalDecorators = undefined;
25506
25507
  return node;
25507
25508
  }
25508
25509
  // @api
@@ -25516,7 +25517,7 @@ var ts;
25516
25517
  }
25517
25518
  function finishUpdateImportDeclaration(updated, original) {
25518
25519
  if (updated !== original) {
25519
- updated.decorators = original.decorators;
25520
+ updated.illegalDecorators = original.illegalDecorators;
25520
25521
  }
25521
25522
  return update(updated, original);
25522
25523
  }
@@ -25662,7 +25663,7 @@ var ts;
25662
25663
  node.transformFlags |= propagateChildrenFlags(node.modifiers) | propagateChildFlags(node.expression);
25663
25664
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context
25664
25665
  // The following properties are used only to report grammar errors
25665
- node.decorators = undefined;
25666
+ node.illegalDecorators = undefined;
25666
25667
  return node;
25667
25668
  }
25668
25669
  // @api
@@ -25674,7 +25675,7 @@ var ts;
25674
25675
  }
25675
25676
  function finishUpdateExportAssignment(updated, original) {
25676
25677
  if (updated !== original) {
25677
- updated.decorators = original.decorators;
25678
+ updated.illegalDecorators = original.illegalDecorators;
25678
25679
  }
25679
25680
  return update(updated, original);
25680
25681
  }
@@ -25692,7 +25693,7 @@ var ts;
25692
25693
  propagateChildFlags(node.moduleSpecifier);
25693
25694
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context
25694
25695
  // The following properties are used only to report grammar errors
25695
- node.decorators = undefined;
25696
+ node.illegalDecorators = undefined;
25696
25697
  return node;
25697
25698
  }
25698
25699
  // @api
@@ -25707,7 +25708,7 @@ var ts;
25707
25708
  }
25708
25709
  function finishUpdateExportDeclaration(updated, original) {
25709
25710
  if (updated !== original) {
25710
- updated.decorators = original.decorators;
25711
+ updated.illegalDecorators = original.illegalDecorators;
25711
25712
  }
25712
25713
  return update(updated, original);
25713
25714
  }
@@ -26471,7 +26472,7 @@ var ts;
26471
26472
  propagateChildFlags(node.name) |
26472
26473
  propagateChildFlags(node.initializer);
26473
26474
  // The following properties are used only to report grammar errors
26474
- node.decorators = undefined;
26475
+ node.illegalDecorators = undefined;
26475
26476
  node.modifiers = undefined;
26476
26477
  node.questionToken = undefined;
26477
26478
  node.exclamationToken = undefined;
@@ -26487,7 +26488,7 @@ var ts;
26487
26488
  function finishUpdatePropertyAssignment(updated, original) {
26488
26489
  // copy children used only for error reporting
26489
26490
  if (updated !== original) {
26490
- updated.decorators = original.decorators;
26491
+ updated.illegalDecorators = original.illegalDecorators;
26491
26492
  updated.modifiers = original.modifiers;
26492
26493
  updated.questionToken = original.questionToken;
26493
26494
  updated.exclamationToken = original.exclamationToken;
@@ -26504,7 +26505,7 @@ var ts;
26504
26505
  1024 /* ContainsES2015 */;
26505
26506
  // The following properties are used only to report grammar errors
26506
26507
  node.equalsToken = undefined;
26507
- node.decorators = undefined;
26508
+ node.illegalDecorators = undefined;
26508
26509
  node.modifiers = undefined;
26509
26510
  node.questionToken = undefined;
26510
26511
  node.exclamationToken = undefined;
@@ -26521,7 +26522,7 @@ var ts;
26521
26522
  if (updated !== original) {
26522
26523
  // copy children used only for error reporting
26523
26524
  updated.equalsToken = original.equalsToken;
26524
- updated.decorators = original.decorators;
26525
+ updated.illegalDecorators = original.illegalDecorators;
26525
26526
  updated.modifiers = original.modifiers;
26526
26527
  updated.questionToken = original.questionToken;
26527
26528
  updated.exclamationToken = original.exclamationToken;
@@ -30533,17 +30534,6 @@ var ts;
30533
30534
  || kind === 173 /* SetAccessor */;
30534
30535
  }
30535
30536
  ts.canHaveIllegalTypeParameters = canHaveIllegalTypeParameters;
30536
- function canHaveDecorators(node) {
30537
- var kind = node.kind;
30538
- return kind === 164 /* Parameter */
30539
- || kind === 167 /* PropertyDeclaration */
30540
- || kind === 169 /* MethodDeclaration */
30541
- || kind === 172 /* GetAccessor */
30542
- || kind === 173 /* SetAccessor */
30543
- || kind === 226 /* ClassExpression */
30544
- || kind === 257 /* ClassDeclaration */;
30545
- }
30546
- ts.canHaveDecorators = canHaveDecorators;
30547
30537
  function canHaveIllegalDecorators(node) {
30548
30538
  var kind = node.kind;
30549
30539
  return kind === 296 /* PropertyAssignment */
@@ -30565,35 +30555,6 @@ var ts;
30565
30555
  || kind === 271 /* ExportAssignment */;
30566
30556
  }
30567
30557
  ts.canHaveIllegalDecorators = canHaveIllegalDecorators;
30568
- function canHaveModifiers(node) {
30569
- var kind = node.kind;
30570
- return kind === 163 /* TypeParameter */
30571
- || kind === 164 /* Parameter */
30572
- || kind === 166 /* PropertySignature */
30573
- || kind === 167 /* PropertyDeclaration */
30574
- || kind === 168 /* MethodSignature */
30575
- || kind === 169 /* MethodDeclaration */
30576
- || kind === 171 /* Constructor */
30577
- || kind === 172 /* GetAccessor */
30578
- || kind === 173 /* SetAccessor */
30579
- || kind === 176 /* IndexSignature */
30580
- || kind === 180 /* ConstructorType */
30581
- || kind === 213 /* FunctionExpression */
30582
- || kind === 214 /* ArrowFunction */
30583
- || kind === 226 /* ClassExpression */
30584
- || kind === 237 /* VariableStatement */
30585
- || kind === 256 /* FunctionDeclaration */
30586
- || kind === 257 /* ClassDeclaration */
30587
- || kind === 258 /* InterfaceDeclaration */
30588
- || kind === 259 /* TypeAliasDeclaration */
30589
- || kind === 260 /* EnumDeclaration */
30590
- || kind === 261 /* ModuleDeclaration */
30591
- || kind === 265 /* ImportEqualsDeclaration */
30592
- || kind === 266 /* ImportDeclaration */
30593
- || kind === 271 /* ExportAssignment */
30594
- || kind === 272 /* ExportDeclaration */;
30595
- }
30596
- ts.canHaveModifiers = canHaveModifiers;
30597
30558
  function canHaveIllegalModifiers(node) {
30598
30559
  var kind = node.kind;
30599
30560
  return kind === 170 /* ClassStaticBlockDeclaration */
@@ -30882,9 +30843,50 @@ var ts;
30882
30843
  return location ? ts.setTextRangePosEnd(range, location.pos, location.end) : range;
30883
30844
  }
30884
30845
  ts.setTextRange = setTextRange;
30846
+ function canHaveModifiers(node) {
30847
+ var kind = node.kind;
30848
+ return kind === 163 /* TypeParameter */
30849
+ || kind === 164 /* Parameter */
30850
+ || kind === 166 /* PropertySignature */
30851
+ || kind === 167 /* PropertyDeclaration */
30852
+ || kind === 168 /* MethodSignature */
30853
+ || kind === 169 /* MethodDeclaration */
30854
+ || kind === 171 /* Constructor */
30855
+ || kind === 172 /* GetAccessor */
30856
+ || kind === 173 /* SetAccessor */
30857
+ || kind === 176 /* IndexSignature */
30858
+ || kind === 180 /* ConstructorType */
30859
+ || kind === 213 /* FunctionExpression */
30860
+ || kind === 214 /* ArrowFunction */
30861
+ || kind === 226 /* ClassExpression */
30862
+ || kind === 237 /* VariableStatement */
30863
+ || kind === 256 /* FunctionDeclaration */
30864
+ || kind === 257 /* ClassDeclaration */
30865
+ || kind === 258 /* InterfaceDeclaration */
30866
+ || kind === 259 /* TypeAliasDeclaration */
30867
+ || kind === 260 /* EnumDeclaration */
30868
+ || kind === 261 /* ModuleDeclaration */
30869
+ || kind === 265 /* ImportEqualsDeclaration */
30870
+ || kind === 266 /* ImportDeclaration */
30871
+ || kind === 271 /* ExportAssignment */
30872
+ || kind === 272 /* ExportDeclaration */;
30873
+ }
30874
+ ts.canHaveModifiers = canHaveModifiers;
30875
+ function canHaveDecorators(node) {
30876
+ var kind = node.kind;
30877
+ return kind === 164 /* Parameter */
30878
+ || kind === 167 /* PropertyDeclaration */
30879
+ || kind === 169 /* MethodDeclaration */
30880
+ || kind === 172 /* GetAccessor */
30881
+ || kind === 173 /* SetAccessor */
30882
+ || kind === 226 /* ClassExpression */
30883
+ || kind === 257 /* ClassDeclaration */;
30884
+ }
30885
+ ts.canHaveDecorators = canHaveDecorators;
30885
30886
  })(ts || (ts = {}));
30886
30887
  var ts;
30887
30888
  (function (ts) {
30889
+ var _a;
30888
30890
  var SignatureFlags;
30889
30891
  (function (SignatureFlags) {
30890
30892
  SignatureFlags[SignatureFlags["None"] = 0] = "None";
@@ -30972,6 +30974,715 @@ var ts;
30972
30974
  function isImportMeta(node) {
30973
30975
  return ts.isMetaProperty(node) && node.keywordToken === 100 /* ImportKeyword */ && node.name.escapedText === "meta";
30974
30976
  }
30977
+ var forEachChildTable = (_a = {},
30978
+ _a[161 /* QualifiedName */] = function forEachChildInQualifiedName(node, cbNode, _cbNodes) {
30979
+ return visitNode(cbNode, node.left) ||
30980
+ visitNode(cbNode, node.right);
30981
+ },
30982
+ _a[163 /* TypeParameter */] = function forEachChildInTypeParameter(node, cbNode, cbNodes) {
30983
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
30984
+ visitNode(cbNode, node.name) ||
30985
+ visitNode(cbNode, node.constraint) ||
30986
+ visitNode(cbNode, node.default) ||
30987
+ visitNode(cbNode, node.expression);
30988
+ },
30989
+ _a[297 /* ShorthandPropertyAssignment */] = function forEachChildInShorthandPropertyAssignment(node, cbNode, cbNodes) {
30990
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
30991
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
30992
+ visitNode(cbNode, node.name) ||
30993
+ visitNode(cbNode, node.questionToken) ||
30994
+ visitNode(cbNode, node.exclamationToken) ||
30995
+ visitNode(cbNode, node.equalsToken) ||
30996
+ visitNode(cbNode, node.objectAssignmentInitializer);
30997
+ },
30998
+ _a[298 /* SpreadAssignment */] = function forEachChildInSpreadAssignment(node, cbNode, _cbNodes) {
30999
+ return visitNode(cbNode, node.expression);
31000
+ },
31001
+ _a[164 /* Parameter */] = function forEachChildInParameter(node, cbNode, cbNodes) {
31002
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31003
+ visitNode(cbNode, node.dotDotDotToken) ||
31004
+ visitNode(cbNode, node.name) ||
31005
+ visitNode(cbNode, node.questionToken) ||
31006
+ visitNode(cbNode, node.type) ||
31007
+ visitNode(cbNode, node.initializer);
31008
+ },
31009
+ _a[167 /* PropertyDeclaration */] = function forEachChildInPropertyDeclaration(node, cbNode, cbNodes) {
31010
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31011
+ visitNode(cbNode, node.name) ||
31012
+ visitNode(cbNode, node.questionToken) ||
31013
+ visitNode(cbNode, node.exclamationToken) ||
31014
+ visitNode(cbNode, node.type) ||
31015
+ visitNode(cbNode, node.initializer);
31016
+ },
31017
+ _a[166 /* PropertySignature */] = function forEachChildInPropertySignature(node, cbNode, cbNodes) {
31018
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31019
+ visitNode(cbNode, node.name) ||
31020
+ visitNode(cbNode, node.questionToken) ||
31021
+ visitNode(cbNode, node.type) ||
31022
+ visitNode(cbNode, node.initializer);
31023
+ },
31024
+ _a[296 /* PropertyAssignment */] = function forEachChildInPropertyAssignment(node, cbNode, cbNodes) {
31025
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31026
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31027
+ visitNode(cbNode, node.name) ||
31028
+ visitNode(cbNode, node.questionToken) ||
31029
+ visitNode(cbNode, node.exclamationToken) ||
31030
+ visitNode(cbNode, node.initializer);
31031
+ },
31032
+ _a[254 /* VariableDeclaration */] = function forEachChildInVariableDeclaration(node, cbNode, _cbNodes) {
31033
+ return visitNode(cbNode, node.name) ||
31034
+ visitNode(cbNode, node.exclamationToken) ||
31035
+ visitNode(cbNode, node.type) ||
31036
+ visitNode(cbNode, node.initializer);
31037
+ },
31038
+ _a[203 /* BindingElement */] = function forEachChildInBindingElement(node, cbNode, _cbNodes) {
31039
+ return visitNode(cbNode, node.dotDotDotToken) ||
31040
+ visitNode(cbNode, node.propertyName) ||
31041
+ visitNode(cbNode, node.name) ||
31042
+ visitNode(cbNode, node.initializer);
31043
+ },
31044
+ _a[176 /* IndexSignature */] = function forEachChildInIndexSignature(node, cbNode, cbNodes) {
31045
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31046
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31047
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31048
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31049
+ visitNode(cbNode, node.type);
31050
+ },
31051
+ _a[180 /* ConstructorType */] = function forEachChildInConstructorType(node, cbNode, cbNodes) {
31052
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31053
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31054
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31055
+ visitNode(cbNode, node.type);
31056
+ },
31057
+ _a[179 /* FunctionType */] = function forEachChildInFunctionType(node, cbNode, cbNodes) {
31058
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31059
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31060
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31061
+ visitNode(cbNode, node.type);
31062
+ },
31063
+ _a[174 /* CallSignature */] = forEachChildInCallOrConstructSignature,
31064
+ _a[175 /* ConstructSignature */] = forEachChildInCallOrConstructSignature,
31065
+ _a[169 /* MethodDeclaration */] = function forEachChildInMethodDeclaration(node, cbNode, cbNodes) {
31066
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31067
+ visitNode(cbNode, node.asteriskToken) ||
31068
+ visitNode(cbNode, node.name) ||
31069
+ visitNode(cbNode, node.questionToken) ||
31070
+ visitNode(cbNode, node.exclamationToken) ||
31071
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31072
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31073
+ visitNode(cbNode, node.type) ||
31074
+ visitNode(cbNode, node.body);
31075
+ },
31076
+ _a[168 /* MethodSignature */] = function forEachChildInMethodSignature(node, cbNode, cbNodes) {
31077
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31078
+ visitNode(cbNode, node.name) ||
31079
+ visitNode(cbNode, node.questionToken) ||
31080
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31081
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31082
+ visitNode(cbNode, node.type);
31083
+ },
31084
+ _a[171 /* Constructor */] = function forEachChildInConstructor(node, cbNode, cbNodes) {
31085
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31086
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31087
+ visitNode(cbNode, node.name) ||
31088
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31089
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31090
+ visitNode(cbNode, node.type) ||
31091
+ visitNode(cbNode, node.body);
31092
+ },
31093
+ _a[172 /* GetAccessor */] = function forEachChildInGetAccessor(node, cbNode, cbNodes) {
31094
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31095
+ visitNode(cbNode, node.name) ||
31096
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31097
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31098
+ visitNode(cbNode, node.type) ||
31099
+ visitNode(cbNode, node.body);
31100
+ },
31101
+ _a[173 /* SetAccessor */] = function forEachChildInSetAccessor(node, cbNode, cbNodes) {
31102
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31103
+ visitNode(cbNode, node.name) ||
31104
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31105
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31106
+ visitNode(cbNode, node.type) ||
31107
+ visitNode(cbNode, node.body);
31108
+ },
31109
+ _a[256 /* FunctionDeclaration */] = function forEachChildInFunctionDeclaration(node, cbNode, cbNodes) {
31110
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31111
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31112
+ visitNode(cbNode, node.asteriskToken) ||
31113
+ visitNode(cbNode, node.name) ||
31114
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31115
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31116
+ visitNode(cbNode, node.type) ||
31117
+ visitNode(cbNode, node.body);
31118
+ },
31119
+ _a[213 /* FunctionExpression */] = function forEachChildInFunctionExpression(node, cbNode, cbNodes) {
31120
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31121
+ visitNode(cbNode, node.asteriskToken) ||
31122
+ visitNode(cbNode, node.name) ||
31123
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31124
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31125
+ visitNode(cbNode, node.type) ||
31126
+ visitNode(cbNode, node.body);
31127
+ },
31128
+ _a[214 /* ArrowFunction */] = function forEachChildInArrowFunction(node, cbNode, cbNodes) {
31129
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31130
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31131
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31132
+ visitNode(cbNode, node.type) ||
31133
+ visitNode(cbNode, node.equalsGreaterThanToken) ||
31134
+ visitNode(cbNode, node.body);
31135
+ },
31136
+ _a[170 /* ClassStaticBlockDeclaration */] = function forEachChildInClassStaticBlockDeclaration(node, cbNode, cbNodes) {
31137
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31138
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31139
+ visitNode(cbNode, node.body);
31140
+ },
31141
+ _a[178 /* TypeReference */] = function forEachChildInTypeReference(node, cbNode, cbNodes) {
31142
+ return visitNode(cbNode, node.typeName) ||
31143
+ visitNodes(cbNode, cbNodes, node.typeArguments);
31144
+ },
31145
+ _a[177 /* TypePredicate */] = function forEachChildInTypePredicate(node, cbNode, _cbNodes) {
31146
+ return visitNode(cbNode, node.assertsModifier) ||
31147
+ visitNode(cbNode, node.parameterName) ||
31148
+ visitNode(cbNode, node.type);
31149
+ },
31150
+ _a[181 /* TypeQuery */] = function forEachChildInTypeQuery(node, cbNode, cbNodes) {
31151
+ return visitNode(cbNode, node.exprName) ||
31152
+ visitNodes(cbNode, cbNodes, node.typeArguments);
31153
+ },
31154
+ _a[182 /* TypeLiteral */] = function forEachChildInTypeLiteral(node, cbNode, cbNodes) {
31155
+ return visitNodes(cbNode, cbNodes, node.members);
31156
+ },
31157
+ _a[183 /* ArrayType */] = function forEachChildInArrayType(node, cbNode, _cbNodes) {
31158
+ return visitNode(cbNode, node.elementType);
31159
+ },
31160
+ _a[184 /* TupleType */] = function forEachChildInTupleType(node, cbNode, cbNodes) {
31161
+ return visitNodes(cbNode, cbNodes, node.elements);
31162
+ },
31163
+ _a[187 /* UnionType */] = forEachChildInUnionOrIntersectionType,
31164
+ _a[188 /* IntersectionType */] = forEachChildInUnionOrIntersectionType,
31165
+ _a[189 /* ConditionalType */] = function forEachChildInConditionalType(node, cbNode, _cbNodes) {
31166
+ return visitNode(cbNode, node.checkType) ||
31167
+ visitNode(cbNode, node.extendsType) ||
31168
+ visitNode(cbNode, node.trueType) ||
31169
+ visitNode(cbNode, node.falseType);
31170
+ },
31171
+ _a[190 /* InferType */] = function forEachChildInInferType(node, cbNode, _cbNodes) {
31172
+ return visitNode(cbNode, node.typeParameter);
31173
+ },
31174
+ _a[200 /* ImportType */] = function forEachChildInImportType(node, cbNode, cbNodes) {
31175
+ return visitNode(cbNode, node.argument) ||
31176
+ visitNode(cbNode, node.assertions) ||
31177
+ visitNode(cbNode, node.qualifier) ||
31178
+ visitNodes(cbNode, cbNodes, node.typeArguments);
31179
+ },
31180
+ _a[295 /* ImportTypeAssertionContainer */] = function forEachChildInImportTypeAssertionContainer(node, cbNode, _cbNodes) {
31181
+ return visitNode(cbNode, node.assertClause);
31182
+ },
31183
+ _a[191 /* ParenthesizedType */] = forEachChildInParenthesizedTypeOrTypeOperator,
31184
+ _a[193 /* TypeOperator */] = forEachChildInParenthesizedTypeOrTypeOperator,
31185
+ _a[194 /* IndexedAccessType */] = function forEachChildInIndexedAccessType(node, cbNode, _cbNodes) {
31186
+ return visitNode(cbNode, node.objectType) ||
31187
+ visitNode(cbNode, node.indexType);
31188
+ },
31189
+ _a[195 /* MappedType */] = function forEachChildInMappedType(node, cbNode, cbNodes) {
31190
+ return visitNode(cbNode, node.readonlyToken) ||
31191
+ visitNode(cbNode, node.typeParameter) ||
31192
+ visitNode(cbNode, node.nameType) ||
31193
+ visitNode(cbNode, node.questionToken) ||
31194
+ visitNode(cbNode, node.type) ||
31195
+ visitNodes(cbNode, cbNodes, node.members);
31196
+ },
31197
+ _a[196 /* LiteralType */] = function forEachChildInLiteralType(node, cbNode, _cbNodes) {
31198
+ return visitNode(cbNode, node.literal);
31199
+ },
31200
+ _a[197 /* NamedTupleMember */] = function forEachChildInNamedTupleMember(node, cbNode, _cbNodes) {
31201
+ return visitNode(cbNode, node.dotDotDotToken) ||
31202
+ visitNode(cbNode, node.name) ||
31203
+ visitNode(cbNode, node.questionToken) ||
31204
+ visitNode(cbNode, node.type);
31205
+ },
31206
+ _a[201 /* ObjectBindingPattern */] = forEachChildInObjectOrArrayBindingPattern,
31207
+ _a[202 /* ArrayBindingPattern */] = forEachChildInObjectOrArrayBindingPattern,
31208
+ _a[204 /* ArrayLiteralExpression */] = function forEachChildInArrayLiteralExpression(node, cbNode, cbNodes) {
31209
+ return visitNodes(cbNode, cbNodes, node.elements);
31210
+ },
31211
+ _a[205 /* ObjectLiteralExpression */] = function forEachChildInObjectLiteralExpression(node, cbNode, cbNodes) {
31212
+ return visitNodes(cbNode, cbNodes, node.properties);
31213
+ },
31214
+ _a[206 /* PropertyAccessExpression */] = function forEachChildInPropertyAccessExpression(node, cbNode, _cbNodes) {
31215
+ return visitNode(cbNode, node.expression) ||
31216
+ visitNode(cbNode, node.questionDotToken) ||
31217
+ visitNode(cbNode, node.name);
31218
+ },
31219
+ _a[207 /* ElementAccessExpression */] = function forEachChildInElementAccessExpression(node, cbNode, _cbNodes) {
31220
+ return visitNode(cbNode, node.expression) ||
31221
+ visitNode(cbNode, node.questionDotToken) ||
31222
+ visitNode(cbNode, node.argumentExpression);
31223
+ },
31224
+ _a[208 /* CallExpression */] = forEachChildInCallOrNewExpression,
31225
+ _a[209 /* NewExpression */] = forEachChildInCallOrNewExpression,
31226
+ _a[210 /* TaggedTemplateExpression */] = function forEachChildInTaggedTemplateExpression(node, cbNode, cbNodes) {
31227
+ return visitNode(cbNode, node.tag) ||
31228
+ visitNode(cbNode, node.questionDotToken) ||
31229
+ visitNodes(cbNode, cbNodes, node.typeArguments) ||
31230
+ visitNode(cbNode, node.template);
31231
+ },
31232
+ _a[211 /* TypeAssertionExpression */] = function forEachChildInTypeAssertionExpression(node, cbNode, _cbNodes) {
31233
+ return visitNode(cbNode, node.type) ||
31234
+ visitNode(cbNode, node.expression);
31235
+ },
31236
+ _a[212 /* ParenthesizedExpression */] = function forEachChildInParenthesizedExpression(node, cbNode, _cbNodes) {
31237
+ return visitNode(cbNode, node.expression);
31238
+ },
31239
+ _a[215 /* DeleteExpression */] = function forEachChildInDeleteExpression(node, cbNode, _cbNodes) {
31240
+ return visitNode(cbNode, node.expression);
31241
+ },
31242
+ _a[216 /* TypeOfExpression */] = function forEachChildInTypeOfExpression(node, cbNode, _cbNodes) {
31243
+ return visitNode(cbNode, node.expression);
31244
+ },
31245
+ _a[217 /* VoidExpression */] = function forEachChildInVoidExpression(node, cbNode, _cbNodes) {
31246
+ return visitNode(cbNode, node.expression);
31247
+ },
31248
+ _a[219 /* PrefixUnaryExpression */] = function forEachChildInPrefixUnaryExpression(node, cbNode, _cbNodes) {
31249
+ return visitNode(cbNode, node.operand);
31250
+ },
31251
+ _a[224 /* YieldExpression */] = function forEachChildInYieldExpression(node, cbNode, _cbNodes) {
31252
+ return visitNode(cbNode, node.asteriskToken) ||
31253
+ visitNode(cbNode, node.expression);
31254
+ },
31255
+ _a[218 /* AwaitExpression */] = function forEachChildInAwaitExpression(node, cbNode, _cbNodes) {
31256
+ return visitNode(cbNode, node.expression);
31257
+ },
31258
+ _a[220 /* PostfixUnaryExpression */] = function forEachChildInPostfixUnaryExpression(node, cbNode, _cbNodes) {
31259
+ return visitNode(cbNode, node.operand);
31260
+ },
31261
+ _a[221 /* BinaryExpression */] = function forEachChildInBinaryExpression(node, cbNode, _cbNodes) {
31262
+ return visitNode(cbNode, node.left) ||
31263
+ visitNode(cbNode, node.operatorToken) ||
31264
+ visitNode(cbNode, node.right);
31265
+ },
31266
+ _a[229 /* AsExpression */] = function forEachChildInAsExpression(node, cbNode, _cbNodes) {
31267
+ return visitNode(cbNode, node.expression) ||
31268
+ visitNode(cbNode, node.type);
31269
+ },
31270
+ _a[230 /* NonNullExpression */] = function forEachChildInNonNullExpression(node, cbNode, _cbNodes) {
31271
+ return visitNode(cbNode, node.expression);
31272
+ },
31273
+ _a[231 /* MetaProperty */] = function forEachChildInMetaProperty(node, cbNode, _cbNodes) {
31274
+ return visitNode(cbNode, node.name);
31275
+ },
31276
+ _a[222 /* ConditionalExpression */] = function forEachChildInConditionalExpression(node, cbNode, _cbNodes) {
31277
+ return visitNode(cbNode, node.condition) ||
31278
+ visitNode(cbNode, node.questionToken) ||
31279
+ visitNode(cbNode, node.whenTrue) ||
31280
+ visitNode(cbNode, node.colonToken) ||
31281
+ visitNode(cbNode, node.whenFalse);
31282
+ },
31283
+ _a[225 /* SpreadElement */] = function forEachChildInSpreadElement(node, cbNode, _cbNodes) {
31284
+ return visitNode(cbNode, node.expression);
31285
+ },
31286
+ _a[235 /* Block */] = forEachChildInBlock,
31287
+ _a[262 /* ModuleBlock */] = forEachChildInBlock,
31288
+ _a[305 /* SourceFile */] = function forEachChildInSourceFile(node, cbNode, cbNodes) {
31289
+ return visitNodes(cbNode, cbNodes, node.statements) ||
31290
+ visitNode(cbNode, node.endOfFileToken);
31291
+ },
31292
+ _a[237 /* VariableStatement */] = function forEachChildInVariableStatement(node, cbNode, cbNodes) {
31293
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31294
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31295
+ visitNode(cbNode, node.declarationList);
31296
+ },
31297
+ _a[255 /* VariableDeclarationList */] = function forEachChildInVariableDeclarationList(node, cbNode, cbNodes) {
31298
+ return visitNodes(cbNode, cbNodes, node.declarations);
31299
+ },
31300
+ _a[238 /* ExpressionStatement */] = function forEachChildInExpressionStatement(node, cbNode, _cbNodes) {
31301
+ return visitNode(cbNode, node.expression);
31302
+ },
31303
+ _a[239 /* IfStatement */] = function forEachChildInIfStatement(node, cbNode, _cbNodes) {
31304
+ return visitNode(cbNode, node.expression) ||
31305
+ visitNode(cbNode, node.thenStatement) ||
31306
+ visitNode(cbNode, node.elseStatement);
31307
+ },
31308
+ _a[240 /* DoStatement */] = function forEachChildInDoStatement(node, cbNode, _cbNodes) {
31309
+ return visitNode(cbNode, node.statement) ||
31310
+ visitNode(cbNode, node.expression);
31311
+ },
31312
+ _a[241 /* WhileStatement */] = function forEachChildInWhileStatement(node, cbNode, _cbNodes) {
31313
+ return visitNode(cbNode, node.expression) ||
31314
+ visitNode(cbNode, node.statement);
31315
+ },
31316
+ _a[242 /* ForStatement */] = function forEachChildInForStatement(node, cbNode, _cbNodes) {
31317
+ return visitNode(cbNode, node.initializer) ||
31318
+ visitNode(cbNode, node.condition) ||
31319
+ visitNode(cbNode, node.incrementor) ||
31320
+ visitNode(cbNode, node.statement);
31321
+ },
31322
+ _a[243 /* ForInStatement */] = function forEachChildInForInStatement(node, cbNode, _cbNodes) {
31323
+ return visitNode(cbNode, node.initializer) ||
31324
+ visitNode(cbNode, node.expression) ||
31325
+ visitNode(cbNode, node.statement);
31326
+ },
31327
+ _a[244 /* ForOfStatement */] = function forEachChildInForOfStatement(node, cbNode, _cbNodes) {
31328
+ return visitNode(cbNode, node.awaitModifier) ||
31329
+ visitNode(cbNode, node.initializer) ||
31330
+ visitNode(cbNode, node.expression) ||
31331
+ visitNode(cbNode, node.statement);
31332
+ },
31333
+ _a[245 /* ContinueStatement */] = forEachChildInContinueOrBreakStatement,
31334
+ _a[246 /* BreakStatement */] = forEachChildInContinueOrBreakStatement,
31335
+ _a[247 /* ReturnStatement */] = function forEachChildInReturnStatement(node, cbNode, _cbNodes) {
31336
+ return visitNode(cbNode, node.expression);
31337
+ },
31338
+ _a[248 /* WithStatement */] = function forEachChildInWithStatement(node, cbNode, _cbNodes) {
31339
+ return visitNode(cbNode, node.expression) ||
31340
+ visitNode(cbNode, node.statement);
31341
+ },
31342
+ _a[249 /* SwitchStatement */] = function forEachChildInSwitchStatement(node, cbNode, _cbNodes) {
31343
+ return visitNode(cbNode, node.expression) ||
31344
+ visitNode(cbNode, node.caseBlock);
31345
+ },
31346
+ _a[263 /* CaseBlock */] = function forEachChildInCaseBlock(node, cbNode, cbNodes) {
31347
+ return visitNodes(cbNode, cbNodes, node.clauses);
31348
+ },
31349
+ _a[289 /* CaseClause */] = function forEachChildInCaseClause(node, cbNode, cbNodes) {
31350
+ return visitNode(cbNode, node.expression) ||
31351
+ visitNodes(cbNode, cbNodes, node.statements);
31352
+ },
31353
+ _a[290 /* DefaultClause */] = function forEachChildInDefaultClause(node, cbNode, cbNodes) {
31354
+ return visitNodes(cbNode, cbNodes, node.statements);
31355
+ },
31356
+ _a[250 /* LabeledStatement */] = function forEachChildInLabeledStatement(node, cbNode, _cbNodes) {
31357
+ return visitNode(cbNode, node.label) ||
31358
+ visitNode(cbNode, node.statement);
31359
+ },
31360
+ _a[251 /* ThrowStatement */] = function forEachChildInThrowStatement(node, cbNode, _cbNodes) {
31361
+ return visitNode(cbNode, node.expression);
31362
+ },
31363
+ _a[252 /* TryStatement */] = function forEachChildInTryStatement(node, cbNode, _cbNodes) {
31364
+ return visitNode(cbNode, node.tryBlock) ||
31365
+ visitNode(cbNode, node.catchClause) ||
31366
+ visitNode(cbNode, node.finallyBlock);
31367
+ },
31368
+ _a[292 /* CatchClause */] = function forEachChildInCatchClause(node, cbNode, _cbNodes) {
31369
+ return visitNode(cbNode, node.variableDeclaration) ||
31370
+ visitNode(cbNode, node.block);
31371
+ },
31372
+ _a[165 /* Decorator */] = function forEachChildInDecorator(node, cbNode, _cbNodes) {
31373
+ return visitNode(cbNode, node.expression);
31374
+ },
31375
+ _a[257 /* ClassDeclaration */] = forEachChildInClassDeclarationOrExpression,
31376
+ _a[226 /* ClassExpression */] = forEachChildInClassDeclarationOrExpression,
31377
+ _a[258 /* InterfaceDeclaration */] = function forEachChildInInterfaceDeclaration(node, cbNode, cbNodes) {
31378
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31379
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31380
+ visitNode(cbNode, node.name) ||
31381
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31382
+ visitNodes(cbNode, cbNodes, node.heritageClauses) ||
31383
+ visitNodes(cbNode, cbNodes, node.members);
31384
+ },
31385
+ _a[259 /* TypeAliasDeclaration */] = function forEachChildInTypeAliasDeclaration(node, cbNode, cbNodes) {
31386
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31387
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31388
+ visitNode(cbNode, node.name) ||
31389
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31390
+ visitNode(cbNode, node.type);
31391
+ },
31392
+ _a[260 /* EnumDeclaration */] = function forEachChildInEnumDeclaration(node, cbNode, cbNodes) {
31393
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31394
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31395
+ visitNode(cbNode, node.name) ||
31396
+ visitNodes(cbNode, cbNodes, node.members);
31397
+ },
31398
+ _a[299 /* EnumMember */] = function forEachChildInEnumMember(node, cbNode, _cbNodes) {
31399
+ return visitNode(cbNode, node.name) ||
31400
+ visitNode(cbNode, node.initializer);
31401
+ },
31402
+ _a[261 /* ModuleDeclaration */] = function forEachChildInModuleDeclaration(node, cbNode, cbNodes) {
31403
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31404
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31405
+ visitNode(cbNode, node.name) ||
31406
+ visitNode(cbNode, node.body);
31407
+ },
31408
+ _a[265 /* ImportEqualsDeclaration */] = function forEachChildInImportEqualsDeclaration(node, cbNode, cbNodes) {
31409
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31410
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31411
+ visitNode(cbNode, node.name) ||
31412
+ visitNode(cbNode, node.moduleReference);
31413
+ },
31414
+ _a[266 /* ImportDeclaration */] = function forEachChildInImportDeclaration(node, cbNode, cbNodes) {
31415
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31416
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31417
+ visitNode(cbNode, node.importClause) ||
31418
+ visitNode(cbNode, node.moduleSpecifier) ||
31419
+ visitNode(cbNode, node.assertClause);
31420
+ },
31421
+ _a[267 /* ImportClause */] = function forEachChildInImportClause(node, cbNode, _cbNodes) {
31422
+ return visitNode(cbNode, node.name) ||
31423
+ visitNode(cbNode, node.namedBindings);
31424
+ },
31425
+ _a[293 /* AssertClause */] = function forEachChildInAssertClause(node, cbNode, cbNodes) {
31426
+ return visitNodes(cbNode, cbNodes, node.elements);
31427
+ },
31428
+ _a[294 /* AssertEntry */] = function forEachChildInAssertEntry(node, cbNode, _cbNodes) {
31429
+ return visitNode(cbNode, node.name) ||
31430
+ visitNode(cbNode, node.value);
31431
+ },
31432
+ _a[264 /* NamespaceExportDeclaration */] = function forEachChildInNamespaceExportDeclaration(node, cbNode, cbNodes) {
31433
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31434
+ visitNode(cbNode, node.name);
31435
+ },
31436
+ _a[268 /* NamespaceImport */] = function forEachChildInNamespaceImport(node, cbNode, _cbNodes) {
31437
+ return visitNode(cbNode, node.name);
31438
+ },
31439
+ _a[274 /* NamespaceExport */] = function forEachChildInNamespaceExport(node, cbNode, _cbNodes) {
31440
+ return visitNode(cbNode, node.name);
31441
+ },
31442
+ _a[269 /* NamedImports */] = forEachChildInNamedImportsOrExports,
31443
+ _a[273 /* NamedExports */] = forEachChildInNamedImportsOrExports,
31444
+ _a[272 /* ExportDeclaration */] = function forEachChildInExportDeclaration(node, cbNode, cbNodes) {
31445
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31446
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31447
+ visitNode(cbNode, node.exportClause) ||
31448
+ visitNode(cbNode, node.moduleSpecifier) ||
31449
+ visitNode(cbNode, node.assertClause);
31450
+ },
31451
+ _a[270 /* ImportSpecifier */] = forEachChildInImportOrExportSpecifier,
31452
+ _a[275 /* ExportSpecifier */] = forEachChildInImportOrExportSpecifier,
31453
+ _a[271 /* ExportAssignment */] = function forEachChildInExportAssignment(node, cbNode, cbNodes) {
31454
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31455
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31456
+ visitNode(cbNode, node.expression);
31457
+ },
31458
+ _a[223 /* TemplateExpression */] = function forEachChildInTemplateExpression(node, cbNode, cbNodes) {
31459
+ return visitNode(cbNode, node.head) ||
31460
+ visitNodes(cbNode, cbNodes, node.templateSpans);
31461
+ },
31462
+ _a[233 /* TemplateSpan */] = function forEachChildInTemplateSpan(node, cbNode, _cbNodes) {
31463
+ return visitNode(cbNode, node.expression) ||
31464
+ visitNode(cbNode, node.literal);
31465
+ },
31466
+ _a[198 /* TemplateLiteralType */] = function forEachChildInTemplateLiteralType(node, cbNode, cbNodes) {
31467
+ return visitNode(cbNode, node.head) ||
31468
+ visitNodes(cbNode, cbNodes, node.templateSpans);
31469
+ },
31470
+ _a[199 /* TemplateLiteralTypeSpan */] = function forEachChildInTemplateLiteralTypeSpan(node, cbNode, _cbNodes) {
31471
+ return visitNode(cbNode, node.type) ||
31472
+ visitNode(cbNode, node.literal);
31473
+ },
31474
+ _a[162 /* ComputedPropertyName */] = function forEachChildInComputedPropertyName(node, cbNode, _cbNodes) {
31475
+ return visitNode(cbNode, node.expression);
31476
+ },
31477
+ _a[291 /* HeritageClause */] = function forEachChildInHeritageClause(node, cbNode, cbNodes) {
31478
+ return visitNodes(cbNode, cbNodes, node.types);
31479
+ },
31480
+ _a[228 /* ExpressionWithTypeArguments */] = function forEachChildInExpressionWithTypeArguments(node, cbNode, cbNodes) {
31481
+ return visitNode(cbNode, node.expression) ||
31482
+ visitNodes(cbNode, cbNodes, node.typeArguments);
31483
+ },
31484
+ _a[277 /* ExternalModuleReference */] = function forEachChildInExternalModuleReference(node, cbNode, _cbNodes) {
31485
+ return visitNode(cbNode, node.expression);
31486
+ },
31487
+ _a[276 /* MissingDeclaration */] = function forEachChildInMissingDeclaration(node, cbNode, cbNodes) {
31488
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31489
+ visitNodes(cbNode, cbNodes, node.modifiers);
31490
+ },
31491
+ _a[351 /* CommaListExpression */] = function forEachChildInCommaListExpression(node, cbNode, cbNodes) {
31492
+ return visitNodes(cbNode, cbNodes, node.elements);
31493
+ },
31494
+ _a[278 /* JsxElement */] = function forEachChildInJsxElement(node, cbNode, cbNodes) {
31495
+ return visitNode(cbNode, node.openingElement) ||
31496
+ visitNodes(cbNode, cbNodes, node.children) ||
31497
+ visitNode(cbNode, node.closingElement);
31498
+ },
31499
+ _a[282 /* JsxFragment */] = function forEachChildInJsxFragment(node, cbNode, cbNodes) {
31500
+ return visitNode(cbNode, node.openingFragment) ||
31501
+ visitNodes(cbNode, cbNodes, node.children) ||
31502
+ visitNode(cbNode, node.closingFragment);
31503
+ },
31504
+ _a[279 /* JsxSelfClosingElement */] = forEachChildInJsxOpeningOrSelfClosingElement,
31505
+ _a[280 /* JsxOpeningElement */] = forEachChildInJsxOpeningOrSelfClosingElement,
31506
+ _a[286 /* JsxAttributes */] = function forEachChildInJsxAttributes(node, cbNode, cbNodes) {
31507
+ return visitNodes(cbNode, cbNodes, node.properties);
31508
+ },
31509
+ _a[285 /* JsxAttribute */] = function forEachChildInJsxAttribute(node, cbNode, _cbNodes) {
31510
+ return visitNode(cbNode, node.name) ||
31511
+ visitNode(cbNode, node.initializer);
31512
+ },
31513
+ _a[287 /* JsxSpreadAttribute */] = function forEachChildInJsxSpreadAttribute(node, cbNode, _cbNodes) {
31514
+ return visitNode(cbNode, node.expression);
31515
+ },
31516
+ _a[288 /* JsxExpression */] = function forEachChildInJsxExpression(node, cbNode, _cbNodes) {
31517
+ return visitNode(cbNode, node.dotDotDotToken) ||
31518
+ visitNode(cbNode, node.expression);
31519
+ },
31520
+ _a[281 /* JsxClosingElement */] = function forEachChildInJsxClosingElement(node, cbNode, _cbNodes) {
31521
+ return visitNode(cbNode, node.tagName);
31522
+ },
31523
+ _a[185 /* OptionalType */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31524
+ _a[186 /* RestType */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31525
+ _a[309 /* JSDocTypeExpression */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31526
+ _a[315 /* JSDocNonNullableType */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31527
+ _a[314 /* JSDocNullableType */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31528
+ _a[316 /* JSDocOptionalType */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31529
+ _a[318 /* JSDocVariadicType */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31530
+ _a[317 /* JSDocFunctionType */] = function forEachChildInJSDocFunctionType(node, cbNode, cbNodes) {
31531
+ return visitNodes(cbNode, cbNodes, node.parameters) ||
31532
+ visitNode(cbNode, node.type);
31533
+ },
31534
+ _a[320 /* JSDoc */] = function forEachChildInJSDoc(node, cbNode, cbNodes) {
31535
+ return (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))
31536
+ || visitNodes(cbNode, cbNodes, node.tags);
31537
+ },
31538
+ _a[346 /* JSDocSeeTag */] = function forEachChildInJSDocSeeTag(node, cbNode, cbNodes) {
31539
+ return visitNode(cbNode, node.tagName) ||
31540
+ visitNode(cbNode, node.name) ||
31541
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31542
+ },
31543
+ _a[310 /* JSDocNameReference */] = function forEachChildInJSDocNameReference(node, cbNode, _cbNodes) {
31544
+ return visitNode(cbNode, node.name);
31545
+ },
31546
+ _a[311 /* JSDocMemberName */] = function forEachChildInJSDocMemberName(node, cbNode, _cbNodes) {
31547
+ return visitNode(cbNode, node.left) ||
31548
+ visitNode(cbNode, node.right);
31549
+ },
31550
+ _a[340 /* JSDocParameterTag */] = forEachChildInJSDocParameterOrPropertyTag,
31551
+ _a[347 /* JSDocPropertyTag */] = forEachChildInJSDocParameterOrPropertyTag,
31552
+ _a[330 /* JSDocAuthorTag */] = function forEachChildInJSDocAuthorTag(node, cbNode, cbNodes) {
31553
+ return visitNode(cbNode, node.tagName) ||
31554
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31555
+ },
31556
+ _a[329 /* JSDocImplementsTag */] = function forEachChildInJSDocImplementsTag(node, cbNode, cbNodes) {
31557
+ return visitNode(cbNode, node.tagName) ||
31558
+ visitNode(cbNode, node.class) ||
31559
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31560
+ },
31561
+ _a[328 /* JSDocAugmentsTag */] = function forEachChildInJSDocAugmentsTag(node, cbNode, cbNodes) {
31562
+ return visitNode(cbNode, node.tagName) ||
31563
+ visitNode(cbNode, node.class) ||
31564
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31565
+ },
31566
+ _a[344 /* JSDocTemplateTag */] = function forEachChildInJSDocTemplateTag(node, cbNode, cbNodes) {
31567
+ return visitNode(cbNode, node.tagName) ||
31568
+ visitNode(cbNode, node.constraint) ||
31569
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31570
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31571
+ },
31572
+ _a[345 /* JSDocTypedefTag */] = function forEachChildInJSDocTypedefTag(node, cbNode, cbNodes) {
31573
+ return visitNode(cbNode, node.tagName) ||
31574
+ (node.typeExpression &&
31575
+ node.typeExpression.kind === 309 /* JSDocTypeExpression */
31576
+ ? visitNode(cbNode, node.typeExpression) ||
31577
+ visitNode(cbNode, node.fullName) ||
31578
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))
31579
+ : visitNode(cbNode, node.fullName) ||
31580
+ visitNode(cbNode, node.typeExpression) ||
31581
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)));
31582
+ },
31583
+ _a[338 /* JSDocCallbackTag */] = function forEachChildInJSDocCallbackTag(node, cbNode, cbNodes) {
31584
+ return visitNode(cbNode, node.tagName) ||
31585
+ visitNode(cbNode, node.fullName) ||
31586
+ visitNode(cbNode, node.typeExpression) ||
31587
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31588
+ },
31589
+ _a[341 /* JSDocReturnTag */] = forEachChildInJSDocReturnTag,
31590
+ _a[343 /* JSDocTypeTag */] = forEachChildInJSDocReturnTag,
31591
+ _a[342 /* JSDocThisTag */] = forEachChildInJSDocReturnTag,
31592
+ _a[339 /* JSDocEnumTag */] = forEachChildInJSDocReturnTag,
31593
+ _a[323 /* JSDocSignature */] = function forEachChildInJSDocSignature(node, cbNode, _cbNodes) {
31594
+ return ts.forEach(node.typeParameters, cbNode) ||
31595
+ ts.forEach(node.parameters, cbNode) ||
31596
+ visitNode(cbNode, node.type);
31597
+ },
31598
+ _a[324 /* JSDocLink */] = forEachChildInJSDocLinkCodeOrPlain,
31599
+ _a[325 /* JSDocLinkCode */] = forEachChildInJSDocLinkCodeOrPlain,
31600
+ _a[326 /* JSDocLinkPlain */] = forEachChildInJSDocLinkCodeOrPlain,
31601
+ _a[322 /* JSDocTypeLiteral */] = function forEachChildInJSDocTypeLiteral(node, cbNode, _cbNodes) {
31602
+ return ts.forEach(node.jsDocPropertyTags, cbNode);
31603
+ },
31604
+ _a[327 /* JSDocTag */] = forEachChildInJSDocTag,
31605
+ _a[332 /* JSDocClassTag */] = forEachChildInJSDocTag,
31606
+ _a[333 /* JSDocPublicTag */] = forEachChildInJSDocTag,
31607
+ _a[334 /* JSDocPrivateTag */] = forEachChildInJSDocTag,
31608
+ _a[335 /* JSDocProtectedTag */] = forEachChildInJSDocTag,
31609
+ _a[336 /* JSDocReadonlyTag */] = forEachChildInJSDocTag,
31610
+ _a[331 /* JSDocDeprecatedTag */] = forEachChildInJSDocTag,
31611
+ _a[350 /* PartiallyEmittedExpression */] = forEachChildInPartiallyEmittedExpression,
31612
+ _a);
31613
+ // shared
31614
+ function forEachChildInCallOrConstructSignature(node, cbNode, cbNodes) {
31615
+ return visitNodes(cbNode, cbNodes, node.typeParameters) ||
31616
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31617
+ visitNode(cbNode, node.type);
31618
+ }
31619
+ ;
31620
+ function forEachChildInUnionOrIntersectionType(node, cbNode, cbNodes) {
31621
+ return visitNodes(cbNode, cbNodes, node.types);
31622
+ }
31623
+ function forEachChildInParenthesizedTypeOrTypeOperator(node, cbNode, _cbNodes) {
31624
+ return visitNode(cbNode, node.type);
31625
+ }
31626
+ function forEachChildInObjectOrArrayBindingPattern(node, cbNode, cbNodes) {
31627
+ return visitNodes(cbNode, cbNodes, node.elements);
31628
+ }
31629
+ function forEachChildInCallOrNewExpression(node, cbNode, cbNodes) {
31630
+ return visitNode(cbNode, node.expression) ||
31631
+ // TODO: should we separate these branches out?
31632
+ visitNode(cbNode, node.questionDotToken) ||
31633
+ visitNodes(cbNode, cbNodes, node.typeArguments) ||
31634
+ visitNodes(cbNode, cbNodes, node.arguments);
31635
+ }
31636
+ function forEachChildInBlock(node, cbNode, cbNodes) {
31637
+ return visitNodes(cbNode, cbNodes, node.statements);
31638
+ }
31639
+ function forEachChildInContinueOrBreakStatement(node, cbNode, _cbNodes) {
31640
+ return visitNode(cbNode, node.label);
31641
+ }
31642
+ function forEachChildInClassDeclarationOrExpression(node, cbNode, cbNodes) {
31643
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31644
+ visitNode(cbNode, node.name) ||
31645
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31646
+ visitNodes(cbNode, cbNodes, node.heritageClauses) ||
31647
+ visitNodes(cbNode, cbNodes, node.members);
31648
+ }
31649
+ function forEachChildInNamedImportsOrExports(node, cbNode, cbNodes) {
31650
+ return visitNodes(cbNode, cbNodes, node.elements);
31651
+ }
31652
+ function forEachChildInImportOrExportSpecifier(node, cbNode, _cbNodes) {
31653
+ return visitNode(cbNode, node.propertyName) ||
31654
+ visitNode(cbNode, node.name);
31655
+ }
31656
+ function forEachChildInJsxOpeningOrSelfClosingElement(node, cbNode, cbNodes) {
31657
+ return visitNode(cbNode, node.tagName) ||
31658
+ visitNodes(cbNode, cbNodes, node.typeArguments) ||
31659
+ visitNode(cbNode, node.attributes);
31660
+ }
31661
+ function forEachChildInOptionalRestOrJSDocParameterModifier(node, cbNode, _cbNodes) {
31662
+ return visitNode(cbNode, node.type);
31663
+ }
31664
+ function forEachChildInJSDocParameterOrPropertyTag(node, cbNode, cbNodes) {
31665
+ return visitNode(cbNode, node.tagName) ||
31666
+ (node.isNameFirst
31667
+ ? visitNode(cbNode, node.name) || visitNode(cbNode, node.typeExpression)
31668
+ : visitNode(cbNode, node.typeExpression) || visitNode(cbNode, node.name)) ||
31669
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31670
+ }
31671
+ function forEachChildInJSDocReturnTag(node, cbNode, cbNodes) {
31672
+ return visitNode(cbNode, node.tagName) ||
31673
+ visitNode(cbNode, node.typeExpression) ||
31674
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31675
+ }
31676
+ function forEachChildInJSDocLinkCodeOrPlain(node, cbNode, _cbNodes) {
31677
+ return visitNode(cbNode, node.name);
31678
+ }
31679
+ function forEachChildInJSDocTag(node, cbNode, cbNodes) {
31680
+ return visitNode(cbNode, node.tagName)
31681
+ || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31682
+ }
31683
+ function forEachChildInPartiallyEmittedExpression(node, cbNode, _cbNodes) {
31684
+ return visitNode(cbNode, node.expression);
31685
+ }
30975
31686
  /**
30976
31687
  * Invokes a callback for each child of the given node. The 'cbNode' callback is invoked for all child nodes
30977
31688
  * stored in properties. If a 'cbNodes' callback is specified, it is invoked for embedded arrays; otherwise,
@@ -30986,562 +31697,11 @@ var ts;
30986
31697
  * that they appear in the source code. The language service depends on this property to locate nodes by position.
30987
31698
  */
30988
31699
  function forEachChild(node, cbNode, cbNodes) {
30989
- if (!node || node.kind <= 160 /* LastToken */) {
31700
+ if (node === undefined || node.kind <= 160 /* LastToken */) {
30990
31701
  return;
30991
31702
  }
30992
- switch (node.kind) {
30993
- case 161 /* QualifiedName */:
30994
- return visitNode(cbNode, node.left) ||
30995
- visitNode(cbNode, node.right);
30996
- case 163 /* TypeParameter */:
30997
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
30998
- visitNode(cbNode, node.name) ||
30999
- visitNode(cbNode, node.constraint) ||
31000
- visitNode(cbNode, node.default) ||
31001
- visitNode(cbNode, node.expression);
31002
- case 297 /* ShorthandPropertyAssignment */:
31003
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31004
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31005
- visitNode(cbNode, node.name) ||
31006
- visitNode(cbNode, node.questionToken) ||
31007
- visitNode(cbNode, node.exclamationToken) ||
31008
- visitNode(cbNode, node.equalsToken) ||
31009
- visitNode(cbNode, node.objectAssignmentInitializer);
31010
- case 298 /* SpreadAssignment */:
31011
- return visitNode(cbNode, node.expression);
31012
- case 164 /* Parameter */:
31013
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31014
- visitNode(cbNode, node.dotDotDotToken) ||
31015
- visitNode(cbNode, node.name) ||
31016
- visitNode(cbNode, node.questionToken) ||
31017
- visitNode(cbNode, node.type) ||
31018
- visitNode(cbNode, node.initializer);
31019
- case 167 /* PropertyDeclaration */:
31020
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31021
- visitNode(cbNode, node.name) ||
31022
- visitNode(cbNode, node.questionToken) ||
31023
- visitNode(cbNode, node.exclamationToken) ||
31024
- visitNode(cbNode, node.type) ||
31025
- visitNode(cbNode, node.initializer);
31026
- case 166 /* PropertySignature */:
31027
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31028
- visitNode(cbNode, node.name) ||
31029
- visitNode(cbNode, node.questionToken) ||
31030
- visitNode(cbNode, node.type) ||
31031
- visitNode(cbNode, node.initializer);
31032
- case 296 /* PropertyAssignment */:
31033
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31034
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31035
- visitNode(cbNode, node.name) ||
31036
- visitNode(cbNode, node.questionToken) ||
31037
- visitNode(cbNode, node.exclamationToken) ||
31038
- visitNode(cbNode, node.initializer);
31039
- case 254 /* VariableDeclaration */:
31040
- return visitNode(cbNode, node.name) ||
31041
- visitNode(cbNode, node.exclamationToken) ||
31042
- visitNode(cbNode, node.type) ||
31043
- visitNode(cbNode, node.initializer);
31044
- case 203 /* BindingElement */:
31045
- return visitNode(cbNode, node.dotDotDotToken) ||
31046
- visitNode(cbNode, node.propertyName) ||
31047
- visitNode(cbNode, node.name) ||
31048
- visitNode(cbNode, node.initializer);
31049
- case 176 /* IndexSignature */:
31050
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31051
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31052
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31053
- visitNodes(cbNode, cbNodes, node.parameters) ||
31054
- visitNode(cbNode, node.type);
31055
- case 180 /* ConstructorType */:
31056
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31057
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31058
- visitNodes(cbNode, cbNodes, node.parameters) ||
31059
- visitNode(cbNode, node.type);
31060
- case 179 /* FunctionType */:
31061
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31062
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31063
- visitNodes(cbNode, cbNodes, node.parameters) ||
31064
- visitNode(cbNode, node.type);
31065
- case 174 /* CallSignature */:
31066
- case 175 /* ConstructSignature */:
31067
- return visitNodes(cbNode, cbNodes, node.typeParameters) ||
31068
- visitNodes(cbNode, cbNodes, node.parameters) ||
31069
- visitNode(cbNode, node.type);
31070
- case 169 /* MethodDeclaration */:
31071
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31072
- visitNode(cbNode, node.asteriskToken) ||
31073
- visitNode(cbNode, node.name) ||
31074
- visitNode(cbNode, node.questionToken) ||
31075
- visitNode(cbNode, node.exclamationToken) ||
31076
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31077
- visitNodes(cbNode, cbNodes, node.parameters) ||
31078
- visitNode(cbNode, node.type) ||
31079
- visitNode(cbNode, node.body);
31080
- case 168 /* MethodSignature */:
31081
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31082
- visitNode(cbNode, node.name) ||
31083
- visitNode(cbNode, node.questionToken) ||
31084
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31085
- visitNodes(cbNode, cbNodes, node.parameters) ||
31086
- visitNode(cbNode, node.type);
31087
- case 171 /* Constructor */:
31088
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31089
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31090
- visitNode(cbNode, node.name) ||
31091
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31092
- visitNodes(cbNode, cbNodes, node.parameters) ||
31093
- visitNode(cbNode, node.type) ||
31094
- visitNode(cbNode, node.body);
31095
- case 172 /* GetAccessor */:
31096
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31097
- visitNode(cbNode, node.name) ||
31098
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31099
- visitNodes(cbNode, cbNodes, node.parameters) ||
31100
- visitNode(cbNode, node.type) ||
31101
- visitNode(cbNode, node.body);
31102
- case 173 /* SetAccessor */:
31103
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31104
- visitNode(cbNode, node.name) ||
31105
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31106
- visitNodes(cbNode, cbNodes, node.parameters) ||
31107
- visitNode(cbNode, node.type) ||
31108
- visitNode(cbNode, node.body);
31109
- case 256 /* FunctionDeclaration */:
31110
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31111
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31112
- visitNode(cbNode, node.asteriskToken) ||
31113
- visitNode(cbNode, node.name) ||
31114
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31115
- visitNodes(cbNode, cbNodes, node.parameters) ||
31116
- visitNode(cbNode, node.type) ||
31117
- visitNode(cbNode, node.body);
31118
- case 213 /* FunctionExpression */:
31119
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31120
- visitNode(cbNode, node.asteriskToken) ||
31121
- visitNode(cbNode, node.name) ||
31122
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31123
- visitNodes(cbNode, cbNodes, node.parameters) ||
31124
- visitNode(cbNode, node.type) ||
31125
- visitNode(cbNode, node.body);
31126
- case 214 /* ArrowFunction */:
31127
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31128
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31129
- visitNodes(cbNode, cbNodes, node.parameters) ||
31130
- visitNode(cbNode, node.type) ||
31131
- visitNode(cbNode, node.equalsGreaterThanToken) ||
31132
- visitNode(cbNode, node.body);
31133
- case 170 /* ClassStaticBlockDeclaration */:
31134
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31135
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31136
- visitNode(cbNode, node.body);
31137
- case 178 /* TypeReference */:
31138
- return visitNode(cbNode, node.typeName) ||
31139
- visitNodes(cbNode, cbNodes, node.typeArguments);
31140
- case 177 /* TypePredicate */:
31141
- return visitNode(cbNode, node.assertsModifier) ||
31142
- visitNode(cbNode, node.parameterName) ||
31143
- visitNode(cbNode, node.type);
31144
- case 181 /* TypeQuery */:
31145
- return visitNode(cbNode, node.exprName) ||
31146
- visitNodes(cbNode, cbNodes, node.typeArguments);
31147
- case 182 /* TypeLiteral */:
31148
- return visitNodes(cbNode, cbNodes, node.members);
31149
- case 183 /* ArrayType */:
31150
- return visitNode(cbNode, node.elementType);
31151
- case 184 /* TupleType */:
31152
- return visitNodes(cbNode, cbNodes, node.elements);
31153
- case 187 /* UnionType */:
31154
- case 188 /* IntersectionType */:
31155
- return visitNodes(cbNode, cbNodes, node.types);
31156
- case 189 /* ConditionalType */:
31157
- return visitNode(cbNode, node.checkType) ||
31158
- visitNode(cbNode, node.extendsType) ||
31159
- visitNode(cbNode, node.trueType) ||
31160
- visitNode(cbNode, node.falseType);
31161
- case 190 /* InferType */:
31162
- return visitNode(cbNode, node.typeParameter);
31163
- case 200 /* ImportType */:
31164
- return visitNode(cbNode, node.argument) ||
31165
- visitNode(cbNode, node.assertions) ||
31166
- visitNode(cbNode, node.qualifier) ||
31167
- visitNodes(cbNode, cbNodes, node.typeArguments);
31168
- case 295 /* ImportTypeAssertionContainer */:
31169
- return visitNode(cbNode, node.assertClause);
31170
- case 191 /* ParenthesizedType */:
31171
- case 193 /* TypeOperator */:
31172
- return visitNode(cbNode, node.type);
31173
- case 194 /* IndexedAccessType */:
31174
- return visitNode(cbNode, node.objectType) ||
31175
- visitNode(cbNode, node.indexType);
31176
- case 195 /* MappedType */:
31177
- return visitNode(cbNode, node.readonlyToken) ||
31178
- visitNode(cbNode, node.typeParameter) ||
31179
- visitNode(cbNode, node.nameType) ||
31180
- visitNode(cbNode, node.questionToken) ||
31181
- visitNode(cbNode, node.type) ||
31182
- visitNodes(cbNode, cbNodes, node.members);
31183
- case 196 /* LiteralType */:
31184
- return visitNode(cbNode, node.literal);
31185
- case 197 /* NamedTupleMember */:
31186
- return visitNode(cbNode, node.dotDotDotToken) ||
31187
- visitNode(cbNode, node.name) ||
31188
- visitNode(cbNode, node.questionToken) ||
31189
- visitNode(cbNode, node.type);
31190
- case 201 /* ObjectBindingPattern */:
31191
- case 202 /* ArrayBindingPattern */:
31192
- return visitNodes(cbNode, cbNodes, node.elements);
31193
- case 204 /* ArrayLiteralExpression */:
31194
- return visitNodes(cbNode, cbNodes, node.elements);
31195
- case 205 /* ObjectLiteralExpression */:
31196
- return visitNodes(cbNode, cbNodes, node.properties);
31197
- case 206 /* PropertyAccessExpression */:
31198
- return visitNode(cbNode, node.expression) ||
31199
- visitNode(cbNode, node.questionDotToken) ||
31200
- visitNode(cbNode, node.name);
31201
- case 207 /* ElementAccessExpression */:
31202
- return visitNode(cbNode, node.expression) ||
31203
- visitNode(cbNode, node.questionDotToken) ||
31204
- visitNode(cbNode, node.argumentExpression);
31205
- case 208 /* CallExpression */:
31206
- case 209 /* NewExpression */:
31207
- return visitNode(cbNode, node.expression) ||
31208
- visitNode(cbNode, node.questionDotToken) ||
31209
- visitNodes(cbNode, cbNodes, node.typeArguments) ||
31210
- visitNodes(cbNode, cbNodes, node.arguments);
31211
- case 210 /* TaggedTemplateExpression */:
31212
- return visitNode(cbNode, node.tag) ||
31213
- visitNode(cbNode, node.questionDotToken) ||
31214
- visitNodes(cbNode, cbNodes, node.typeArguments) ||
31215
- visitNode(cbNode, node.template);
31216
- case 211 /* TypeAssertionExpression */:
31217
- return visitNode(cbNode, node.type) ||
31218
- visitNode(cbNode, node.expression);
31219
- case 212 /* ParenthesizedExpression */:
31220
- return visitNode(cbNode, node.expression);
31221
- case 215 /* DeleteExpression */:
31222
- return visitNode(cbNode, node.expression);
31223
- case 216 /* TypeOfExpression */:
31224
- return visitNode(cbNode, node.expression);
31225
- case 217 /* VoidExpression */:
31226
- return visitNode(cbNode, node.expression);
31227
- case 219 /* PrefixUnaryExpression */:
31228
- return visitNode(cbNode, node.operand);
31229
- case 224 /* YieldExpression */:
31230
- return visitNode(cbNode, node.asteriskToken) ||
31231
- visitNode(cbNode, node.expression);
31232
- case 218 /* AwaitExpression */:
31233
- return visitNode(cbNode, node.expression);
31234
- case 220 /* PostfixUnaryExpression */:
31235
- return visitNode(cbNode, node.operand);
31236
- case 221 /* BinaryExpression */:
31237
- return visitNode(cbNode, node.left) ||
31238
- visitNode(cbNode, node.operatorToken) ||
31239
- visitNode(cbNode, node.right);
31240
- case 229 /* AsExpression */:
31241
- return visitNode(cbNode, node.expression) ||
31242
- visitNode(cbNode, node.type);
31243
- case 230 /* NonNullExpression */:
31244
- return visitNode(cbNode, node.expression);
31245
- case 231 /* MetaProperty */:
31246
- return visitNode(cbNode, node.name);
31247
- case 222 /* ConditionalExpression */:
31248
- return visitNode(cbNode, node.condition) ||
31249
- visitNode(cbNode, node.questionToken) ||
31250
- visitNode(cbNode, node.whenTrue) ||
31251
- visitNode(cbNode, node.colonToken) ||
31252
- visitNode(cbNode, node.whenFalse);
31253
- case 225 /* SpreadElement */:
31254
- return visitNode(cbNode, node.expression);
31255
- case 235 /* Block */:
31256
- case 262 /* ModuleBlock */:
31257
- return visitNodes(cbNode, cbNodes, node.statements);
31258
- case 305 /* SourceFile */:
31259
- return visitNodes(cbNode, cbNodes, node.statements) ||
31260
- visitNode(cbNode, node.endOfFileToken);
31261
- case 237 /* VariableStatement */:
31262
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31263
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31264
- visitNode(cbNode, node.declarationList);
31265
- case 255 /* VariableDeclarationList */:
31266
- return visitNodes(cbNode, cbNodes, node.declarations);
31267
- case 238 /* ExpressionStatement */:
31268
- return visitNode(cbNode, node.expression);
31269
- case 239 /* IfStatement */:
31270
- return visitNode(cbNode, node.expression) ||
31271
- visitNode(cbNode, node.thenStatement) ||
31272
- visitNode(cbNode, node.elseStatement);
31273
- case 240 /* DoStatement */:
31274
- return visitNode(cbNode, node.statement) ||
31275
- visitNode(cbNode, node.expression);
31276
- case 241 /* WhileStatement */:
31277
- return visitNode(cbNode, node.expression) ||
31278
- visitNode(cbNode, node.statement);
31279
- case 242 /* ForStatement */:
31280
- return visitNode(cbNode, node.initializer) ||
31281
- visitNode(cbNode, node.condition) ||
31282
- visitNode(cbNode, node.incrementor) ||
31283
- visitNode(cbNode, node.statement);
31284
- case 243 /* ForInStatement */:
31285
- return visitNode(cbNode, node.initializer) ||
31286
- visitNode(cbNode, node.expression) ||
31287
- visitNode(cbNode, node.statement);
31288
- case 244 /* ForOfStatement */:
31289
- return visitNode(cbNode, node.awaitModifier) ||
31290
- visitNode(cbNode, node.initializer) ||
31291
- visitNode(cbNode, node.expression) ||
31292
- visitNode(cbNode, node.statement);
31293
- case 245 /* ContinueStatement */:
31294
- case 246 /* BreakStatement */:
31295
- return visitNode(cbNode, node.label);
31296
- case 247 /* ReturnStatement */:
31297
- return visitNode(cbNode, node.expression);
31298
- case 248 /* WithStatement */:
31299
- return visitNode(cbNode, node.expression) ||
31300
- visitNode(cbNode, node.statement);
31301
- case 249 /* SwitchStatement */:
31302
- return visitNode(cbNode, node.expression) ||
31303
- visitNode(cbNode, node.caseBlock);
31304
- case 263 /* CaseBlock */:
31305
- return visitNodes(cbNode, cbNodes, node.clauses);
31306
- case 289 /* CaseClause */:
31307
- return visitNode(cbNode, node.expression) ||
31308
- visitNodes(cbNode, cbNodes, node.statements);
31309
- case 290 /* DefaultClause */:
31310
- return visitNodes(cbNode, cbNodes, node.statements);
31311
- case 250 /* LabeledStatement */:
31312
- return visitNode(cbNode, node.label) ||
31313
- visitNode(cbNode, node.statement);
31314
- case 251 /* ThrowStatement */:
31315
- return visitNode(cbNode, node.expression);
31316
- case 252 /* TryStatement */:
31317
- return visitNode(cbNode, node.tryBlock) ||
31318
- visitNode(cbNode, node.catchClause) ||
31319
- visitNode(cbNode, node.finallyBlock);
31320
- case 292 /* CatchClause */:
31321
- return visitNode(cbNode, node.variableDeclaration) ||
31322
- visitNode(cbNode, node.block);
31323
- case 165 /* Decorator */:
31324
- return visitNode(cbNode, node.expression);
31325
- case 257 /* ClassDeclaration */:
31326
- case 226 /* ClassExpression */:
31327
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31328
- visitNode(cbNode, node.name) ||
31329
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31330
- visitNodes(cbNode, cbNodes, node.heritageClauses) ||
31331
- visitNodes(cbNode, cbNodes, node.members);
31332
- case 258 /* InterfaceDeclaration */:
31333
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31334
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31335
- visitNode(cbNode, node.name) ||
31336
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31337
- visitNodes(cbNode, cbNodes, node.heritageClauses) ||
31338
- visitNodes(cbNode, cbNodes, node.members);
31339
- case 259 /* TypeAliasDeclaration */:
31340
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31341
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31342
- visitNode(cbNode, node.name) ||
31343
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31344
- visitNode(cbNode, node.type);
31345
- case 260 /* EnumDeclaration */:
31346
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31347
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31348
- visitNode(cbNode, node.name) ||
31349
- visitNodes(cbNode, cbNodes, node.members);
31350
- case 299 /* EnumMember */:
31351
- return visitNode(cbNode, node.name) ||
31352
- visitNode(cbNode, node.initializer);
31353
- case 261 /* ModuleDeclaration */:
31354
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31355
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31356
- visitNode(cbNode, node.name) ||
31357
- visitNode(cbNode, node.body);
31358
- case 265 /* ImportEqualsDeclaration */:
31359
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31360
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31361
- visitNode(cbNode, node.name) ||
31362
- visitNode(cbNode, node.moduleReference);
31363
- case 266 /* ImportDeclaration */:
31364
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31365
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31366
- visitNode(cbNode, node.importClause) ||
31367
- visitNode(cbNode, node.moduleSpecifier) ||
31368
- visitNode(cbNode, node.assertClause);
31369
- case 267 /* ImportClause */:
31370
- return visitNode(cbNode, node.name) ||
31371
- visitNode(cbNode, node.namedBindings);
31372
- case 293 /* AssertClause */:
31373
- return visitNodes(cbNode, cbNodes, node.elements);
31374
- case 294 /* AssertEntry */:
31375
- return visitNode(cbNode, node.name) ||
31376
- visitNode(cbNode, node.value);
31377
- case 264 /* NamespaceExportDeclaration */:
31378
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31379
- visitNode(cbNode, node.name);
31380
- case 268 /* NamespaceImport */:
31381
- return visitNode(cbNode, node.name);
31382
- case 274 /* NamespaceExport */:
31383
- return visitNode(cbNode, node.name);
31384
- case 269 /* NamedImports */:
31385
- case 273 /* NamedExports */:
31386
- return visitNodes(cbNode, cbNodes, node.elements);
31387
- case 272 /* ExportDeclaration */:
31388
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31389
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31390
- visitNode(cbNode, node.exportClause) ||
31391
- visitNode(cbNode, node.moduleSpecifier) ||
31392
- visitNode(cbNode, node.assertClause);
31393
- case 270 /* ImportSpecifier */:
31394
- case 275 /* ExportSpecifier */:
31395
- return visitNode(cbNode, node.propertyName) ||
31396
- visitNode(cbNode, node.name);
31397
- case 271 /* ExportAssignment */:
31398
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31399
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31400
- visitNode(cbNode, node.expression);
31401
- case 223 /* TemplateExpression */:
31402
- return visitNode(cbNode, node.head) ||
31403
- visitNodes(cbNode, cbNodes, node.templateSpans);
31404
- case 233 /* TemplateSpan */:
31405
- return visitNode(cbNode, node.expression) ||
31406
- visitNode(cbNode, node.literal);
31407
- case 198 /* TemplateLiteralType */:
31408
- return visitNode(cbNode, node.head) ||
31409
- visitNodes(cbNode, cbNodes, node.templateSpans);
31410
- case 199 /* TemplateLiteralTypeSpan */:
31411
- return visitNode(cbNode, node.type) ||
31412
- visitNode(cbNode, node.literal);
31413
- case 162 /* ComputedPropertyName */:
31414
- return visitNode(cbNode, node.expression);
31415
- case 291 /* HeritageClause */:
31416
- return visitNodes(cbNode, cbNodes, node.types);
31417
- case 228 /* ExpressionWithTypeArguments */:
31418
- return visitNode(cbNode, node.expression) ||
31419
- visitNodes(cbNode, cbNodes, node.typeArguments);
31420
- case 277 /* ExternalModuleReference */:
31421
- return visitNode(cbNode, node.expression);
31422
- case 276 /* MissingDeclaration */:
31423
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31424
- visitNodes(cbNode, cbNodes, node.modifiers);
31425
- case 351 /* CommaListExpression */:
31426
- return visitNodes(cbNode, cbNodes, node.elements);
31427
- case 278 /* JsxElement */:
31428
- return visitNode(cbNode, node.openingElement) ||
31429
- visitNodes(cbNode, cbNodes, node.children) ||
31430
- visitNode(cbNode, node.closingElement);
31431
- case 282 /* JsxFragment */:
31432
- return visitNode(cbNode, node.openingFragment) ||
31433
- visitNodes(cbNode, cbNodes, node.children) ||
31434
- visitNode(cbNode, node.closingFragment);
31435
- case 279 /* JsxSelfClosingElement */:
31436
- case 280 /* JsxOpeningElement */:
31437
- return visitNode(cbNode, node.tagName) ||
31438
- visitNodes(cbNode, cbNodes, node.typeArguments) ||
31439
- visitNode(cbNode, node.attributes);
31440
- case 286 /* JsxAttributes */:
31441
- return visitNodes(cbNode, cbNodes, node.properties);
31442
- case 285 /* JsxAttribute */:
31443
- return visitNode(cbNode, node.name) ||
31444
- visitNode(cbNode, node.initializer);
31445
- case 287 /* JsxSpreadAttribute */:
31446
- return visitNode(cbNode, node.expression);
31447
- case 288 /* JsxExpression */:
31448
- return visitNode(cbNode, node.dotDotDotToken) ||
31449
- visitNode(cbNode, node.expression);
31450
- case 281 /* JsxClosingElement */:
31451
- return visitNode(cbNode, node.tagName);
31452
- case 185 /* OptionalType */:
31453
- case 186 /* RestType */:
31454
- case 309 /* JSDocTypeExpression */:
31455
- case 315 /* JSDocNonNullableType */:
31456
- case 314 /* JSDocNullableType */:
31457
- case 316 /* JSDocOptionalType */:
31458
- case 318 /* JSDocVariadicType */:
31459
- return visitNode(cbNode, node.type);
31460
- case 317 /* JSDocFunctionType */:
31461
- return visitNodes(cbNode, cbNodes, node.parameters) ||
31462
- visitNode(cbNode, node.type);
31463
- case 320 /* JSDoc */:
31464
- return (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))
31465
- || visitNodes(cbNode, cbNodes, node.tags);
31466
- case 346 /* JSDocSeeTag */:
31467
- return visitNode(cbNode, node.tagName) ||
31468
- visitNode(cbNode, node.name) ||
31469
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31470
- case 310 /* JSDocNameReference */:
31471
- return visitNode(cbNode, node.name);
31472
- case 311 /* JSDocMemberName */:
31473
- return visitNode(cbNode, node.left) ||
31474
- visitNode(cbNode, node.right);
31475
- case 340 /* JSDocParameterTag */:
31476
- case 347 /* JSDocPropertyTag */:
31477
- return visitNode(cbNode, node.tagName) ||
31478
- (node.isNameFirst
31479
- ? visitNode(cbNode, node.name) ||
31480
- visitNode(cbNode, node.typeExpression) ||
31481
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))
31482
- : visitNode(cbNode, node.typeExpression) ||
31483
- visitNode(cbNode, node.name) ||
31484
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)));
31485
- case 330 /* JSDocAuthorTag */:
31486
- return visitNode(cbNode, node.tagName) ||
31487
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31488
- case 329 /* JSDocImplementsTag */:
31489
- return visitNode(cbNode, node.tagName) ||
31490
- visitNode(cbNode, node.class) ||
31491
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31492
- case 328 /* JSDocAugmentsTag */:
31493
- return visitNode(cbNode, node.tagName) ||
31494
- visitNode(cbNode, node.class) ||
31495
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31496
- case 344 /* JSDocTemplateTag */:
31497
- return visitNode(cbNode, node.tagName) ||
31498
- visitNode(cbNode, node.constraint) ||
31499
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31500
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31501
- case 345 /* JSDocTypedefTag */:
31502
- return visitNode(cbNode, node.tagName) ||
31503
- (node.typeExpression &&
31504
- node.typeExpression.kind === 309 /* JSDocTypeExpression */
31505
- ? visitNode(cbNode, node.typeExpression) ||
31506
- visitNode(cbNode, node.fullName) ||
31507
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))
31508
- : visitNode(cbNode, node.fullName) ||
31509
- visitNode(cbNode, node.typeExpression) ||
31510
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)));
31511
- case 338 /* JSDocCallbackTag */:
31512
- return visitNode(cbNode, node.tagName) ||
31513
- visitNode(cbNode, node.fullName) ||
31514
- visitNode(cbNode, node.typeExpression) ||
31515
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31516
- case 341 /* JSDocReturnTag */:
31517
- case 343 /* JSDocTypeTag */:
31518
- case 342 /* JSDocThisTag */:
31519
- case 339 /* JSDocEnumTag */:
31520
- return visitNode(cbNode, node.tagName) ||
31521
- visitNode(cbNode, node.typeExpression) ||
31522
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31523
- case 323 /* JSDocSignature */:
31524
- return ts.forEach(node.typeParameters, cbNode) ||
31525
- ts.forEach(node.parameters, cbNode) ||
31526
- visitNode(cbNode, node.type);
31527
- case 324 /* JSDocLink */:
31528
- case 325 /* JSDocLinkCode */:
31529
- case 326 /* JSDocLinkPlain */:
31530
- return visitNode(cbNode, node.name);
31531
- case 322 /* JSDocTypeLiteral */:
31532
- return ts.forEach(node.jsDocPropertyTags, cbNode);
31533
- case 327 /* JSDocTag */:
31534
- case 332 /* JSDocClassTag */:
31535
- case 333 /* JSDocPublicTag */:
31536
- case 334 /* JSDocPrivateTag */:
31537
- case 335 /* JSDocProtectedTag */:
31538
- case 336 /* JSDocReadonlyTag */:
31539
- case 331 /* JSDocDeprecatedTag */:
31540
- return visitNode(cbNode, node.tagName)
31541
- || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31542
- case 350 /* PartiallyEmittedExpression */:
31543
- return visitNode(cbNode, node.expression);
31544
- }
31703
+ var fn = forEachChildTable[node.kind];
31704
+ return fn === undefined ? undefined : fn(node, cbNode, cbNodes);
31545
31705
  }
31546
31706
  ts.forEachChild = forEachChild;
31547
31707
  /** @internal */
@@ -33971,7 +34131,7 @@ var ts;
33971
34131
  var type = parseTypeAnnotation();
33972
34132
  parseTypeMemberSemicolon();
33973
34133
  var node = factory.createIndexSignature(modifiers, parameters, type);
33974
- node.decorators = decorators;
34134
+ node.illegalDecorators = decorators;
33975
34135
  return withJSDoc(finishNode(node, pos), hasJSDoc);
33976
34136
  }
33977
34137
  function parsePropertyOrMethodSignature(pos, hasJSDoc, modifiers) {
@@ -36131,7 +36291,7 @@ var ts;
36131
36291
  node = factory.createPropertyAssignment(name, initializer);
36132
36292
  }
36133
36293
  // Decorators, Modifiers, questionToken, and exclamationToken are not supported by property assignments and are reported in the grammar checker
36134
- node.decorators = decorators;
36294
+ node.illegalDecorators = decorators;
36135
36295
  node.modifiers = modifiers;
36136
36296
  node.questionToken = questionToken;
36137
36297
  node.exclamationToken = exclamationToken;
@@ -36779,7 +36939,7 @@ var ts;
36779
36939
  // would follow. For recovery and error reporting purposes, return an incomplete declaration.
36780
36940
  var missing = createMissingNode(276 /* MissingDeclaration */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.Declaration_expected);
36781
36941
  ts.setTextRangePos(missing, pos);
36782
- missing.decorators = decorators;
36942
+ missing.illegalDecorators = decorators;
36783
36943
  missing.modifiers = modifiers;
36784
36944
  return missing;
36785
36945
  }
@@ -36922,7 +37082,7 @@ var ts;
36922
37082
  parseSemicolon();
36923
37083
  var node = factory.createVariableStatement(modifiers, declarationList);
36924
37084
  // Decorators are not allowed on a variable statement, so we keep track of them to report them in the grammar checker.
36925
- node.decorators = decorators;
37085
+ node.illegalDecorators = decorators;
36926
37086
  return withJSDoc(finishNode(node, pos), hasJSDoc);
36927
37087
  }
36928
37088
  function parseFunctionDeclaration(pos, hasJSDoc, decorators, modifiers) {
@@ -36942,7 +37102,7 @@ var ts;
36942
37102
  var body = parseFunctionBlockOrSemicolon(isGenerator | isAsync, ts.Diagnostics.or_expected);
36943
37103
  setAwaitContext(savedAwaitContext);
36944
37104
  var node = factory.createFunctionDeclaration(modifiers, asteriskToken, name, typeParameters, parameters, type, body);
36945
- node.decorators = decorators;
37105
+ node.illegalDecorators = decorators;
36946
37106
  return withJSDoc(finishNode(node, pos), hasJSDoc);
36947
37107
  }
36948
37108
  function parseConstructorName() {
@@ -36965,7 +37125,7 @@ var ts;
36965
37125
  var body = parseFunctionBlockOrSemicolon(0 /* None */, ts.Diagnostics.or_expected);
36966
37126
  var node = factory.createConstructorDeclaration(modifiers, parameters, body);
36967
37127
  // Attach invalid nodes if they exist so that we can report them in the grammar checker.
36968
- node.decorators = decorators;
37128
+ node.illegalDecorators = decorators;
36969
37129
  node.typeParameters = typeParameters;
36970
37130
  node.type = type;
36971
37131
  return withJSDoc(finishNode(node, pos), hasJSDoc);
@@ -37081,7 +37241,7 @@ var ts;
37081
37241
  parseExpectedToken(124 /* StaticKeyword */);
37082
37242
  var body = parseClassStaticBlockBody();
37083
37243
  var node = withJSDoc(finishNode(factory.createClassStaticBlockDeclaration(body), pos), hasJSDoc);
37084
- node.decorators = decorators;
37244
+ node.illegalDecorators = decorators;
37085
37245
  node.modifiers = modifiers;
37086
37246
  return node;
37087
37247
  }
@@ -37322,7 +37482,7 @@ var ts;
37322
37482
  var heritageClauses = parseHeritageClauses();
37323
37483
  var members = parseObjectTypeMembers();
37324
37484
  var node = factory.createInterfaceDeclaration(modifiers, name, typeParameters, heritageClauses, members);
37325
- node.decorators = decorators;
37485
+ node.illegalDecorators = decorators;
37326
37486
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37327
37487
  }
37328
37488
  function parseTypeAliasDeclaration(pos, hasJSDoc, decorators, modifiers) {
@@ -37333,7 +37493,7 @@ var ts;
37333
37493
  var type = token() === 138 /* IntrinsicKeyword */ && tryParse(parseKeywordAndNoDot) || parseType();
37334
37494
  parseSemicolon();
37335
37495
  var node = factory.createTypeAliasDeclaration(modifiers, name, typeParameters, type);
37336
- node.decorators = decorators;
37496
+ node.illegalDecorators = decorators;
37337
37497
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37338
37498
  }
37339
37499
  // In an ambient declaration, the grammar only allows integer literals as initializers.
@@ -37359,7 +37519,7 @@ var ts;
37359
37519
  members = createMissingList();
37360
37520
  }
37361
37521
  var node = factory.createEnumDeclaration(modifiers, name, members);
37362
- node.decorators = decorators;
37522
+ node.illegalDecorators = decorators;
37363
37523
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37364
37524
  }
37365
37525
  function parseModuleBlock() {
@@ -37383,7 +37543,7 @@ var ts;
37383
37543
  ? parseModuleOrNamespaceDeclaration(getNodePos(), /*hasJSDoc*/ false, /*decorators*/ undefined, /*modifiers*/ undefined, 4 /* NestedNamespace */ | namespaceFlag)
37384
37544
  : parseModuleBlock();
37385
37545
  var node = factory.createModuleDeclaration(modifiers, name, body, flags);
37386
- node.decorators = decorators;
37546
+ node.illegalDecorators = decorators;
37387
37547
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37388
37548
  }
37389
37549
  function parseAmbientExternalModuleDeclaration(pos, hasJSDoc, decorators, modifiers) {
@@ -37406,7 +37566,7 @@ var ts;
37406
37566
  parseSemicolon();
37407
37567
  }
37408
37568
  var node = factory.createModuleDeclaration(modifiers, name, body, flags);
37409
- node.decorators = decorators;
37569
+ node.illegalDecorators = decorators;
37410
37570
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37411
37571
  }
37412
37572
  function parseModuleDeclaration(pos, hasJSDoc, decorators, modifiers) {
@@ -37446,7 +37606,7 @@ var ts;
37446
37606
  parseSemicolon();
37447
37607
  var node = factory.createNamespaceExportDeclaration(name);
37448
37608
  // NamespaceExportDeclaration nodes cannot have decorators or modifiers, so we attach them here so we can report them in the grammar checker
37449
- node.decorators = decorators;
37609
+ node.illegalDecorators = decorators;
37450
37610
  node.modifiers = modifiers;
37451
37611
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37452
37612
  }
@@ -37486,7 +37646,7 @@ var ts;
37486
37646
  }
37487
37647
  parseSemicolon();
37488
37648
  var node = factory.createImportDeclaration(modifiers, importClause, moduleSpecifier, assertClause);
37489
- node.decorators = decorators;
37649
+ node.illegalDecorators = decorators;
37490
37650
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37491
37651
  }
37492
37652
  function parseAssertEntry() {
@@ -37531,7 +37691,7 @@ var ts;
37531
37691
  var moduleReference = parseModuleReference();
37532
37692
  parseSemicolon();
37533
37693
  var node = factory.createImportEqualsDeclaration(modifiers, isTypeOnly, identifier, moduleReference);
37534
- node.decorators = decorators;
37694
+ node.illegalDecorators = decorators;
37535
37695
  var finished = withJSDoc(finishNode(node, pos), hasJSDoc);
37536
37696
  return finished;
37537
37697
  }
@@ -37721,7 +37881,7 @@ var ts;
37721
37881
  parseSemicolon();
37722
37882
  setAwaitContext(savedAwaitContext);
37723
37883
  var node = factory.createExportDeclaration(modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause);
37724
- node.decorators = decorators;
37884
+ node.illegalDecorators = decorators;
37725
37885
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37726
37886
  }
37727
37887
  function parseExportAssignment(pos, hasJSDoc, decorators, modifiers) {
@@ -37738,7 +37898,7 @@ var ts;
37738
37898
  parseSemicolon();
37739
37899
  setAwaitContext(savedAwaitContext);
37740
37900
  var node = factory.createExportAssignment(modifiers, isExportEquals, expression);
37741
- node.decorators = decorators;
37901
+ node.illegalDecorators = decorators;
37742
37902
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37743
37903
  }
37744
37904
  var ParsingContext;
@@ -43102,10 +43262,12 @@ var ts;
43102
43262
  if (resolved) {
43103
43263
  var fileName = resolved.fileName, packageId = resolved.packageId;
43104
43264
  var resolvedFileName = options.preserveSymlinks ? fileName : realPath(fileName, host, traceEnabled);
43265
+ var pathsAreEqual = arePathsEqual(fileName, resolvedFileName, host);
43105
43266
  resolvedTypeReferenceDirective = {
43106
43267
  primary: primary,
43107
- resolvedFileName: resolvedFileName,
43108
- originalPath: arePathsEqual(fileName, resolvedFileName, host) ? undefined : fileName,
43268
+ // If the fileName and realpath are differing only in casing prefer fileName so that we can issue correct errors for casing under forceConsistentCasingInFileNames
43269
+ resolvedFileName: pathsAreEqual ? fileName : resolvedFileName,
43270
+ originalPath: pathsAreEqual ? undefined : fileName,
43109
43271
  packageId: packageId,
43110
43272
  isExternalLibraryImport: pathContainsNodeModules(fileName),
43111
43273
  };
@@ -43890,8 +44052,10 @@ var ts;
43890
44052
  var resolvedValue = resolved_1.value;
43891
44053
  if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {
43892
44054
  var path = realPath(resolvedValue.path, host, traceEnabled);
43893
- var originalPath = arePathsEqual(path, resolvedValue.path, host) ? undefined : resolvedValue.path;
43894
- resolvedValue = __assign(__assign({}, resolvedValue), { path: path, originalPath: originalPath });
44055
+ var pathsAreEqual = arePathsEqual(path, resolvedValue.path, host);
44056
+ var originalPath = pathsAreEqual ? undefined : resolvedValue.path;
44057
+ // If the path and realpath are differing only in casing prefer path so that we can issue correct errors for casing under forceConsistentCasingInFileNames
44058
+ resolvedValue = __assign(__assign({}, resolvedValue), { path: pathsAreEqual ? resolvedValue.path : path, originalPath: originalPath });
43895
44059
  }
43896
44060
  // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.
43897
44061
  return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } };
@@ -49555,10 +49719,10 @@ var ts;
49555
49719
  }
49556
49720
  // Issue errors globally
49557
49721
  var file = ts.getSourceFileOfNode(location);
49558
- addErrorOrSuggestion(isError, "message" in message ? ts.createFileDiagnostic(file, 0, 0, message, arg0, arg1, arg2, arg3) : ts.createDiagnosticForFileFromMessageChain(file, message)); // eslint-disable-line no-in-operator
49722
+ addErrorOrSuggestion(isError, "message" in message ? ts.createFileDiagnostic(file, 0, 0, message, arg0, arg1, arg2, arg3) : ts.createDiagnosticForFileFromMessageChain(file, message)); // eslint-disable-line local/no-in-operator
49559
49723
  return;
49560
49724
  }
49561
- addErrorOrSuggestion(isError, "message" in message ? ts.createDiagnosticForNode(location, message, arg0, arg1, arg2, arg3) : ts.createDiagnosticForNodeFromMessageChain(location, message)); // eslint-disable-line no-in-operator
49725
+ addErrorOrSuggestion(isError, "message" in message ? ts.createDiagnosticForNode(location, message, arg0, arg1, arg2, arg3) : ts.createDiagnosticForNodeFromMessageChain(location, message)); // eslint-disable-line local/no-in-operator
49562
49726
  }
49563
49727
  function errorAndMaybeSuggestAwait(location, maybeMissingAwait, message, arg0, arg1, arg2, arg3) {
49564
49728
  var diagnostic = error(location, message, arg0, arg1, arg2, arg3);
@@ -51032,41 +51196,61 @@ var ts;
51032
51196
  return typeof file.externalModuleIndicator !== "object" && !resolveExportByName(moduleSymbol, ts.escapeLeadingUnderscores("__esModule"), /*sourceNode*/ undefined, dontResolveAlias);
51033
51197
  }
51034
51198
  function getTargetOfImportClause(node, dontResolveAlias) {
51035
- var _a;
51036
51199
  var moduleSymbol = resolveExternalModuleName(node, node.parent.moduleSpecifier);
51037
51200
  if (moduleSymbol) {
51038
- var exportDefaultSymbol = void 0;
51039
- if (ts.isShorthandAmbientModuleSymbol(moduleSymbol)) {
51040
- exportDefaultSymbol = moduleSymbol;
51041
- }
51042
- else {
51043
- exportDefaultSymbol = resolveExportByName(moduleSymbol, "default" /* Default */, node, dontResolveAlias);
51044
- }
51045
- var file = (_a = moduleSymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.isSourceFile);
51046
- var hasDefaultOnly = isOnlyImportedAsDefault(node.parent.moduleSpecifier);
51047
- var hasSyntheticDefault = canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias, node.parent.moduleSpecifier);
51048
- if (!exportDefaultSymbol && !hasSyntheticDefault && !hasDefaultOnly) {
51049
- if (hasExportAssignmentSymbol(moduleSymbol)) {
51050
- var compilerOptionName = moduleKind >= ts.ModuleKind.ES2015 ? "allowSyntheticDefaultImports" : "esModuleInterop";
51051
- var exportEqualsSymbol = moduleSymbol.exports.get("export=" /* ExportEquals */);
51052
- var exportAssignment = exportEqualsSymbol.valueDeclaration;
51053
- var err = error(node.name, ts.Diagnostics.Module_0_can_only_be_default_imported_using_the_1_flag, symbolToString(moduleSymbol), compilerOptionName);
51054
- if (exportAssignment) {
51055
- ts.addRelatedInfo(err, ts.createDiagnosticForNode(exportAssignment, ts.Diagnostics.This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag, compilerOptionName));
51056
- }
51057
- }
51058
- else {
51059
- reportNonDefaultExport(moduleSymbol, node);
51201
+ return getTargetofModuleDefault(moduleSymbol, node, dontResolveAlias);
51202
+ }
51203
+ }
51204
+ function getTargetofModuleDefault(moduleSymbol, node, dontResolveAlias) {
51205
+ var _a;
51206
+ var exportDefaultSymbol;
51207
+ if (ts.isShorthandAmbientModuleSymbol(moduleSymbol)) {
51208
+ exportDefaultSymbol = moduleSymbol;
51209
+ }
51210
+ else {
51211
+ exportDefaultSymbol = resolveExportByName(moduleSymbol, "default" /* Default */, node, dontResolveAlias);
51212
+ }
51213
+ var file = (_a = moduleSymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.isSourceFile);
51214
+ var specifier = getModuleSpecifierForImportOrExport(node);
51215
+ if (!specifier) {
51216
+ return exportDefaultSymbol;
51217
+ }
51218
+ var hasDefaultOnly = isOnlyImportedAsDefault(specifier);
51219
+ var hasSyntheticDefault = canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias, specifier);
51220
+ if (!exportDefaultSymbol && !hasSyntheticDefault && !hasDefaultOnly) {
51221
+ if (hasExportAssignmentSymbol(moduleSymbol)) {
51222
+ var compilerOptionName = moduleKind >= ts.ModuleKind.ES2015 ? "allowSyntheticDefaultImports" : "esModuleInterop";
51223
+ var exportEqualsSymbol = moduleSymbol.exports.get("export=" /* ExportEquals */);
51224
+ var exportAssignment = exportEqualsSymbol.valueDeclaration;
51225
+ var err = error(node.name, ts.Diagnostics.Module_0_can_only_be_default_imported_using_the_1_flag, symbolToString(moduleSymbol), compilerOptionName);
51226
+ if (exportAssignment) {
51227
+ ts.addRelatedInfo(err, ts.createDiagnosticForNode(exportAssignment, ts.Diagnostics.This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag, compilerOptionName));
51060
51228
  }
51061
51229
  }
51062
- else if (hasSyntheticDefault || hasDefaultOnly) {
51063
- // per emit behavior, a synthetic default overrides a "real" .default member if `__esModule` is not present
51064
- var resolved = resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias) || resolveSymbol(moduleSymbol, dontResolveAlias);
51065
- markSymbolOfAliasDeclarationIfTypeOnly(node, moduleSymbol, resolved, /*overwriteTypeOnly*/ false);
51066
- return resolved;
51230
+ else if (ts.isImportClause(node)) {
51231
+ reportNonDefaultExport(moduleSymbol, node);
51232
+ }
51233
+ else {
51234
+ errorNoModuleMemberSymbol(moduleSymbol, moduleSymbol, node, ts.isImportOrExportSpecifier(node) && node.propertyName || node.name);
51067
51235
  }
51068
- markSymbolOfAliasDeclarationIfTypeOnly(node, exportDefaultSymbol, /*finalTarget*/ undefined, /*overwriteTypeOnly*/ false);
51069
- return exportDefaultSymbol;
51236
+ }
51237
+ else if (hasSyntheticDefault || hasDefaultOnly) {
51238
+ // per emit behavior, a synthetic default overrides a "real" .default member if `__esModule` is not present
51239
+ var resolved = resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias) || resolveSymbol(moduleSymbol, dontResolveAlias);
51240
+ markSymbolOfAliasDeclarationIfTypeOnly(node, moduleSymbol, resolved, /*overwriteTypeOnly*/ false);
51241
+ return resolved;
51242
+ }
51243
+ markSymbolOfAliasDeclarationIfTypeOnly(node, exportDefaultSymbol, /*finalTarget*/ undefined, /*overwriteTypeOnly*/ false);
51244
+ return exportDefaultSymbol;
51245
+ }
51246
+ function getModuleSpecifierForImportOrExport(node) {
51247
+ switch (node.kind) {
51248
+ case 267 /* ImportClause */: return node.parent.moduleSpecifier;
51249
+ case 265 /* ImportEqualsDeclaration */: return ts.isExternalModuleReference(node.moduleReference) ? node.moduleReference.expression : undefined;
51250
+ case 268 /* NamespaceImport */: return node.parent.parent.moduleSpecifier;
51251
+ case 270 /* ImportSpecifier */: return node.parent.parent.parent.moduleSpecifier;
51252
+ case 275 /* ExportSpecifier */: return node.parent.parent.moduleSpecifier;
51253
+ default: return ts.Debug.assertNever(node);
51070
51254
  }
51071
51255
  }
51072
51256
  function reportNonDefaultExport(moduleSymbol, node) {
@@ -51156,7 +51340,7 @@ var ts;
51156
51340
  }
51157
51341
  }
51158
51342
  function getExternalModuleMember(node, specifier, dontResolveAlias) {
51159
- var _a, _b;
51343
+ var _a;
51160
51344
  if (dontResolveAlias === void 0) { dontResolveAlias = false; }
51161
51345
  var moduleSpecifier = ts.getExternalModuleRequireArgument(node) || node.moduleSpecifier;
51162
51346
  var moduleSymbol = resolveExternalModuleName(node, moduleSpecifier); // TODO: GH#18217
@@ -51192,29 +51376,33 @@ var ts;
51192
51376
  combineValueAndTypeSymbols(symbolFromVariable, symbolFromModule) :
51193
51377
  symbolFromModule || symbolFromVariable;
51194
51378
  if (!symbol) {
51195
- var moduleName = getFullyQualifiedName(moduleSymbol, node);
51196
- var declarationName = ts.declarationNameToString(name);
51197
- var suggestion = getSuggestedSymbolForNonexistentModule(name, targetSymbol);
51198
- if (suggestion !== undefined) {
51199
- var suggestionName = symbolToString(suggestion);
51200
- var diagnostic = error(name, ts.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2, moduleName, declarationName, suggestionName);
51201
- if (suggestion.valueDeclaration) {
51202
- ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(suggestion.valueDeclaration, ts.Diagnostics._0_is_declared_here, suggestionName));
51203
- }
51204
- }
51205
- else {
51206
- if ((_b = moduleSymbol.exports) === null || _b === void 0 ? void 0 : _b.has("default" /* Default */)) {
51207
- error(name, ts.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead, moduleName, declarationName);
51208
- }
51209
- else {
51210
- reportNonExportedMember(node, name, declarationName, moduleSymbol, moduleName);
51211
- }
51212
- }
51379
+ errorNoModuleMemberSymbol(moduleSymbol, targetSymbol, node, name);
51213
51380
  }
51214
51381
  return symbol;
51215
51382
  }
51216
51383
  }
51217
51384
  }
51385
+ function errorNoModuleMemberSymbol(moduleSymbol, targetSymbol, node, name) {
51386
+ var _a;
51387
+ var moduleName = getFullyQualifiedName(moduleSymbol, node);
51388
+ var declarationName = ts.declarationNameToString(name);
51389
+ var suggestion = getSuggestedSymbolForNonexistentModule(name, targetSymbol);
51390
+ if (suggestion !== undefined) {
51391
+ var suggestionName = symbolToString(suggestion);
51392
+ var diagnostic = error(name, ts.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2, moduleName, declarationName, suggestionName);
51393
+ if (suggestion.valueDeclaration) {
51394
+ ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(suggestion.valueDeclaration, ts.Diagnostics._0_is_declared_here, suggestionName));
51395
+ }
51396
+ }
51397
+ else {
51398
+ if ((_a = moduleSymbol.exports) === null || _a === void 0 ? void 0 : _a.has("default" /* Default */)) {
51399
+ error(name, ts.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead, moduleName, declarationName);
51400
+ }
51401
+ else {
51402
+ reportNonExportedMember(node, name, declarationName, moduleSymbol, moduleName);
51403
+ }
51404
+ }
51405
+ }
51218
51406
  function reportNonExportedMember(node, name, declarationName, moduleSymbol, moduleName) {
51219
51407
  var _a, _b;
51220
51408
  var localSymbol = (_b = (_a = moduleSymbol.valueDeclaration) === null || _a === void 0 ? void 0 : _a.locals) === null || _b === void 0 ? void 0 : _b.get(name.escapedText);
@@ -51260,6 +51448,13 @@ var ts;
51260
51448
  }
51261
51449
  }
51262
51450
  function getTargetOfImportSpecifier(node, dontResolveAlias) {
51451
+ if (ts.isImportSpecifier(node) && ts.idText(node.propertyName || node.name) === "default" /* Default */) {
51452
+ var specifier = getModuleSpecifierForImportOrExport(node);
51453
+ var moduleSymbol = specifier && resolveExternalModuleName(node, specifier);
51454
+ if (moduleSymbol) {
51455
+ return getTargetofModuleDefault(moduleSymbol, node, dontResolveAlias);
51456
+ }
51457
+ }
51263
51458
  var root = ts.isBindingElement(node) ? ts.getRootDeclaration(node) : node.parent.parent.parent;
51264
51459
  var commonJSPropertyAccess = getCommonJSPropertyAccess(root);
51265
51460
  var resolved = getExternalModuleMember(root, commonJSPropertyAccess || node, dontResolveAlias);
@@ -51281,6 +51476,13 @@ var ts;
51281
51476
  return resolved;
51282
51477
  }
51283
51478
  function getTargetOfExportSpecifier(node, meaning, dontResolveAlias) {
51479
+ if (ts.idText(node.propertyName || node.name) === "default" /* Default */) {
51480
+ var specifier = getModuleSpecifierForImportOrExport(node);
51481
+ var moduleSymbol = specifier && resolveExternalModuleName(node, specifier);
51482
+ if (moduleSymbol) {
51483
+ return getTargetofModuleDefault(moduleSymbol, node, !!dontResolveAlias);
51484
+ }
51485
+ }
51284
51486
  var resolved = node.parent.parent.moduleSpecifier ?
51285
51487
  getExternalModuleMember(node.parent.parent, node, dontResolveAlias) :
51286
51488
  resolveEntityName(node.propertyName || node.name, meaning, /*ignoreErrors*/ false, dontResolveAlias);
@@ -55729,7 +55931,7 @@ var ts;
55729
55931
  // This is an else/if as accessors and properties can't merge in TS, but might in JS
55730
55932
  // If this happens, we assume the accessor takes priority, as it imposes more constraints
55731
55933
  else if (p.flags & (4 /* Property */ | 3 /* Variable */ | 98304 /* Accessor */)) {
55732
- return ts.setTextRange(createProperty(ts.factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* Readonly */ : 0) | flag), name, p.flags & 16777216 /* Optional */ ? ts.factory.createToken(57 /* QuestionToken */) : undefined, isPrivate ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled),
55934
+ return ts.setTextRange(createProperty(ts.factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* Readonly */ : 0) | flag), name, p.flags & 16777216 /* Optional */ ? ts.factory.createToken(57 /* QuestionToken */) : undefined, isPrivate ? undefined : serializeTypeForDeclaration(context, getWriteTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled),
55733
55935
  // TODO: https://github.com/microsoft/TypeScript/pull/32372#discussion_r328386357
55734
55936
  // interface members can't have initializers, however class members _can_
55735
55937
  /*initializer*/ undefined), ((_d = p.declarations) === null || _d === void 0 ? void 0 : _d.find(ts.or(ts.isPropertyDeclaration, ts.isVariableDeclaration))) || firstPropertyLikeDecl);
@@ -59642,7 +59844,7 @@ var ts;
59642
59844
  return constraint && getBaseConstraint(constraint);
59643
59845
  }
59644
59846
  if (t.flags & 33554432 /* Substitution */) {
59645
- return getBaseConstraint(t.substitute);
59847
+ return getBaseConstraint(getSubstitutionIntersection(t));
59646
59848
  }
59647
59849
  return t;
59648
59850
  }
@@ -61053,21 +61255,26 @@ var ts;
61053
61255
  }
61054
61256
  return links.resolvedJSDocType;
61055
61257
  }
61056
- function getSubstitutionType(baseType, substitute) {
61057
- if (substitute.flags & 3 /* AnyOrUnknown */ || substitute === baseType) {
61258
+ function getSubstitutionType(baseType, constraint) {
61259
+ if (constraint.flags & 3 /* AnyOrUnknown */ || constraint === baseType ||
61260
+ baseType.flags & 33554432 /* Substitution */ && baseType.constraint === constraint ||
61261
+ !isGenericType(baseType) && !isGenericType(constraint)) {
61058
61262
  return baseType;
61059
61263
  }
61060
- var id = getTypeId(baseType) + ">" + getTypeId(substitute);
61264
+ var id = getTypeId(baseType) + ">" + getTypeId(constraint);
61061
61265
  var cached = substitutionTypes.get(id);
61062
61266
  if (cached) {
61063
61267
  return cached;
61064
61268
  }
61065
61269
  var result = createType(33554432 /* Substitution */);
61066
61270
  result.baseType = baseType;
61067
- result.substitute = substitute;
61271
+ result.constraint = constraint;
61068
61272
  substitutionTypes.set(id, result);
61069
61273
  return result;
61070
61274
  }
61275
+ function getSubstitutionIntersection(substitutionType) {
61276
+ return getIntersectionType([substitutionType.constraint, substitutionType.baseType]);
61277
+ }
61071
61278
  function isUnaryTupleTypeNode(node) {
61072
61279
  return node.kind === 184 /* TupleType */ && node.elements.length === 1;
61073
61280
  }
@@ -61110,7 +61317,7 @@ var ts;
61110
61317
  }
61111
61318
  node = parent;
61112
61319
  }
61113
- return constraints ? getSubstitutionType(type, getIntersectionType(ts.append(constraints, type))) : type;
61320
+ return constraints ? getSubstitutionType(type, getIntersectionType(constraints)) : type;
61114
61321
  }
61115
61322
  function isJSDocTypeReference(node) {
61116
61323
  return !!(node.flags & 8388608 /* JSDoc */) && (node.kind === 178 /* TypeReference */ || node.kind === 200 /* ImportType */);
@@ -62425,7 +62632,7 @@ var ts;
62425
62632
  type.flags & 16777216 /* Conditional */ ? type.root.isDistributive && type.checkType === typeVariable :
62426
62633
  type.flags & (3145728 /* UnionOrIntersection */ | 134217728 /* TemplateLiteral */) ? ts.every(type.types, isDistributive) :
62427
62634
  type.flags & 8388608 /* IndexedAccess */ ? isDistributive(type.objectType) && isDistributive(type.indexType) :
62428
- type.flags & 33554432 /* Substitution */ ? isDistributive(type.substitute) :
62635
+ type.flags & 33554432 /* Substitution */ ? isDistributive(type.baseType) && isDistributive(type.constraint) :
62429
62636
  type.flags & 268435456 /* StringMapping */ ? isDistributive(type.type) :
62430
62637
  false;
62431
62638
  }
@@ -62908,7 +63115,7 @@ var ts;
62908
63115
  if (type.flags & 33554432 /* Substitution */) {
62909
63116
  if (!(type.objectFlags & 2097152 /* IsGenericTypeComputed */)) {
62910
63117
  type.objectFlags |= 2097152 /* IsGenericTypeComputed */ |
62911
- getGenericObjectFlags(type.substitute) | getGenericObjectFlags(type.baseType);
63118
+ getGenericObjectFlags(type.baseType) | getGenericObjectFlags(type.constraint);
62912
63119
  }
62913
63120
  return type.objectFlags & 12582912 /* IsGenericType */;
62914
63121
  }
@@ -63991,8 +64198,8 @@ var ts;
63991
64198
  return !mapper ? makeUnaryTypeMapper(source, target) : makeCompositeTypeMapper(5 /* Merged */, mapper, makeUnaryTypeMapper(source, target));
63992
64199
  }
63993
64200
  function getRestrictiveTypeParameter(tp) {
63994
- return tp.constraint === unknownType ? tp : tp.restrictiveInstantiation || (tp.restrictiveInstantiation = createTypeParameter(tp.symbol),
63995
- tp.restrictiveInstantiation.constraint = unknownType,
64201
+ return tp.constraint === noConstraintType ? tp : tp.restrictiveInstantiation || (tp.restrictiveInstantiation = createTypeParameter(tp.symbol),
64202
+ tp.restrictiveInstantiation.constraint = noConstraintType,
63996
64203
  tp.restrictiveInstantiation);
63997
64204
  }
63998
64205
  function cloneTypeParameter(typeParameter) {
@@ -64355,17 +64562,17 @@ var ts;
64355
64562
  return getConditionalTypeInstantiation(type, combineTypeMappers(type.mapper, mapper), aliasSymbol, aliasTypeArguments);
64356
64563
  }
64357
64564
  if (flags & 33554432 /* Substitution */) {
64358
- var maybeVariable = instantiateType(type.baseType, mapper);
64359
- if (maybeVariable.flags & 8650752 /* TypeVariable */) {
64360
- return getSubstitutionType(maybeVariable, instantiateType(type.substitute, mapper));
64361
- }
64362
- else {
64363
- var sub = instantiateType(type.substitute, mapper);
64364
- if (sub.flags & 3 /* AnyOrUnknown */ || isTypeAssignableTo(getRestrictiveInstantiation(maybeVariable), getRestrictiveInstantiation(sub))) {
64365
- return maybeVariable;
64366
- }
64367
- return sub;
64368
- }
64565
+ var newBaseType = instantiateType(type.baseType, mapper);
64566
+ var newConstraint = instantiateType(type.constraint, mapper);
64567
+ // A substitution type originates in the true branch of a conditional type and can be resolved
64568
+ // to just the base type in the same cases as the conditional type resolves to its true branch
64569
+ // (because the base type is then known to satisfy the constraint).
64570
+ if (newConstraint.flags & 3 /* AnyOrUnknown */ ||
64571
+ !isGenericType(newBaseType) && !isGenericType(newConstraint) ||
64572
+ isTypeAssignableTo(getRestrictiveInstantiation(newBaseType), getRestrictiveInstantiation(newConstraint))) {
64573
+ return newBaseType;
64574
+ }
64575
+ return getSubstitutionType(newBaseType, newConstraint);
64369
64576
  }
64370
64577
  return type;
64371
64578
  }
@@ -65318,7 +65525,7 @@ var ts;
65318
65525
  var t = isFreshLiteralType(type) ? type.regularType :
65319
65526
  ts.getObjectFlags(type) & 4 /* Reference */ ? type.node ? createTypeReference(type.target, getTypeArguments(type)) : getSingleBaseForNonAugmentingSubtype(type) || type :
65320
65527
  type.flags & 3145728 /* UnionOrIntersection */ ? getNormalizedUnionOrIntersectionType(type, writing) :
65321
- type.flags & 33554432 /* Substitution */ ? writing ? type.baseType : type.substitute :
65528
+ type.flags & 33554432 /* Substitution */ ? writing ? type.baseType : getSubstitutionIntersection(type) :
65322
65529
  type.flags & 25165824 /* Simplifiable */ ? getSimplifiedType(type, writing) :
65323
65530
  type;
65324
65531
  if (t === type)
@@ -65675,38 +65882,6 @@ var ts;
65675
65882
  }
65676
65883
  return 0 /* False */;
65677
65884
  }
65678
- // Before normalization: Intersections applied to unions create an explosion of types when normalized -
65679
- // handling those inner intersections can be very costly, so it can be beneficial to factor them out early.
65680
- // If both the source and target are intersections, we can remove the common types from them before formal normalization,
65681
- // and run a simplified comparison without those common members.
65682
- if (originalSource.flags & originalTarget.flags & 2097152 /* Intersection */) {
65683
- var combinedTypeSet_1 = new ts.Map();
65684
- ts.forEach(originalSource.types, function (t) { return combinedTypeSet_1.set(getTypeId(t), 1); });
65685
- var hasOverlap_1 = false;
65686
- ts.forEach(originalTarget.types, function (t) {
65687
- var id = getTypeId(t);
65688
- if (combinedTypeSet_1.has(id)) {
65689
- combinedTypeSet_1.set(getTypeId(t), 2);
65690
- hasOverlap_1 = true;
65691
- }
65692
- });
65693
- if (hasOverlap_1) {
65694
- var filteredSource = ts.filter(originalSource.types, function (t) { return combinedTypeSet_1.get(getTypeId(t)) !== 2; });
65695
- var filteredTarget = ts.filter(originalTarget.types, function (t) { return combinedTypeSet_1.get(getTypeId(t)) !== 2; });
65696
- if (!ts.length(filteredTarget)) {
65697
- return -1 /* True */; // Source has all parts of target
65698
- }
65699
- if (ts.length(filteredSource)) {
65700
- var result_7;
65701
- if (result_7 = isRelatedTo(getIntersectionType(filteredSource), getIntersectionType(filteredTarget), recursionFlags, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState)) {
65702
- return result_7;
65703
- }
65704
- // In the false case, we may still be assignable at the structural level, rather than the algebraic level
65705
- }
65706
- // Even if every member of the source is in the target but the target still has members left, the source may still be assignable
65707
- // to the target, either if some member of the original source is assignable to the other members of the target, or if there is structural assignability
65708
- }
65709
- }
65710
65885
  // Normalize the source and target types: Turn fresh literal types into regular literal types,
65711
65886
  // turn deferred type references into regular type references, simplify indexed access and
65712
65887
  // conditional types, and resolve substitution types to either the substitution (on the source
@@ -65782,7 +65957,7 @@ var ts;
65782
65957
  traceUnionsOrIntersectionsTooLarge(source, target);
65783
65958
  var skipCaching = source.flags & 1048576 /* Union */ && source.types.length < 4 && !(target.flags & 1048576 /* Union */) ||
65784
65959
  target.flags & 1048576 /* Union */ && target.types.length < 4 && !(source.flags & 469499904 /* StructuredOrInstantiable */);
65785
- var result_8 = skipCaching ?
65960
+ var result_7 = skipCaching ?
65786
65961
  unionOrIntersectionRelatedTo(source, target, reportErrors, intersectionState) :
65787
65962
  recursiveTypeRelatedTo(source, target, reportErrors, intersectionState, recursionFlags);
65788
65963
  // For certain combinations involving intersections and optional, excess, or mismatched properties we need
@@ -65800,14 +65975,14 @@ var ts;
65800
65975
  //
65801
65976
  // We suppress recursive intersection property checks because they can generate lots of work when relating
65802
65977
  // recursive intersections that are structurally similar but not exactly identical. See #37854.
65803
- if (result_8 && !inPropertyCheck && (target.flags & 2097152 /* Intersection */ && (isPerformingExcessPropertyChecks || isPerformingCommonPropertyChecks) ||
65978
+ if (result_7 && !inPropertyCheck && (target.flags & 2097152 /* Intersection */ && (isPerformingExcessPropertyChecks || isPerformingCommonPropertyChecks) ||
65804
65979
  isNonGenericObjectType(target) && !isArrayOrTupleType(target) && source.flags & 2097152 /* Intersection */ && getApparentType(source).flags & 3670016 /* StructuredType */ && !ts.some(source.types, function (t) { return !!(ts.getObjectFlags(t) & 262144 /* NonInferrableType */); }))) {
65805
65980
  inPropertyCheck = true;
65806
- result_8 &= recursiveTypeRelatedTo(source, target, reportErrors, 4 /* PropertyCheck */, recursionFlags);
65981
+ result_7 &= recursiveTypeRelatedTo(source, target, reportErrors, 4 /* PropertyCheck */, recursionFlags);
65807
65982
  inPropertyCheck = false;
65808
65983
  }
65809
- if (result_8) {
65810
- return result_8;
65984
+ if (result_7) {
65985
+ return result_7;
65811
65986
  }
65812
65987
  }
65813
65988
  if (reportErrors) {
@@ -66196,9 +66371,6 @@ var ts;
66196
66371
  // equal and infinitely expanding. Fourth, if we have reached a depth of 100 nested comparisons, assume we have runaway recursion
66197
66372
  // and issue an error. Otherwise, actually compare the structure of the two types.
66198
66373
  function recursiveTypeRelatedTo(source, target, reportErrors, intersectionState, recursionFlags) {
66199
- if (relation.size > Math.pow(2, 20)) {
66200
- debugger;
66201
- }
66202
66374
  if (overflow) {
66203
66375
  return 0 /* False */;
66204
66376
  }
@@ -66357,11 +66529,11 @@ var ts;
66357
66529
  if (relation === identityRelation) {
66358
66530
  // We've already checked that source.flags and target.flags are identical
66359
66531
  if (sourceFlags & 3145728 /* UnionOrIntersection */) {
66360
- var result_9 = eachTypeRelatedToSomeType(source, target);
66361
- if (result_9) {
66362
- result_9 &= eachTypeRelatedToSomeType(target, source);
66532
+ var result_8 = eachTypeRelatedToSomeType(source, target);
66533
+ if (result_8) {
66534
+ result_8 &= eachTypeRelatedToSomeType(target, source);
66363
66535
  }
66364
- return result_9;
66536
+ return result_8;
66365
66537
  }
66366
66538
  if (sourceFlags & 4194304 /* Index */) {
66367
66539
  return isRelatedTo(source.type, target.type, 3 /* Both */, /*reportErrors*/ false);
@@ -66387,7 +66559,11 @@ var ts;
66387
66559
  }
66388
66560
  }
66389
66561
  if (sourceFlags & 33554432 /* Substitution */) {
66390
- return isRelatedTo(source.substitute, target.substitute, 3 /* Both */, /*reportErrors*/ false);
66562
+ if (result = isRelatedTo(source.baseType, target.baseType, 3 /* Both */, /*reportErrors*/ false)) {
66563
+ if (result &= isRelatedTo(source.constraint, target.constraint, 3 /* Both */, /*reportErrors*/ false)) {
66564
+ return result;
66565
+ }
66566
+ }
66391
66567
  }
66392
66568
  if (!(sourceFlags & 524288 /* Object */)) {
66393
66569
  return 0 /* False */;
@@ -66850,9 +67026,9 @@ var ts;
66850
67026
  if (sourceFlags & (524288 /* Object */ | 2097152 /* Intersection */) && targetFlags & 1048576 /* Union */) {
66851
67027
  var objectOnlyTarget = extractTypesOfKind(target, 524288 /* Object */ | 2097152 /* Intersection */ | 33554432 /* Substitution */);
66852
67028
  if (objectOnlyTarget.flags & 1048576 /* Union */) {
66853
- var result_10 = typeRelatedToDiscriminatedType(source, objectOnlyTarget);
66854
- if (result_10) {
66855
- return result_10;
67029
+ var result_9 = typeRelatedToDiscriminatedType(source, objectOnlyTarget);
67030
+ if (result_9) {
67031
+ return result_9;
66856
67032
  }
66857
67033
  }
66858
67034
  }
@@ -66912,13 +67088,13 @@ var ts;
66912
67088
  var modifiersRelated = relation === comparableRelation || (relation === identityRelation ? getMappedTypeModifiers(source) === getMappedTypeModifiers(target) :
66913
67089
  getCombinedMappedTypeOptionality(source) <= getCombinedMappedTypeOptionality(target));
66914
67090
  if (modifiersRelated) {
66915
- var result_11;
67091
+ var result_10;
66916
67092
  var targetConstraint = getConstraintTypeFromMappedType(target);
66917
67093
  var sourceConstraint = instantiateType(getConstraintTypeFromMappedType(source), getCombinedMappedTypeOptionality(source) < 0 ? reportUnmeasurableMapper : reportUnreliableMapper);
66918
- if (result_11 = isRelatedTo(targetConstraint, sourceConstraint, 3 /* Both */, reportErrors)) {
67094
+ if (result_10 = isRelatedTo(targetConstraint, sourceConstraint, 3 /* Both */, reportErrors)) {
66919
67095
  var mapper = createTypeMapper([getTypeParameterFromMappedType(source)], [getTypeParameterFromMappedType(target)]);
66920
67096
  if (instantiateType(getNameTypeFromMappedType(source), mapper) === instantiateType(getNameTypeFromMappedType(target), mapper)) {
66921
- return result_11 & isRelatedTo(instantiateType(getTemplateTypeFromMappedType(source), mapper), getTemplateTypeFromMappedType(target), 3 /* Both */, reportErrors);
67097
+ return result_10 & isRelatedTo(instantiateType(getTemplateTypeFromMappedType(source), mapper), getTemplateTypeFromMappedType(target), 3 /* Both */, reportErrors);
66922
67098
  }
66923
67099
  }
66924
67100
  }
@@ -69391,7 +69567,7 @@ var ts;
69391
69567
  }
69392
69568
  else if (source.flags & 33554432 /* Substitution */) {
69393
69569
  inferFromTypes(source.baseType, target);
69394
- inferWithPriority(source.substitute, target, 4 /* SubstituteSource */); // Make substitute inference at a lower priority
69570
+ inferWithPriority(getSubstitutionIntersection(source), target, 4 /* SubstituteSource */); // Make substitute inference at a lower priority
69395
69571
  }
69396
69572
  else if (target.flags & 16777216 /* Conditional */) {
69397
69573
  invokeOnce(source, target, inferToConditionalType);
@@ -78269,10 +78445,10 @@ var ts;
78269
78445
  hasSignatures || (hasSignatures = resolved.callSignatures.length !== 0 || resolved.constructSignatures.length !== 0);
78270
78446
  hasApplicableSignature || (hasApplicableSignature = callSignatures.length !== 0 || constructSignatures.length !== 0);
78271
78447
  if (callSignatures !== resolved.callSignatures || constructSignatures !== resolved.constructSignatures) {
78272
- var result_12 = createAnonymousType(undefined, resolved.members, callSignatures, constructSignatures, resolved.indexInfos);
78273
- result_12.objectFlags |= 8388608 /* InstantiationExpressionType */;
78274
- result_12.node = node;
78275
- return result_12;
78448
+ var result_11 = createAnonymousType(undefined, resolved.members, callSignatures, constructSignatures, resolved.indexInfos);
78449
+ result_11.objectFlags |= 8388608 /* InstantiationExpressionType */;
78450
+ result_11.node = node;
78451
+ return result_11;
78276
78452
  }
78277
78453
  }
78278
78454
  else if (type.flags & 58982400 /* InstantiableNonPrimitive */) {
@@ -82107,12 +82283,12 @@ var ts;
82107
82283
  case 265 /* ImportEqualsDeclaration */:
82108
82284
  case 268 /* NamespaceImport */:
82109
82285
  case 267 /* ImportClause */:
82110
- var result_13 = 0 /* None */;
82286
+ var result_12 = 0 /* None */;
82111
82287
  var target = resolveAlias(getSymbolOfNode(d));
82112
82288
  ts.forEach(target.declarations, function (d) {
82113
- result_13 |= getDeclarationSpaces(d);
82289
+ result_12 |= getDeclarationSpaces(d);
82114
82290
  });
82115
- return result_13;
82291
+ return result_12;
82116
82292
  case 254 /* VariableDeclaration */:
82117
82293
  case 203 /* BindingElement */:
82118
82294
  case 256 /* FunctionDeclaration */:
@@ -88788,7 +88964,7 @@ var ts;
88788
88964
  return checkGrammarDecorators(node) || checkGrammarModifiers(node);
88789
88965
  }
88790
88966
  function checkGrammarDecorators(node) {
88791
- if (ts.canHaveIllegalDecorators(node) && ts.some(node.decorators)) {
88967
+ if (ts.canHaveIllegalDecorators(node) && ts.some(node.illegalDecorators)) {
88792
88968
  return grammarErrorOnFirstToken(node, ts.Diagnostics.Decorators_are_not_valid_here);
88793
88969
  }
88794
88970
  if (!ts.canHaveDecorators(node) || !ts.hasDecorators(node)) {
@@ -90441,6 +90617,7 @@ var ts;
90441
90617
  })(ts || (ts = {}));
90442
90618
  var ts;
90443
90619
  (function (ts) {
90620
+ var _a;
90444
90621
  function visitNode(node, visitor, test, lift) {
90445
90622
  if (node === undefined || visitor === undefined) {
90446
90623
  return node;
@@ -90655,12 +90832,10 @@ var ts;
90655
90832
  return updated;
90656
90833
  }
90657
90834
  ts.visitFunctionBody = visitFunctionBody;
90658
- /**
90659
- * Visits an iteration body, adding any block-scoped variables required by the transformation.
90660
- */
90661
- function visitIterationBody(body, visitor, context) {
90835
+ function visitIterationBody(body, visitor, context, nodeVisitor) {
90836
+ if (nodeVisitor === void 0) { nodeVisitor = visitNode; }
90662
90837
  context.startBlockScope();
90663
- var updated = visitNode(body, visitor, ts.isStatement, context.factory.liftToBlock);
90838
+ var updated = nodeVisitor(body, visitor, ts.isStatement, context.factory.liftToBlock);
90664
90839
  var declarations = context.endBlockScope();
90665
90840
  if (ts.some(declarations)) {
90666
90841
  if (ts.isBlock(updated)) {
@@ -90679,456 +90854,443 @@ var ts;
90679
90854
  if (node === undefined) {
90680
90855
  return undefined;
90681
90856
  }
90682
- var kind = node.kind;
90683
- // No need to visit nodes with no children.
90684
- if ((kind > 0 /* FirstToken */ && kind <= 160 /* LastToken */) || kind === 192 /* ThisType */) {
90685
- return node;
90686
- }
90687
- var factory = context.factory;
90688
- switch (kind) {
90689
- // Names
90690
- case 79 /* Identifier */:
90691
- ts.Debug.type(node);
90692
- return factory.updateIdentifier(node, nodesVisitor(node.typeArguments, visitor, ts.isTypeNodeOrTypeParameterDeclaration));
90693
- case 161 /* QualifiedName */:
90694
- ts.Debug.type(node);
90695
- return factory.updateQualifiedName(node, nodeVisitor(node.left, visitor, ts.isEntityName), nodeVisitor(node.right, visitor, ts.isIdentifier));
90696
- case 162 /* ComputedPropertyName */:
90697
- ts.Debug.type(node);
90698
- return factory.updateComputedPropertyName(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90699
- // Signature elements
90700
- case 163 /* TypeParameter */:
90701
- ts.Debug.type(node);
90702
- return factory.updateTypeParameterDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.constraint, visitor, ts.isTypeNode), nodeVisitor(node.default, visitor, ts.isTypeNode));
90703
- case 164 /* Parameter */:
90704
- ts.Debug.type(node);
90705
- return factory.updateParameterDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
90706
- case 165 /* Decorator */:
90707
- ts.Debug.type(node);
90708
- return factory.updateDecorator(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90709
- // Type elements
90710
- case 166 /* PropertySignature */:
90711
- ts.Debug.type(node);
90712
- return factory.updatePropertySignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isToken), nodeVisitor(node.type, visitor, ts.isTypeNode));
90713
- case 167 /* PropertyDeclaration */:
90714
- ts.Debug.type(node);
90715
- return factory.updatePropertyDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName),
90716
- // QuestionToken and ExclamationToken is uniqued in Property Declaration and the signature of 'updateProperty' is that too
90717
- nodeVisitor(node.questionToken || node.exclamationToken, tokenVisitor, ts.isQuestionOrExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
90718
- case 168 /* MethodSignature */:
90719
- ts.Debug.type(node);
90720
- return factory.updateMethodSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90721
- case 169 /* MethodDeclaration */:
90722
- ts.Debug.type(node);
90723
- return factory.updateMethodDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90724
- case 171 /* Constructor */:
90725
- ts.Debug.type(node);
90726
- return factory.updateConstructorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90727
- case 172 /* GetAccessor */:
90728
- ts.Debug.type(node);
90729
- return factory.updateGetAccessorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90730
- case 173 /* SetAccessor */:
90731
- ts.Debug.type(node);
90732
- return factory.updateSetAccessorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90733
- case 170 /* ClassStaticBlockDeclaration */:
90734
- ts.Debug.type(node);
90735
- context.startLexicalEnvironment();
90736
- context.suspendLexicalEnvironment();
90737
- return factory.updateClassStaticBlockDeclaration(node, visitFunctionBody(node.body, visitor, context, nodeVisitor));
90738
- case 174 /* CallSignature */:
90739
- ts.Debug.type(node);
90740
- return factory.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90741
- case 175 /* ConstructSignature */:
90742
- ts.Debug.type(node);
90743
- return factory.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90744
- case 176 /* IndexSignature */:
90745
- ts.Debug.type(node);
90746
- return factory.updateIndexSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90747
- // Types
90748
- case 177 /* TypePredicate */:
90749
- ts.Debug.type(node);
90750
- return factory.updateTypePredicateNode(node, nodeVisitor(node.assertsModifier, visitor, ts.isAssertsKeyword), nodeVisitor(node.parameterName, visitor, ts.isIdentifierOrThisTypeNode), nodeVisitor(node.type, visitor, ts.isTypeNode));
90751
- case 178 /* TypeReference */:
90752
- ts.Debug.type(node);
90753
- return factory.updateTypeReferenceNode(node, nodeVisitor(node.typeName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90754
- case 179 /* FunctionType */:
90755
- ts.Debug.type(node);
90756
- return factory.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90757
- case 180 /* ConstructorType */:
90758
- ts.Debug.type(node);
90759
- return factory.updateConstructorTypeNode(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90760
- case 181 /* TypeQuery */:
90761
- ts.Debug.type(node);
90762
- return factory.updateTypeQueryNode(node, nodeVisitor(node.exprName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90763
- case 182 /* TypeLiteral */:
90764
- ts.Debug.type(node);
90765
- return factory.updateTypeLiteralNode(node, nodesVisitor(node.members, visitor, ts.isTypeElement));
90766
- case 183 /* ArrayType */:
90767
- ts.Debug.type(node);
90768
- return factory.updateArrayTypeNode(node, nodeVisitor(node.elementType, visitor, ts.isTypeNode));
90769
- case 184 /* TupleType */:
90770
- ts.Debug.type(node);
90771
- return factory.updateTupleTypeNode(node, nodesVisitor(node.elements, visitor, ts.isTypeNode));
90772
- case 185 /* OptionalType */:
90773
- ts.Debug.type(node);
90774
- return factory.updateOptionalTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90775
- case 186 /* RestType */:
90776
- ts.Debug.type(node);
90777
- return factory.updateRestTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90778
- case 187 /* UnionType */:
90779
- ts.Debug.type(node);
90780
- return factory.updateUnionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode));
90781
- case 188 /* IntersectionType */:
90782
- ts.Debug.type(node);
90783
- return factory.updateIntersectionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode));
90784
- case 189 /* ConditionalType */:
90785
- ts.Debug.type(node);
90786
- return factory.updateConditionalTypeNode(node, nodeVisitor(node.checkType, visitor, ts.isTypeNode), nodeVisitor(node.extendsType, visitor, ts.isTypeNode), nodeVisitor(node.trueType, visitor, ts.isTypeNode), nodeVisitor(node.falseType, visitor, ts.isTypeNode));
90787
- case 190 /* InferType */:
90788
- ts.Debug.type(node);
90789
- return factory.updateInferTypeNode(node, nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration));
90790
- case 200 /* ImportType */:
90791
- ts.Debug.type(node);
90792
- return factory.updateImportTypeNode(node, nodeVisitor(node.argument, visitor, ts.isTypeNode), nodeVisitor(node.assertions, visitor, ts.isNode), nodeVisitor(node.qualifier, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), node.isTypeOf);
90793
- case 295 /* ImportTypeAssertionContainer */:
90794
- ts.Debug.type(node);
90795
- return factory.updateImportTypeAssertionContainer(node, nodeVisitor(node.assertClause, visitor, ts.isNode), node.multiLine);
90796
- case 197 /* NamedTupleMember */:
90797
- ts.Debug.type(node);
90798
- return factory.updateNamedTupleMember(node, nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.type, visitor, ts.isTypeNode));
90799
- case 191 /* ParenthesizedType */:
90800
- ts.Debug.type(node);
90801
- return factory.updateParenthesizedType(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90802
- case 193 /* TypeOperator */:
90803
- ts.Debug.type(node);
90804
- return factory.updateTypeOperatorNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90805
- case 194 /* IndexedAccessType */:
90806
- ts.Debug.type(node);
90807
- return factory.updateIndexedAccessTypeNode(node, nodeVisitor(node.objectType, visitor, ts.isTypeNode), nodeVisitor(node.indexType, visitor, ts.isTypeNode));
90808
- case 195 /* MappedType */:
90809
- ts.Debug.type(node);
90810
- return factory.updateMappedTypeNode(node, nodeVisitor(node.readonlyToken, tokenVisitor, ts.isReadonlyKeywordOrPlusOrMinusToken), nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration), nodeVisitor(node.nameType, visitor, ts.isTypeNode), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionOrPlusOrMinusToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodesVisitor(node.members, visitor, ts.isTypeElement));
90811
- case 196 /* LiteralType */:
90812
- ts.Debug.type(node);
90813
- return factory.updateLiteralTypeNode(node, nodeVisitor(node.literal, visitor, ts.isExpression));
90814
- case 198 /* TemplateLiteralType */:
90815
- ts.Debug.type(node);
90816
- return factory.updateTemplateLiteralType(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateLiteralTypeSpan));
90817
- case 199 /* TemplateLiteralTypeSpan */:
90818
- ts.Debug.type(node);
90819
- return factory.updateTemplateLiteralTypeSpan(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail));
90820
- // Binding patterns
90821
- case 201 /* ObjectBindingPattern */:
90822
- ts.Debug.type(node);
90823
- return factory.updateObjectBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isBindingElement));
90824
- case 202 /* ArrayBindingPattern */:
90825
- ts.Debug.type(node);
90826
- return factory.updateArrayBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isArrayBindingElement));
90827
- case 203 /* BindingElement */:
90828
- ts.Debug.type(node);
90829
- return factory.updateBindingElement(node, nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.propertyName, visitor, ts.isPropertyName), nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.initializer, visitor, ts.isExpression));
90830
- // Expression
90831
- case 204 /* ArrayLiteralExpression */:
90832
- ts.Debug.type(node);
90833
- return factory.updateArrayLiteralExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression));
90834
- case 205 /* ObjectLiteralExpression */:
90835
- ts.Debug.type(node);
90836
- return factory.updateObjectLiteralExpression(node, nodesVisitor(node.properties, visitor, ts.isObjectLiteralElementLike));
90837
- case 206 /* PropertyAccessExpression */:
90838
- if (node.flags & 32 /* OptionalChain */) {
90839
- ts.Debug.type(node);
90840
- return factory.updatePropertyAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.name, visitor, ts.isMemberName));
90841
- }
90842
- ts.Debug.type(node);
90843
- return factory.updatePropertyAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.name, visitor, ts.isMemberName));
90844
- case 207 /* ElementAccessExpression */:
90845
- if (node.flags & 32 /* OptionalChain */) {
90846
- ts.Debug.type(node);
90847
- return factory.updateElementAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.argumentExpression, visitor, ts.isExpression));
90848
- }
90849
- ts.Debug.type(node);
90850
- return factory.updateElementAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.argumentExpression, visitor, ts.isExpression));
90851
- case 208 /* CallExpression */:
90852
- if (node.flags & 32 /* OptionalChain */) {
90853
- ts.Debug.type(node);
90854
- return factory.updateCallChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
90855
- }
90856
- ts.Debug.type(node);
90857
- return factory.updateCallExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
90858
- case 209 /* NewExpression */:
90859
- ts.Debug.type(node);
90860
- return factory.updateNewExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
90861
- case 210 /* TaggedTemplateExpression */:
90862
- ts.Debug.type(node);
90863
- return factory.updateTaggedTemplateExpression(node, nodeVisitor(node.tag, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.template, visitor, ts.isTemplateLiteral));
90864
- case 211 /* TypeAssertionExpression */:
90865
- ts.Debug.type(node);
90866
- return factory.updateTypeAssertion(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.expression, visitor, ts.isExpression));
90867
- case 212 /* ParenthesizedExpression */:
90868
- ts.Debug.type(node);
90869
- return factory.updateParenthesizedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90870
- case 213 /* FunctionExpression */:
90871
- ts.Debug.type(node);
90872
- return factory.updateFunctionExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90873
- case 214 /* ArrowFunction */:
90874
- ts.Debug.type(node);
90875
- return factory.updateArrowFunction(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.equalsGreaterThanToken, tokenVisitor, ts.isEqualsGreaterThanToken), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90876
- case 215 /* DeleteExpression */:
90877
- ts.Debug.type(node);
90878
- return factory.updateDeleteExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90879
- case 216 /* TypeOfExpression */:
90880
- ts.Debug.type(node);
90881
- return factory.updateTypeOfExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90882
- case 217 /* VoidExpression */:
90883
- ts.Debug.type(node);
90884
- return factory.updateVoidExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90885
- case 218 /* AwaitExpression */:
90886
- ts.Debug.type(node);
90887
- return factory.updateAwaitExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90888
- case 219 /* PrefixUnaryExpression */:
90889
- ts.Debug.type(node);
90890
- return factory.updatePrefixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression));
90891
- case 220 /* PostfixUnaryExpression */:
90892
- ts.Debug.type(node);
90893
- return factory.updatePostfixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression));
90894
- case 221 /* BinaryExpression */:
90895
- ts.Debug.type(node);
90896
- return factory.updateBinaryExpression(node, nodeVisitor(node.left, visitor, ts.isExpression), nodeVisitor(node.operatorToken, tokenVisitor, ts.isBinaryOperatorToken), nodeVisitor(node.right, visitor, ts.isExpression));
90897
- case 222 /* ConditionalExpression */:
90898
- ts.Debug.type(node);
90899
- return factory.updateConditionalExpression(node, nodeVisitor(node.condition, visitor, ts.isExpression), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.whenTrue, visitor, ts.isExpression), nodeVisitor(node.colonToken, tokenVisitor, ts.isColonToken), nodeVisitor(node.whenFalse, visitor, ts.isExpression));
90900
- case 223 /* TemplateExpression */:
90901
- ts.Debug.type(node);
90902
- return factory.updateTemplateExpression(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateSpan));
90903
- case 224 /* YieldExpression */:
90904
- ts.Debug.type(node);
90905
- return factory.updateYieldExpression(node, nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.expression, visitor, ts.isExpression));
90906
- case 225 /* SpreadElement */:
90907
- ts.Debug.type(node);
90908
- return factory.updateSpreadElement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90909
- case 226 /* ClassExpression */:
90910
- ts.Debug.type(node);
90911
- return factory.updateClassExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement));
90912
- case 228 /* ExpressionWithTypeArguments */:
90913
- ts.Debug.type(node);
90914
- return factory.updateExpressionWithTypeArguments(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90915
- case 229 /* AsExpression */:
90916
- ts.Debug.type(node);
90917
- return factory.updateAsExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.type, visitor, ts.isTypeNode));
90918
- case 230 /* NonNullExpression */:
90919
- if (node.flags & 32 /* OptionalChain */) {
90920
- ts.Debug.type(node);
90921
- return factory.updateNonNullChain(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90922
- }
90923
- ts.Debug.type(node);
90924
- return factory.updateNonNullExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90925
- case 231 /* MetaProperty */:
90926
- ts.Debug.type(node);
90927
- return factory.updateMetaProperty(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
90928
- // Misc
90929
- case 233 /* TemplateSpan */:
90930
- ts.Debug.type(node);
90931
- return factory.updateTemplateSpan(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail));
90932
- // Element
90933
- case 235 /* Block */:
90934
- ts.Debug.type(node);
90935
- return factory.updateBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement));
90936
- case 237 /* VariableStatement */:
90937
- ts.Debug.type(node);
90938
- return factory.updateVariableStatement(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.declarationList, visitor, ts.isVariableDeclarationList));
90939
- case 238 /* ExpressionStatement */:
90940
- ts.Debug.type(node);
90941
- return factory.updateExpressionStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90942
- case 239 /* IfStatement */:
90943
- ts.Debug.type(node);
90944
- return factory.updateIfStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.thenStatement, visitor, ts.isStatement, factory.liftToBlock), nodeVisitor(node.elseStatement, visitor, ts.isStatement, factory.liftToBlock));
90945
- case 240 /* DoStatement */:
90946
- ts.Debug.type(node);
90947
- return factory.updateDoStatement(node, visitIterationBody(node.statement, visitor, context), nodeVisitor(node.expression, visitor, ts.isExpression));
90948
- case 241 /* WhileStatement */:
90949
- ts.Debug.type(node);
90950
- return factory.updateWhileStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context));
90951
- case 242 /* ForStatement */:
90952
- ts.Debug.type(node);
90953
- return factory.updateForStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.condition, visitor, ts.isExpression), nodeVisitor(node.incrementor, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context));
90954
- case 243 /* ForInStatement */:
90955
- ts.Debug.type(node);
90956
- return factory.updateForInStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context));
90957
- case 244 /* ForOfStatement */:
90958
- ts.Debug.type(node);
90959
- return factory.updateForOfStatement(node, nodeVisitor(node.awaitModifier, tokenVisitor, ts.isAwaitKeyword), nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context));
90960
- case 245 /* ContinueStatement */:
90961
- ts.Debug.type(node);
90962
- return factory.updateContinueStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier));
90963
- case 246 /* BreakStatement */:
90964
- ts.Debug.type(node);
90965
- return factory.updateBreakStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier));
90966
- case 247 /* ReturnStatement */:
90967
- ts.Debug.type(node);
90968
- return factory.updateReturnStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90969
- case 248 /* WithStatement */:
90970
- ts.Debug.type(node);
90971
- return factory.updateWithStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.statement, visitor, ts.isStatement, factory.liftToBlock));
90972
- case 249 /* SwitchStatement */:
90973
- ts.Debug.type(node);
90974
- return factory.updateSwitchStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.caseBlock, visitor, ts.isCaseBlock));
90975
- case 250 /* LabeledStatement */:
90976
- ts.Debug.type(node);
90977
- return factory.updateLabeledStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier), nodeVisitor(node.statement, visitor, ts.isStatement, factory.liftToBlock));
90978
- case 251 /* ThrowStatement */:
90979
- ts.Debug.type(node);
90980
- return factory.updateThrowStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90981
- case 252 /* TryStatement */:
90982
- ts.Debug.type(node);
90983
- return factory.updateTryStatement(node, nodeVisitor(node.tryBlock, visitor, ts.isBlock), nodeVisitor(node.catchClause, visitor, ts.isCatchClause), nodeVisitor(node.finallyBlock, visitor, ts.isBlock));
90984
- case 254 /* VariableDeclaration */:
90985
- ts.Debug.type(node);
90986
- return factory.updateVariableDeclaration(node, nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.exclamationToken, tokenVisitor, ts.isExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
90987
- case 255 /* VariableDeclarationList */:
90988
- ts.Debug.type(node);
90989
- return factory.updateVariableDeclarationList(node, nodesVisitor(node.declarations, visitor, ts.isVariableDeclaration));
90990
- case 256 /* FunctionDeclaration */:
90991
- ts.Debug.type(node);
90992
- return factory.updateFunctionDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90993
- case 257 /* ClassDeclaration */:
90994
- ts.Debug.type(node);
90995
- return factory.updateClassDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement));
90996
- case 258 /* InterfaceDeclaration */:
90997
- ts.Debug.type(node);
90998
- return factory.updateInterfaceDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isTypeElement));
90999
- case 259 /* TypeAliasDeclaration */:
91000
- ts.Debug.type(node);
91001
- return factory.updateTypeAliasDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
91002
- case 260 /* EnumDeclaration */:
91003
- ts.Debug.type(node);
91004
- return factory.updateEnumDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember));
91005
- case 261 /* ModuleDeclaration */:
91006
- ts.Debug.type(node);
91007
- return factory.updateModuleDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isModuleName), nodeVisitor(node.body, visitor, ts.isModuleBody));
91008
- case 262 /* ModuleBlock */:
91009
- ts.Debug.type(node);
91010
- return factory.updateModuleBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement));
91011
- case 263 /* CaseBlock */:
91012
- ts.Debug.type(node);
91013
- return factory.updateCaseBlock(node, nodesVisitor(node.clauses, visitor, ts.isCaseOrDefaultClause));
91014
- case 264 /* NamespaceExportDeclaration */:
91015
- ts.Debug.type(node);
91016
- return factory.updateNamespaceExportDeclaration(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91017
- case 265 /* ImportEqualsDeclaration */:
91018
- ts.Debug.type(node);
91019
- return factory.updateImportEqualsDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.moduleReference, visitor, ts.isModuleReference));
91020
- case 266 /* ImportDeclaration */:
91021
- ts.Debug.type(node);
91022
- return factory.updateImportDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.importClause, visitor, ts.isImportClause), nodeVisitor(node.moduleSpecifier, visitor, ts.isExpression), nodeVisitor(node.assertClause, visitor, ts.isAssertClause));
91023
- case 293 /* AssertClause */:
91024
- ts.Debug.type(node);
91025
- return factory.updateAssertClause(node, nodesVisitor(node.elements, visitor, ts.isAssertEntry), node.multiLine);
91026
- case 294 /* AssertEntry */:
91027
- ts.Debug.type(node);
91028
- return factory.updateAssertEntry(node, nodeVisitor(node.name, visitor, ts.isAssertionKey), nodeVisitor(node.value, visitor, ts.isExpressionNode));
91029
- case 267 /* ImportClause */:
91030
- ts.Debug.type(node);
91031
- return factory.updateImportClause(node, node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.namedBindings, visitor, ts.isNamedImportBindings));
91032
- case 268 /* NamespaceImport */:
91033
- ts.Debug.type(node);
91034
- return factory.updateNamespaceImport(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91035
- case 274 /* NamespaceExport */:
91036
- ts.Debug.type(node);
91037
- return factory.updateNamespaceExport(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91038
- case 269 /* NamedImports */:
91039
- ts.Debug.type(node);
91040
- return factory.updateNamedImports(node, nodesVisitor(node.elements, visitor, ts.isImportSpecifier));
91041
- case 270 /* ImportSpecifier */:
91042
- ts.Debug.type(node);
91043
- return factory.updateImportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier));
91044
- case 271 /* ExportAssignment */:
91045
- ts.Debug.type(node);
91046
- return factory.updateExportAssignment(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.expression, visitor, ts.isExpression));
91047
- case 272 /* ExportDeclaration */:
91048
- ts.Debug.type(node);
91049
- return factory.updateExportDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.exportClause, visitor, ts.isNamedExportBindings), nodeVisitor(node.moduleSpecifier, visitor, ts.isExpression), nodeVisitor(node.assertClause, visitor, ts.isAssertClause));
91050
- case 273 /* NamedExports */:
91051
- ts.Debug.type(node);
91052
- return factory.updateNamedExports(node, nodesVisitor(node.elements, visitor, ts.isExportSpecifier));
91053
- case 275 /* ExportSpecifier */:
91054
- ts.Debug.type(node);
91055
- return factory.updateExportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier));
91056
- // Module references
91057
- case 277 /* ExternalModuleReference */:
91058
- ts.Debug.type(node);
91059
- return factory.updateExternalModuleReference(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91060
- // JSX
91061
- case 278 /* JsxElement */:
91062
- ts.Debug.type(node);
91063
- return factory.updateJsxElement(node, nodeVisitor(node.openingElement, visitor, ts.isJsxOpeningElement), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingElement, visitor, ts.isJsxClosingElement));
91064
- case 279 /* JsxSelfClosingElement */:
91065
- ts.Debug.type(node);
91066
- return factory.updateJsxSelfClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes));
91067
- case 280 /* JsxOpeningElement */:
91068
- ts.Debug.type(node);
91069
- return factory.updateJsxOpeningElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes));
91070
- case 281 /* JsxClosingElement */:
91071
- ts.Debug.type(node);
91072
- return factory.updateJsxClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression));
91073
- case 282 /* JsxFragment */:
91074
- ts.Debug.type(node);
91075
- return factory.updateJsxFragment(node, nodeVisitor(node.openingFragment, visitor, ts.isJsxOpeningFragment), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingFragment, visitor, ts.isJsxClosingFragment));
91076
- case 285 /* JsxAttribute */:
91077
- ts.Debug.type(node);
91078
- return factory.updateJsxAttribute(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.initializer, visitor, ts.isStringLiteralOrJsxExpression));
91079
- case 286 /* JsxAttributes */:
91080
- ts.Debug.type(node);
91081
- return factory.updateJsxAttributes(node, nodesVisitor(node.properties, visitor, ts.isJsxAttributeLike));
91082
- case 287 /* JsxSpreadAttribute */:
91083
- ts.Debug.type(node);
91084
- return factory.updateJsxSpreadAttribute(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91085
- case 288 /* JsxExpression */:
91086
- ts.Debug.type(node);
91087
- return factory.updateJsxExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91088
- // Clauses
91089
- case 289 /* CaseClause */:
91090
- ts.Debug.type(node);
91091
- return factory.updateCaseClause(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.statements, visitor, ts.isStatement));
91092
- case 290 /* DefaultClause */:
91093
- ts.Debug.type(node);
91094
- return factory.updateDefaultClause(node, nodesVisitor(node.statements, visitor, ts.isStatement));
91095
- case 291 /* HeritageClause */:
91096
- ts.Debug.type(node);
91097
- return factory.updateHeritageClause(node, nodesVisitor(node.types, visitor, ts.isExpressionWithTypeArguments));
91098
- case 292 /* CatchClause */:
91099
- ts.Debug.type(node);
91100
- return factory.updateCatchClause(node, nodeVisitor(node.variableDeclaration, visitor, ts.isVariableDeclaration), nodeVisitor(node.block, visitor, ts.isBlock));
91101
- // Property assignments
91102
- case 296 /* PropertyAssignment */:
91103
- ts.Debug.type(node);
91104
- return factory.updatePropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91105
- case 297 /* ShorthandPropertyAssignment */:
91106
- ts.Debug.type(node);
91107
- return factory.updateShorthandPropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.objectAssignmentInitializer, visitor, ts.isExpression));
91108
- case 298 /* SpreadAssignment */:
91109
- ts.Debug.type(node);
91110
- return factory.updateSpreadAssignment(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91111
- // Enum
91112
- case 299 /* EnumMember */:
91113
- ts.Debug.type(node);
91114
- return factory.updateEnumMember(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91115
- // Top-level nodes
91116
- case 305 /* SourceFile */:
91117
- ts.Debug.type(node);
91118
- return factory.updateSourceFile(node, visitLexicalEnvironment(node.statements, visitor, context));
91119
- // Transformation nodes
91120
- case 350 /* PartiallyEmittedExpression */:
91121
- ts.Debug.type(node);
91122
- return factory.updatePartiallyEmittedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91123
- case 351 /* CommaListExpression */:
91124
- ts.Debug.type(node);
91125
- return factory.updateCommaListExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression));
91126
- default:
91127
- // No need to visit nodes with no children.
91128
- return node;
91129
- }
90857
+ var fn = visitEachChildTable[node.kind];
90858
+ return fn === undefined ? node : fn(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor);
91130
90859
  }
91131
90860
  ts.visitEachChild = visitEachChild;
90861
+ // NOTE: Before you can add a new method to `visitEachChildTable`, you must first ensure the `Node` subtype you
90862
+ // wish to add is defined in the `HasChildren` union in types.ts.
90863
+ var visitEachChildTable = (_a = {},
90864
+ _a[79 /* Identifier */] = function visitEachChildOfIdentifier(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90865
+ return context.factory.updateIdentifier(node, nodesVisitor(node.typeArguments, visitor, ts.isTypeNodeOrTypeParameterDeclaration));
90866
+ },
90867
+ _a[161 /* QualifiedName */] = function visitEachChildOfQualifiedName(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90868
+ return context.factory.updateQualifiedName(node, nodeVisitor(node.left, visitor, ts.isEntityName), nodeVisitor(node.right, visitor, ts.isIdentifier));
90869
+ },
90870
+ _a[162 /* ComputedPropertyName */] = function visitEachChildOfComputedPropertyName(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90871
+ return context.factory.updateComputedPropertyName(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90872
+ },
90873
+ // Signature elements
90874
+ _a[163 /* TypeParameter */] = function visitEachChildOfTypeParameterDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90875
+ return context.factory.updateTypeParameterDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.constraint, visitor, ts.isTypeNode), nodeVisitor(node.default, visitor, ts.isTypeNode));
90876
+ },
90877
+ _a[164 /* Parameter */] = function visitEachChildOfParameterDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90878
+ return context.factory.updateParameterDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
90879
+ },
90880
+ _a[165 /* Decorator */] = function visitEachChildOfDecorator(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90881
+ return context.factory.updateDecorator(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90882
+ },
90883
+ // Type elements
90884
+ _a[166 /* PropertySignature */] = function visitEachChildOfPropertySignature(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90885
+ return context.factory.updatePropertySignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isToken), nodeVisitor(node.type, visitor, ts.isTypeNode));
90886
+ },
90887
+ _a[167 /* PropertyDeclaration */] = function visitEachChildOfPropertyDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90888
+ var _a;
90889
+ return context.factory.updatePropertyDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName),
90890
+ // QuestionToken and ExclamationToken are mutually exclusive in PropertyDeclaration
90891
+ nodeVisitor((_a = node.questionToken) !== null && _a !== void 0 ? _a : node.exclamationToken, tokenVisitor, ts.isQuestionOrExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
90892
+ },
90893
+ _a[168 /* MethodSignature */] = function visitEachChildOfMethodSignature(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90894
+ return context.factory.updateMethodSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90895
+ },
90896
+ _a[169 /* MethodDeclaration */] = function visitEachChildOfMethodDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90897
+ return context.factory.updateMethodDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90898
+ },
90899
+ _a[171 /* Constructor */] = function visitEachChildOfConstructorDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90900
+ return context.factory.updateConstructorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90901
+ },
90902
+ _a[172 /* GetAccessor */] = function visitEachChildOfGetAccessorDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90903
+ return context.factory.updateGetAccessorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90904
+ },
90905
+ _a[173 /* SetAccessor */] = function visitEachChildOfSetAccessorDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90906
+ return context.factory.updateSetAccessorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90907
+ },
90908
+ _a[170 /* ClassStaticBlockDeclaration */] = function visitEachChildOfClassStaticBlockDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90909
+ context.startLexicalEnvironment();
90910
+ context.suspendLexicalEnvironment();
90911
+ return context.factory.updateClassStaticBlockDeclaration(node, visitFunctionBody(node.body, visitor, context, nodeVisitor));
90912
+ },
90913
+ _a[174 /* CallSignature */] = function visitEachChildOfCallSignatureDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90914
+ return context.factory.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90915
+ },
90916
+ _a[175 /* ConstructSignature */] = function visitEachChildOfConstructSignatureDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90917
+ return context.factory.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90918
+ },
90919
+ _a[176 /* IndexSignature */] = function visitEachChildOfIndexSignatureDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90920
+ return context.factory.updateIndexSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90921
+ },
90922
+ // Types
90923
+ _a[177 /* TypePredicate */] = function visitEachChildOfTypePredicateNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90924
+ return context.factory.updateTypePredicateNode(node, nodeVisitor(node.assertsModifier, visitor, ts.isAssertsKeyword), nodeVisitor(node.parameterName, visitor, ts.isIdentifierOrThisTypeNode), nodeVisitor(node.type, visitor, ts.isTypeNode));
90925
+ },
90926
+ _a[178 /* TypeReference */] = function visitEachChildOfTypeReferenceNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90927
+ return context.factory.updateTypeReferenceNode(node, nodeVisitor(node.typeName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90928
+ },
90929
+ _a[179 /* FunctionType */] = function visitEachChildOfFunctionTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90930
+ return context.factory.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90931
+ },
90932
+ _a[180 /* ConstructorType */] = function visitEachChildOfConstructorTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90933
+ return context.factory.updateConstructorTypeNode(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90934
+ },
90935
+ _a[181 /* TypeQuery */] = function visitEachChildOfTypeQueryNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90936
+ return context.factory.updateTypeQueryNode(node, nodeVisitor(node.exprName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90937
+ },
90938
+ _a[182 /* TypeLiteral */] = function visitEachChildOfTypeLiteralNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90939
+ return context.factory.updateTypeLiteralNode(node, nodesVisitor(node.members, visitor, ts.isTypeElement));
90940
+ },
90941
+ _a[183 /* ArrayType */] = function visitEachChildOfArrayTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90942
+ return context.factory.updateArrayTypeNode(node, nodeVisitor(node.elementType, visitor, ts.isTypeNode));
90943
+ },
90944
+ _a[184 /* TupleType */] = function visitEachChildOfTupleTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90945
+ return context.factory.updateTupleTypeNode(node, nodesVisitor(node.elements, visitor, ts.isTypeNode));
90946
+ },
90947
+ _a[185 /* OptionalType */] = function visitEachChildOfOptionalTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90948
+ return context.factory.updateOptionalTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90949
+ },
90950
+ _a[186 /* RestType */] = function visitEachChildOfRestTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90951
+ return context.factory.updateRestTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90952
+ },
90953
+ _a[187 /* UnionType */] = function visitEachChildOfUnionTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90954
+ return context.factory.updateUnionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode));
90955
+ },
90956
+ _a[188 /* IntersectionType */] = function visitEachChildOfIntersectionTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90957
+ return context.factory.updateIntersectionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode));
90958
+ },
90959
+ _a[189 /* ConditionalType */] = function visitEachChildOfConditionalTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90960
+ return context.factory.updateConditionalTypeNode(node, nodeVisitor(node.checkType, visitor, ts.isTypeNode), nodeVisitor(node.extendsType, visitor, ts.isTypeNode), nodeVisitor(node.trueType, visitor, ts.isTypeNode), nodeVisitor(node.falseType, visitor, ts.isTypeNode));
90961
+ },
90962
+ _a[190 /* InferType */] = function visitEachChildOfInferTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90963
+ return context.factory.updateInferTypeNode(node, nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration));
90964
+ },
90965
+ _a[200 /* ImportType */] = function visitEachChildOfImportTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90966
+ return context.factory.updateImportTypeNode(node, nodeVisitor(node.argument, visitor, ts.isTypeNode), nodeVisitor(node.assertions, visitor, ts.isImportTypeAssertionContainer), nodeVisitor(node.qualifier, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), node.isTypeOf);
90967
+ },
90968
+ _a[295 /* ImportTypeAssertionContainer */] = function visitEachChildOfImportTypeAssertionContainer(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90969
+ return context.factory.updateImportTypeAssertionContainer(node, nodeVisitor(node.assertClause, visitor, ts.isAssertClause), node.multiLine);
90970
+ },
90971
+ _a[197 /* NamedTupleMember */] = function visitEachChildOfNamedTupleMember(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90972
+ return context.factory.updateNamedTupleMember(node, nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.type, visitor, ts.isTypeNode));
90973
+ },
90974
+ _a[191 /* ParenthesizedType */] = function visitEachChildOfParenthesizedType(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90975
+ return context.factory.updateParenthesizedType(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90976
+ },
90977
+ _a[193 /* TypeOperator */] = function visitEachChildOfTypeOperatorNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90978
+ return context.factory.updateTypeOperatorNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90979
+ },
90980
+ _a[194 /* IndexedAccessType */] = function visitEachChildOfIndexedAccessType(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90981
+ return context.factory.updateIndexedAccessTypeNode(node, nodeVisitor(node.objectType, visitor, ts.isTypeNode), nodeVisitor(node.indexType, visitor, ts.isTypeNode));
90982
+ },
90983
+ _a[195 /* MappedType */] = function visitEachChildOfMappedType(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90984
+ return context.factory.updateMappedTypeNode(node, nodeVisitor(node.readonlyToken, tokenVisitor, ts.isReadonlyKeywordOrPlusOrMinusToken), nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration), nodeVisitor(node.nameType, visitor, ts.isTypeNode), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionOrPlusOrMinusToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodesVisitor(node.members, visitor, ts.isTypeElement));
90985
+ },
90986
+ _a[196 /* LiteralType */] = function visitEachChildOfLiteralTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90987
+ return context.factory.updateLiteralTypeNode(node, nodeVisitor(node.literal, visitor, ts.isExpression));
90988
+ },
90989
+ _a[198 /* TemplateLiteralType */] = function visitEachChildOfTemplateLiteralType(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90990
+ return context.factory.updateTemplateLiteralType(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateLiteralTypeSpan));
90991
+ },
90992
+ _a[199 /* TemplateLiteralTypeSpan */] = function visitEachChildOfTemplateLiteralTypeSpan(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90993
+ return context.factory.updateTemplateLiteralTypeSpan(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail));
90994
+ },
90995
+ // Binding patterns
90996
+ _a[201 /* ObjectBindingPattern */] = function visitEachChildOfObjectBindingPattern(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90997
+ return context.factory.updateObjectBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isBindingElement));
90998
+ },
90999
+ _a[202 /* ArrayBindingPattern */] = function visitEachChildOfArrayBindingPattern(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91000
+ return context.factory.updateArrayBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isArrayBindingElement));
91001
+ },
91002
+ _a[203 /* BindingElement */] = function visitEachChildOfBindingElement(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
91003
+ return context.factory.updateBindingElement(node, nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.propertyName, visitor, ts.isPropertyName), nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91004
+ },
91005
+ // Expression
91006
+ _a[204 /* ArrayLiteralExpression */] = function visitEachChildOfArrayLiteralExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91007
+ return context.factory.updateArrayLiteralExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression));
91008
+ },
91009
+ _a[205 /* ObjectLiteralExpression */] = function visitEachChildOfObjectLiteralExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91010
+ return context.factory.updateObjectLiteralExpression(node, nodesVisitor(node.properties, visitor, ts.isObjectLiteralElementLike));
91011
+ },
91012
+ _a[206 /* PropertyAccessExpression */] = function visitEachChildOfPropertyAccessExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
91013
+ return ts.isPropertyAccessChain(node) ?
91014
+ context.factory.updatePropertyAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.name, visitor, ts.isMemberName)) :
91015
+ context.factory.updatePropertyAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.name, visitor, ts.isMemberName));
91016
+ },
91017
+ _a[207 /* ElementAccessExpression */] = function visitEachChildOfElementAccessExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
91018
+ return ts.isElementAccessChain(node) ?
91019
+ context.factory.updateElementAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.argumentExpression, visitor, ts.isExpression)) :
91020
+ context.factory.updateElementAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.argumentExpression, visitor, ts.isExpression));
91021
+ },
91022
+ _a[208 /* CallExpression */] = function visitEachChildOfCallExpression(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
91023
+ return ts.isCallChain(node) ?
91024
+ context.factory.updateCallChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)) :
91025
+ context.factory.updateCallExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
91026
+ },
91027
+ _a[209 /* NewExpression */] = function visitEachChildOfNewExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91028
+ return context.factory.updateNewExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
91029
+ },
91030
+ _a[210 /* TaggedTemplateExpression */] = function visitEachChildOfTaggedTemplateExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91031
+ return context.factory.updateTaggedTemplateExpression(node, nodeVisitor(node.tag, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.template, visitor, ts.isTemplateLiteral));
91032
+ },
91033
+ _a[211 /* TypeAssertionExpression */] = function visitEachChildOfTypeAssertionExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91034
+ return context.factory.updateTypeAssertion(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.expression, visitor, ts.isExpression));
91035
+ },
91036
+ _a[212 /* ParenthesizedExpression */] = function visitEachChildOfParenthesizedExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91037
+ return context.factory.updateParenthesizedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91038
+ },
91039
+ _a[213 /* FunctionExpression */] = function visitEachChildOfFunctionExpression(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
91040
+ return context.factory.updateFunctionExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
91041
+ },
91042
+ _a[214 /* ArrowFunction */] = function visitEachChildOfArrowFunction(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
91043
+ return context.factory.updateArrowFunction(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.equalsGreaterThanToken, tokenVisitor, ts.isEqualsGreaterThanToken), visitFunctionBody(node.body, visitor, context, nodeVisitor));
91044
+ },
91045
+ _a[215 /* DeleteExpression */] = function visitEachChildOfDeleteExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91046
+ return context.factory.updateDeleteExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91047
+ },
91048
+ _a[216 /* TypeOfExpression */] = function visitEachChildOfTypeOfExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91049
+ return context.factory.updateTypeOfExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91050
+ },
91051
+ _a[217 /* VoidExpression */] = function visitEachChildOfVoidExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91052
+ return context.factory.updateVoidExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91053
+ },
91054
+ _a[218 /* AwaitExpression */] = function visitEachChildOfAwaitExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91055
+ return context.factory.updateAwaitExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91056
+ },
91057
+ _a[219 /* PrefixUnaryExpression */] = function visitEachChildOfPrefixUnaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91058
+ return context.factory.updatePrefixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression));
91059
+ },
91060
+ _a[220 /* PostfixUnaryExpression */] = function visitEachChildOfPostfixUnaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91061
+ return context.factory.updatePostfixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression));
91062
+ },
91063
+ _a[221 /* BinaryExpression */] = function visitEachChildOfBinaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
91064
+ return context.factory.updateBinaryExpression(node, nodeVisitor(node.left, visitor, ts.isExpression), nodeVisitor(node.operatorToken, tokenVisitor, ts.isBinaryOperatorToken), nodeVisitor(node.right, visitor, ts.isExpression));
91065
+ },
91066
+ _a[222 /* ConditionalExpression */] = function visitEachChildOfConditionalExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
91067
+ return context.factory.updateConditionalExpression(node, nodeVisitor(node.condition, visitor, ts.isExpression), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.whenTrue, visitor, ts.isExpression), nodeVisitor(node.colonToken, tokenVisitor, ts.isColonToken), nodeVisitor(node.whenFalse, visitor, ts.isExpression));
91068
+ },
91069
+ _a[223 /* TemplateExpression */] = function visitEachChildOfTemplateExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91070
+ return context.factory.updateTemplateExpression(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateSpan));
91071
+ },
91072
+ _a[224 /* YieldExpression */] = function visitEachChildOfYieldExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
91073
+ return context.factory.updateYieldExpression(node, nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.expression, visitor, ts.isExpression));
91074
+ },
91075
+ _a[225 /* SpreadElement */] = function visitEachChildOfSpreadElement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91076
+ return context.factory.updateSpreadElement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91077
+ },
91078
+ _a[226 /* ClassExpression */] = function visitEachChildOfClassExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91079
+ return context.factory.updateClassExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement));
91080
+ },
91081
+ _a[228 /* ExpressionWithTypeArguments */] = function visitEachChildOfExpressionWithTypeArguments(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91082
+ return context.factory.updateExpressionWithTypeArguments(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
91083
+ },
91084
+ _a[229 /* AsExpression */] = function visitEachChildOfAsExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91085
+ return context.factory.updateAsExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.type, visitor, ts.isTypeNode));
91086
+ },
91087
+ _a[230 /* NonNullExpression */] = function visitEachChildOfNonNullExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91088
+ return ts.isOptionalChain(node) ?
91089
+ context.factory.updateNonNullChain(node, nodeVisitor(node.expression, visitor, ts.isExpression)) :
91090
+ context.factory.updateNonNullExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91091
+ },
91092
+ _a[231 /* MetaProperty */] = function visitEachChildOfMetaProperty(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91093
+ return context.factory.updateMetaProperty(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91094
+ },
91095
+ // Misc
91096
+ _a[233 /* TemplateSpan */] = function visitEachChildOfTemplateSpan(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91097
+ return context.factory.updateTemplateSpan(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail));
91098
+ },
91099
+ // Element
91100
+ _a[235 /* Block */] = function visitEachChildOfBlock(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91101
+ return context.factory.updateBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement));
91102
+ },
91103
+ _a[237 /* VariableStatement */] = function visitEachChildOfVariableStatement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91104
+ return context.factory.updateVariableStatement(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.declarationList, visitor, ts.isVariableDeclarationList));
91105
+ },
91106
+ _a[238 /* ExpressionStatement */] = function visitEachChildOfExpressionStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91107
+ return context.factory.updateExpressionStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91108
+ },
91109
+ _a[239 /* IfStatement */] = function visitEachChildOfIfStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91110
+ return context.factory.updateIfStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.thenStatement, visitor, ts.isStatement, context.factory.liftToBlock), nodeVisitor(node.elseStatement, visitor, ts.isStatement, context.factory.liftToBlock));
91111
+ },
91112
+ _a[240 /* DoStatement */] = function visitEachChildOfDoStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91113
+ return context.factory.updateDoStatement(node, visitIterationBody(node.statement, visitor, context, nodeVisitor), nodeVisitor(node.expression, visitor, ts.isExpression));
91114
+ },
91115
+ _a[241 /* WhileStatement */] = function visitEachChildOfWhileStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91116
+ return context.factory.updateWhileStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context, nodeVisitor));
91117
+ },
91118
+ _a[242 /* ForStatement */] = function visitEachChildOfForStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91119
+ return context.factory.updateForStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.condition, visitor, ts.isExpression), nodeVisitor(node.incrementor, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context, nodeVisitor));
91120
+ },
91121
+ _a[243 /* ForInStatement */] = function visitEachChildOfForInStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91122
+ return context.factory.updateForInStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context, nodeVisitor));
91123
+ },
91124
+ _a[244 /* ForOfStatement */] = function visitEachChildOfForOfStatement(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
91125
+ return context.factory.updateForOfStatement(node, nodeVisitor(node.awaitModifier, tokenVisitor, ts.isAwaitKeyword), nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context, nodeVisitor));
91126
+ },
91127
+ _a[245 /* ContinueStatement */] = function visitEachChildOfContinueStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91128
+ return context.factory.updateContinueStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier));
91129
+ },
91130
+ _a[246 /* BreakStatement */] = function visitEachChildOfBreakStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91131
+ return context.factory.updateBreakStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier));
91132
+ },
91133
+ _a[247 /* ReturnStatement */] = function visitEachChildOfReturnStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91134
+ return context.factory.updateReturnStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91135
+ },
91136
+ _a[248 /* WithStatement */] = function visitEachChildOfWithStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91137
+ return context.factory.updateWithStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.statement, visitor, ts.isStatement, context.factory.liftToBlock));
91138
+ },
91139
+ _a[249 /* SwitchStatement */] = function visitEachChildOfSwitchStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91140
+ return context.factory.updateSwitchStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.caseBlock, visitor, ts.isCaseBlock));
91141
+ },
91142
+ _a[250 /* LabeledStatement */] = function visitEachChildOfLabeledStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91143
+ return context.factory.updateLabeledStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier), nodeVisitor(node.statement, visitor, ts.isStatement, context.factory.liftToBlock));
91144
+ },
91145
+ _a[251 /* ThrowStatement */] = function visitEachChildOfThrowStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91146
+ return context.factory.updateThrowStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91147
+ },
91148
+ _a[252 /* TryStatement */] = function visitEachChildOfTryStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91149
+ return context.factory.updateTryStatement(node, nodeVisitor(node.tryBlock, visitor, ts.isBlock), nodeVisitor(node.catchClause, visitor, ts.isCatchClause), nodeVisitor(node.finallyBlock, visitor, ts.isBlock));
91150
+ },
91151
+ _a[254 /* VariableDeclaration */] = function visitEachChildOfVariableDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
91152
+ return context.factory.updateVariableDeclaration(node, nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.exclamationToken, tokenVisitor, ts.isExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
91153
+ },
91154
+ _a[255 /* VariableDeclarationList */] = function visitEachChildOfVariableDeclarationList(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91155
+ return context.factory.updateVariableDeclarationList(node, nodesVisitor(node.declarations, visitor, ts.isVariableDeclaration));
91156
+ },
91157
+ _a[256 /* FunctionDeclaration */] = function visitEachChildOfFunctionDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
91158
+ return context.factory.updateFunctionDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor));
91159
+ },
91160
+ _a[257 /* ClassDeclaration */] = function visitEachChildOfClassDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91161
+ return context.factory.updateClassDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement));
91162
+ },
91163
+ _a[258 /* InterfaceDeclaration */] = function visitEachChildOfInterfaceDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91164
+ return context.factory.updateInterfaceDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isTypeElement));
91165
+ },
91166
+ _a[259 /* TypeAliasDeclaration */] = function visitEachChildOfTypeAliasDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91167
+ return context.factory.updateTypeAliasDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
91168
+ },
91169
+ _a[260 /* EnumDeclaration */] = function visitEachChildOfEnumDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91170
+ return context.factory.updateEnumDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember));
91171
+ },
91172
+ _a[261 /* ModuleDeclaration */] = function visitEachChildOfModuleDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91173
+ return context.factory.updateModuleDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isModuleName), nodeVisitor(node.body, visitor, ts.isModuleBody));
91174
+ },
91175
+ _a[262 /* ModuleBlock */] = function visitEachChildOfModuleBlock(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91176
+ return context.factory.updateModuleBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement));
91177
+ },
91178
+ _a[263 /* CaseBlock */] = function visitEachChildOfCaseBlock(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91179
+ return context.factory.updateCaseBlock(node, nodesVisitor(node.clauses, visitor, ts.isCaseOrDefaultClause));
91180
+ },
91181
+ _a[264 /* NamespaceExportDeclaration */] = function visitEachChildOfNamespaceExportDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91182
+ return context.factory.updateNamespaceExportDeclaration(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91183
+ },
91184
+ _a[265 /* ImportEqualsDeclaration */] = function visitEachChildOfImportEqualsDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91185
+ return context.factory.updateImportEqualsDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.moduleReference, visitor, ts.isModuleReference));
91186
+ },
91187
+ _a[266 /* ImportDeclaration */] = function visitEachChildOfImportDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91188
+ return context.factory.updateImportDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.importClause, visitor, ts.isImportClause), nodeVisitor(node.moduleSpecifier, visitor, ts.isExpression), nodeVisitor(node.assertClause, visitor, ts.isAssertClause));
91189
+ },
91190
+ _a[293 /* AssertClause */] = function visitEachChildOfAssertClause(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91191
+ return context.factory.updateAssertClause(node, nodesVisitor(node.elements, visitor, ts.isAssertEntry), node.multiLine);
91192
+ },
91193
+ _a[294 /* AssertEntry */] = function visitEachChildOfAssertEntry(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91194
+ return context.factory.updateAssertEntry(node, nodeVisitor(node.name, visitor, ts.isAssertionKey), nodeVisitor(node.value, visitor, ts.isExpression));
91195
+ },
91196
+ _a[267 /* ImportClause */] = function visitEachChildOfImportClause(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91197
+ return context.factory.updateImportClause(node, node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.namedBindings, visitor, ts.isNamedImportBindings));
91198
+ },
91199
+ _a[268 /* NamespaceImport */] = function visitEachChildOfNamespaceImport(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91200
+ return context.factory.updateNamespaceImport(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91201
+ },
91202
+ _a[274 /* NamespaceExport */] = function visitEachChildOfNamespaceExport(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91203
+ return context.factory.updateNamespaceExport(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91204
+ },
91205
+ _a[269 /* NamedImports */] = function visitEachChildOfNamedImports(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91206
+ return context.factory.updateNamedImports(node, nodesVisitor(node.elements, visitor, ts.isImportSpecifier));
91207
+ },
91208
+ _a[270 /* ImportSpecifier */] = function visitEachChildOfImportSpecifier(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91209
+ return context.factory.updateImportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier));
91210
+ },
91211
+ _a[271 /* ExportAssignment */] = function visitEachChildOfExportAssignment(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91212
+ return context.factory.updateExportAssignment(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.expression, visitor, ts.isExpression));
91213
+ },
91214
+ _a[272 /* ExportDeclaration */] = function visitEachChildOfExportDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91215
+ return context.factory.updateExportDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.exportClause, visitor, ts.isNamedExportBindings), nodeVisitor(node.moduleSpecifier, visitor, ts.isExpression), nodeVisitor(node.assertClause, visitor, ts.isAssertClause));
91216
+ },
91217
+ _a[273 /* NamedExports */] = function visitEachChildOfNamedExports(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91218
+ return context.factory.updateNamedExports(node, nodesVisitor(node.elements, visitor, ts.isExportSpecifier));
91219
+ },
91220
+ _a[275 /* ExportSpecifier */] = function visitEachChildOfExportSpecifier(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91221
+ return context.factory.updateExportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier));
91222
+ },
91223
+ // Module references
91224
+ _a[277 /* ExternalModuleReference */] = function visitEachChildOfExternalModuleReference(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91225
+ return context.factory.updateExternalModuleReference(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91226
+ },
91227
+ // JSX
91228
+ _a[278 /* JsxElement */] = function visitEachChildOfJsxElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91229
+ return context.factory.updateJsxElement(node, nodeVisitor(node.openingElement, visitor, ts.isJsxOpeningElement), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingElement, visitor, ts.isJsxClosingElement));
91230
+ },
91231
+ _a[279 /* JsxSelfClosingElement */] = function visitEachChildOfJsxSelfClosingElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91232
+ return context.factory.updateJsxSelfClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes));
91233
+ },
91234
+ _a[280 /* JsxOpeningElement */] = function visitEachChildOfJsxOpeningElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91235
+ return context.factory.updateJsxOpeningElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes));
91236
+ },
91237
+ _a[281 /* JsxClosingElement */] = function visitEachChildOfJsxClosingElement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91238
+ return context.factory.updateJsxClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression));
91239
+ },
91240
+ _a[282 /* JsxFragment */] = function visitEachChildOfJsxFragment(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91241
+ return context.factory.updateJsxFragment(node, nodeVisitor(node.openingFragment, visitor, ts.isJsxOpeningFragment), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingFragment, visitor, ts.isJsxClosingFragment));
91242
+ },
91243
+ _a[285 /* JsxAttribute */] = function visitEachChildOfJsxAttribute(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91244
+ return context.factory.updateJsxAttribute(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.initializer, visitor, ts.isStringLiteralOrJsxExpression));
91245
+ },
91246
+ _a[286 /* JsxAttributes */] = function visitEachChildOfJsxAttributes(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91247
+ return context.factory.updateJsxAttributes(node, nodesVisitor(node.properties, visitor, ts.isJsxAttributeLike));
91248
+ },
91249
+ _a[287 /* JsxSpreadAttribute */] = function visitEachChildOfJsxSpreadAttribute(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91250
+ return context.factory.updateJsxSpreadAttribute(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91251
+ },
91252
+ _a[288 /* JsxExpression */] = function visitEachChildOfJsxExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91253
+ return context.factory.updateJsxExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91254
+ },
91255
+ // Clauses
91256
+ _a[289 /* CaseClause */] = function visitEachChildOfCaseClause(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91257
+ return context.factory.updateCaseClause(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.statements, visitor, ts.isStatement));
91258
+ },
91259
+ _a[290 /* DefaultClause */] = function visitEachChildOfDefaultClause(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91260
+ return context.factory.updateDefaultClause(node, nodesVisitor(node.statements, visitor, ts.isStatement));
91261
+ },
91262
+ _a[291 /* HeritageClause */] = function visitEachChildOfHeritageClause(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91263
+ return context.factory.updateHeritageClause(node, nodesVisitor(node.types, visitor, ts.isExpressionWithTypeArguments));
91264
+ },
91265
+ _a[292 /* CatchClause */] = function visitEachChildOfCatchClause(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91266
+ return context.factory.updateCatchClause(node, nodeVisitor(node.variableDeclaration, visitor, ts.isVariableDeclaration), nodeVisitor(node.block, visitor, ts.isBlock));
91267
+ },
91268
+ // Property assignments
91269
+ _a[296 /* PropertyAssignment */] = function visitEachChildOfPropertyAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91270
+ return context.factory.updatePropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91271
+ },
91272
+ _a[297 /* ShorthandPropertyAssignment */] = function visitEachChildOfShorthandPropertyAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91273
+ return context.factory.updateShorthandPropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.objectAssignmentInitializer, visitor, ts.isExpression));
91274
+ },
91275
+ _a[298 /* SpreadAssignment */] = function visitEachChildOfSpreadAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91276
+ return context.factory.updateSpreadAssignment(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91277
+ },
91278
+ // Enum
91279
+ _a[299 /* EnumMember */] = function visitEachChildOfEnumMember(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91280
+ return context.factory.updateEnumMember(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91281
+ },
91282
+ // Top-level nodes
91283
+ _a[305 /* SourceFile */] = function visitEachChildOfSourceFile(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91284
+ return context.factory.updateSourceFile(node, visitLexicalEnvironment(node.statements, visitor, context, /*start*/ undefined, /*ensureUseStrict*/ undefined, nodesVisitor));
91285
+ },
91286
+ // Transformation nodes
91287
+ _a[350 /* PartiallyEmittedExpression */] = function visitEachChildOfPartiallyEmittedExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91288
+ return context.factory.updatePartiallyEmittedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91289
+ },
91290
+ _a[351 /* CommaListExpression */] = function visitEachChildOfCommaListExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91291
+ return context.factory.updateCommaListExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression));
91292
+ },
91293
+ _a);
91132
91294
  /**
91133
91295
  * Extracts the single node from a NodeArray.
91134
91296
  *
@@ -91196,7 +91358,7 @@ var ts;
91196
91358
  exit();
91197
91359
  return sourceIndex;
91198
91360
  }
91199
- /* eslint-disable boolean-trivia, no-null/no-null */
91361
+ /* eslint-disable local/boolean-trivia, no-null/no-null */
91200
91362
  function setSourceContent(sourceIndex, content) {
91201
91363
  enter();
91202
91364
  if (content !== null) {
@@ -91209,7 +91371,7 @@ var ts;
91209
91371
  }
91210
91372
  exit();
91211
91373
  }
91212
- /* eslint-enable boolean-trivia, no-null/no-null */
91374
+ /* eslint-enable local/boolean-trivia, no-null/no-null */
91213
91375
  function addName(name) {
91214
91376
  enter();
91215
91377
  if (!nameToNameIndexMap)
@@ -99293,8 +99455,8 @@ var ts;
99293
99455
  function convertJsxChildrenToChildrenPropAssignment(children) {
99294
99456
  var nonWhitespaceChildren = ts.getSemanticJsxChildren(children);
99295
99457
  if (ts.length(nonWhitespaceChildren) === 1 && !nonWhitespaceChildren[0].dotDotDotToken) {
99296
- var result_14 = transformJsxChildToExpression(nonWhitespaceChildren[0]);
99297
- return result_14 && factory.createPropertyAssignment("children", result_14);
99458
+ var result_13 = transformJsxChildToExpression(nonWhitespaceChildren[0]);
99459
+ return result_13 && factory.createPropertyAssignment("children", result_13);
99298
99460
  }
99299
99461
  var result = ts.mapDefined(children, transformJsxChildToExpression);
99300
99462
  return ts.length(result) ? factory.createPropertyAssignment("children", factory.createArrayLiteralExpression(result)) : undefined;
@@ -118549,15 +118711,15 @@ var ts;
118549
118711
  // which per above occurred during the current program creation.
118550
118712
  // Since we assume the filesystem does not change during program creation,
118551
118713
  // it is safe to reuse resolutions from the earlier call.
118552
- var result_15 = [];
118714
+ var result_14 = [];
118553
118715
  var i = 0;
118554
118716
  for (var _i = 0, moduleNames_1 = moduleNames; _i < moduleNames_1.length; _i++) {
118555
118717
  var moduleName = moduleNames_1[_i];
118556
118718
  var resolvedModule = file.resolvedModules.get(moduleName, getModeForResolutionAtIndex(file, i));
118557
118719
  i++;
118558
- result_15.push(resolvedModule);
118720
+ result_14.push(resolvedModule);
118559
118721
  }
118560
- return result_15;
118722
+ return result_14;
118561
118723
  }
118562
118724
  // At this point, we know at least one of the following hold:
118563
118725
  // - file has local declarations for ambient modules
@@ -122017,14 +122179,14 @@ var ts;
122017
122179
  fileNames_1.push(relativeToBuildInfo(sourceFile.resolvedPath));
122018
122180
  fileInfos_1.push(sourceFile.version);
122019
122181
  });
122020
- var result_16 = {
122182
+ var result_15 = {
122021
122183
  fileNames: fileNames_1,
122022
122184
  fileInfos: fileInfos_1,
122023
122185
  options: convertToProgramBuildInfoCompilerOptions(state.compilerOptions, "affectsBundleEmitBuildInfo"),
122024
122186
  outSignature: state.outSignature,
122025
122187
  latestChangedDtsFile: latestChangedDtsFile,
122026
122188
  };
122027
- return result_16;
122189
+ return result_15;
122028
122190
  }
122029
122191
  var fileNames = [];
122030
122192
  var fileNameToFileId = new ts.Map();
@@ -123962,9 +124124,9 @@ var ts;
123962
124124
  if (!preferSymlinks) {
123963
124125
  // Symlinks inside ignored paths are already filtered out of the symlink cache,
123964
124126
  // so we only need to remove them from the realpath filenames.
123965
- var result_17 = ts.forEach(targets, function (p) { return !(shouldFilterIgnoredPaths && ts.containsIgnoredPath(p)) && cb(p, referenceRedirect === p); });
123966
- if (result_17)
123967
- return result_17;
124127
+ var result_16 = ts.forEach(targets, function (p) { return !(shouldFilterIgnoredPaths && ts.containsIgnoredPath(p)) && cb(p, referenceRedirect === p); });
124128
+ if (result_16)
124129
+ return result_16;
123968
124130
  }
123969
124131
  var symlinkedDirectories = (_a = host.getSymlinkCache) === null || _a === void 0 ? void 0 : _a.call(host).getSymlinkedDirectoriesByRealpath();
123970
124132
  var fullImportedFileName = ts.getNormalizedAbsolutePath(importedFileName, cwd);
@@ -123984,10 +124146,10 @@ var ts;
123984
124146
  for (var _i = 0, symlinkDirectories_1 = symlinkDirectories; _i < symlinkDirectories_1.length; _i++) {
123985
124147
  var symlinkDirectory = symlinkDirectories_1[_i];
123986
124148
  var option = ts.resolvePath(symlinkDirectory, relative);
123987
- var result_18 = cb(option, target === referenceRedirect);
124149
+ var result_17 = cb(option, target === referenceRedirect);
123988
124150
  shouldFilterIgnoredPaths = true; // We found a non-ignored path in symlinks, so we can reject ignored-path realpaths
123989
- if (result_18)
123990
- return result_18;
124151
+ if (result_17)
124152
+ return result_17;
123991
124153
  }
123992
124154
  });
123993
124155
  });
@@ -132884,7 +133046,7 @@ var ts;
132884
133046
  // defined in `ts.commentPragmas` would be excessive, but we can avoid
132885
133047
  // some obvious false positives (e.g. in XML-like doc comments) by
132886
133048
  // checking the element name.
132887
- // eslint-disable-next-line no-in-operator
133049
+ // eslint-disable-next-line local/no-in-operator
132888
133050
  if (!match[3] || !(match[3] in ts.commentPragmas)) {
132889
133051
  return false;
132890
133052
  }
@@ -133586,7 +133748,7 @@ var ts;
133586
133748
  // Get string literal completions from specialized signatures of the target
133587
133749
  // i.e. declare function f(a: 'A');
133588
133750
  // f("/*completion position*/")
133589
- return argumentInfo ? getStringLiteralCompletionsFromSignature(argumentInfo.invocation, node, argumentInfo, typeChecker) : fromContextualType();
133751
+ return argumentInfo && getStringLiteralCompletionsFromSignature(argumentInfo.invocation, node, argumentInfo, typeChecker) || fromContextualType();
133590
133752
  }
133591
133753
  // falls through (is `require("")` or `require(""` or `import("")`)
133592
133754
  case 266 /* ImportDeclaration */:
@@ -133642,7 +133804,7 @@ var ts;
133642
133804
  isNewIdentifier = isNewIdentifier || !!(type.flags & 4 /* String */);
133643
133805
  return getStringLiteralTypes(type, uniques);
133644
133806
  });
133645
- return { kind: 2 /* Types */, types: types, isNewIdentifier: isNewIdentifier };
133807
+ return ts.length(types) ? { kind: 2 /* Types */, types: types, isNewIdentifier: isNewIdentifier } : undefined;
133646
133808
  }
133647
133809
  function stringLiteralCompletionsFromProperties(type) {
133648
133810
  return type && {
@@ -140581,7 +140743,7 @@ var ts;
140581
140743
  }
140582
140744
  }
140583
140745
  function addReference(referenceLocation, relatedSymbol, state) {
140584
- var _a = "kind" in relatedSymbol ? relatedSymbol : { kind: undefined, symbol: relatedSymbol }, kind = _a.kind, symbol = _a.symbol; // eslint-disable-line no-in-operator
140746
+ var _a = "kind" in relatedSymbol ? relatedSymbol : { kind: undefined, symbol: relatedSymbol }, kind = _a.kind, symbol = _a.symbol; // eslint-disable-line local/no-in-operator
140585
140747
  // if rename symbol from default export anonymous function, for example `export default function() {}`, we do not need to add reference
140586
140748
  if (state.options.use === 2 /* Rename */ && referenceLocation.kind === 88 /* DefaultKeyword */) {
140587
140749
  return;
@@ -146367,11 +146529,11 @@ var ts;
146367
146529
  // not enough to put us in the substitution expression; we should consider ourselves part of
146368
146530
  // the *next* span's expression by offsetting the index (argIndex = (spanIndex + 1) + 1).
146369
146531
  //
146370
- /* eslint-disable no-double-space */
146532
+ /* eslint-disable local/no-double-space */
146371
146533
  // Example: f `# abcd $#{# 1 + 1# }# efghi ${ #"#hello"# } # `
146372
146534
  // ^ ^ ^ ^ ^ ^ ^ ^ ^
146373
146535
  // Case: 1 1 3 2 1 3 2 2 1
146374
- /* eslint-enable no-double-space */
146536
+ /* eslint-enable local/no-double-space */
146375
146537
  ts.Debug.assert(position >= node.getStart(), "Assumed 'position' could not occur before node.");
146376
146538
  if (ts.isTemplateLiteralToken(node)) {
146377
146539
  if (ts.isInsideTemplateLiteral(node, position, sourceFile)) {
@@ -154392,7 +154554,7 @@ var ts;
154392
154554
  name = getMapEntryOrDefault(funcNode.name);
154393
154555
  }
154394
154556
  // return undefined argName when arg is null or undefined
154395
- // eslint-disable-next-line no-in-operator
154557
+ // eslint-disable-next-line local/no-in-operator
154396
154558
  if (!name || "identifier" in name && name.identifier.text === "undefined") {
154397
154559
  return undefined;
154398
154560
  }
@@ -166578,7 +166740,7 @@ var ts;
166578
166740
  this.kind = kind;
166579
166741
  }
166580
166742
  NodeObject.prototype.assertHasRealPosition = function (message) {
166581
- // eslint-disable-next-line debug-assert
166743
+ // eslint-disable-next-line local/debug-assert
166582
166744
  ts.Debug.assert(!ts.positionIsSynthesized(this.pos) && !ts.positionIsSynthesized(this.end), message || "Node must have a real position for this operation");
166583
166745
  };
166584
166746
  NodeObject.prototype.getSourceFile = function () {
@@ -169622,7 +169784,7 @@ var debugObjectHost = (function () {
169622
169784
  return this;
169623
169785
  })();
169624
169786
  // We need to use 'null' to interface with the managed side.
169625
- /* eslint-disable no-in-operator */
169787
+ /* eslint-disable local/no-in-operator */
169626
169788
  /* @internal */
169627
169789
  var ts;
169628
169790
  (function (ts) {
@@ -170422,7 +170584,7 @@ var ts;
170422
170584
  }());
170423
170585
  ts.TypeScriptServicesFactory = TypeScriptServicesFactory;
170424
170586
  })(ts || (ts = {}));
170425
- /* eslint-enable no-in-operator */
170587
+ /* eslint-enable local/no-in-operator */
170426
170588
  // We polyfill `globalThis` here so re can reliably patch the global scope
170427
170589
  // in the contexts we want to in the same way across script and module formats
170428
170590
  /* eslint-enable no-var */
@@ -171192,7 +171354,7 @@ var ts;
171192
171354
  if (typeof value === "number") {
171193
171355
  return ts.factory.createNumericLiteral(value);
171194
171356
  }
171195
- // eslint-disable-next-line no-in-operator
171357
+ // eslint-disable-next-line local/no-in-operator
171196
171358
  if (typeof value === "object" && "base10Value" in value) { // PseudoBigInt
171197
171359
  return ts.factory.createBigIntLiteral(value);
171198
171360
  }
@@ -171664,9 +171826,9 @@ var ts;
171664
171826
  // - error: 5.0
171665
171827
  var ts;
171666
171828
  (function (ts) {
171667
- var MUST_MERGE = { since: "4.8", warnAfter: "4.9.0-0", message: "Decorators have been combined with modifiers. Callers should switch to an overload without a 'decorators' parameter." };
171668
- var DISALLOW_DECORATORS = { since: "4.8", warnAfter: "4.9.0-0", message: "Decorators are no longer supported for this function. Callers should switch to an overload without a 'decorators' parameter." };
171669
- var DISALLOW_DECORATORS_AND_MODIFIERS = { since: "4.8", warnAfter: "4.9.0-0", message: "Decorators and modifiers are no longer supported for this function. Callers should switch to an overload without the 'decorators' or 'modifiers' parameters." };
171829
+ var MUST_MERGE = { since: "4.8", warnAfter: "4.9.0-0", message: "Decorators have been combined with modifiers. Callers should switch to an overload that does not accept a 'decorators' parameter." };
171830
+ var DISALLOW_DECORATORS = { since: "4.8", warnAfter: "4.9.0-0", message: "Decorators are no longer supported for this function. Callers should switch to an overload that does not accept a 'decorators' parameter." };
171831
+ var DISALLOW_DECORATORS_AND_MODIFIERS = { since: "4.8", warnAfter: "4.9.0-0", message: "Decorators and modifiers are no longer supported for this function. Callers should switch to an overload that does not accept the 'decorators' and 'modifiers' parameters." };
171670
171832
  function patchNodeFactory(factory) {
171671
171833
  var createParameterDeclaration = factory.createParameterDeclaration, updateParameterDeclaration = factory.updateParameterDeclaration, createPropertyDeclaration = factory.createPropertyDeclaration, updatePropertyDeclaration = factory.updatePropertyDeclaration, createMethodDeclaration = factory.createMethodDeclaration, updateMethodDeclaration = factory.updateMethodDeclaration, createConstructorDeclaration = factory.createConstructorDeclaration, updateConstructorDeclaration = factory.updateConstructorDeclaration, createGetAccessorDeclaration = factory.createGetAccessorDeclaration, updateGetAccessorDeclaration = factory.updateGetAccessorDeclaration, createSetAccessorDeclaration = factory.createSetAccessorDeclaration, updateSetAccessorDeclaration = factory.updateSetAccessorDeclaration, createIndexSignature = factory.createIndexSignature, updateIndexSignature = factory.updateIndexSignature, createClassStaticBlockDeclaration = factory.createClassStaticBlockDeclaration, updateClassStaticBlockDeclaration = factory.updateClassStaticBlockDeclaration, createClassExpression = factory.createClassExpression, updateClassExpression = factory.updateClassExpression, createFunctionDeclaration = factory.createFunctionDeclaration, updateFunctionDeclaration = factory.updateFunctionDeclaration, createClassDeclaration = factory.createClassDeclaration, updateClassDeclaration = factory.updateClassDeclaration, createInterfaceDeclaration = factory.createInterfaceDeclaration, updateInterfaceDeclaration = factory.updateInterfaceDeclaration, createTypeAliasDeclaration = factory.createTypeAliasDeclaration, updateTypeAliasDeclaration = factory.updateTypeAliasDeclaration, createEnumDeclaration = factory.createEnumDeclaration, updateEnumDeclaration = factory.updateEnumDeclaration, createModuleDeclaration = factory.createModuleDeclaration, updateModuleDeclaration = factory.updateModuleDeclaration, createImportEqualsDeclaration = factory.createImportEqualsDeclaration, updateImportEqualsDeclaration = factory.updateImportEqualsDeclaration, createImportDeclaration = factory.createImportDeclaration, updateImportDeclaration = factory.updateImportDeclaration, createExportAssignment = factory.createExportAssignment, updateExportAssignment = factory.updateExportAssignment, createExportDeclaration = factory.createExportDeclaration, updateExportDeclaration = factory.updateExportDeclaration;
171672
171834
  factory.createParameterDeclaration = ts.buildOverload("createParameterDeclaration")
@@ -171893,7 +172055,7 @@ var ts;
171893
172055
  return (decorators === undefined || !ts.some(decorators, ts.isModifier)) &&
171894
172056
  (modifiers === undefined || !ts.some(modifiers, ts.isParameter)) &&
171895
172057
  (parameters === undefined || ts.isArray(parameters)) &&
171896
- (body === undefined || !ts.isBlock(body));
172058
+ (body === undefined || ts.isBlock(body));
171897
172059
  },
171898
172060
  })
171899
172061
  .deprecate({
@@ -171922,7 +172084,7 @@ var ts;
171922
172084
  return (decorators === undefined || !ts.some(decorators, ts.isModifier)) &&
171923
172085
  (modifiers === undefined || !ts.some(modifiers, ts.isParameter)) &&
171924
172086
  (parameters === undefined || ts.isArray(parameters)) &&
171925
- (body === undefined || !ts.isBlock(body));
172087
+ (body === undefined || ts.isBlock(body));
171926
172088
  },
171927
172089
  })
171928
172090
  .deprecate({