typescript 4.9.0-dev.20220817 → 4.9.0-dev.20220820

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/tsserver.js CHANGED
@@ -109,7 +109,7 @@ var ts;
109
109
  // The following is baselined as a literal template type without intervention
110
110
  /** The version of the TypeScript compiler release */
111
111
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
112
- ts.version = ts.versionMajorMinor + ".0-dev.20220817";
112
+ ts.version = ts.versionMajorMinor + ".0-dev.20220820";
113
113
  /* @internal */
114
114
  var Comparison;
115
115
  (function (Comparison) {
@@ -2498,6 +2498,7 @@ var ts;
2498
2498
  var currentAssertionLevel = 0 /* None */;
2499
2499
  Debug.currentLogLevel = LogLevel.Warning;
2500
2500
  Debug.isDebugging = false;
2501
+ Debug.enableDeprecationWarnings = true;
2501
2502
  function getTypeScriptVersion() {
2502
2503
  return typeScriptVersion !== null && typeScriptVersion !== void 0 ? typeScriptVersion : (typeScriptVersion = new ts.Version(ts.version));
2503
2504
  }
@@ -3121,7 +3122,7 @@ var ts;
3121
3122
  function createWarningDeprecation(name, errorAfter, since, message) {
3122
3123
  var hasWrittenDeprecation = false;
3123
3124
  return function () {
3124
- if (!hasWrittenDeprecation) {
3125
+ if (Debug.enableDeprecationWarnings && !hasWrittenDeprecation) {
3125
3126
  log.warn(formatDeprecationMessage(name, /*error*/ false, errorAfter, since, message));
3126
3127
  hasWrittenDeprecation = true;
3127
3128
  }
@@ -21400,7 +21401,7 @@ var ts;
21400
21401
  case 165 /* Decorator */: {
21401
21402
  var parent_2 = node.parent;
21402
21403
  return ts.canHaveDecorators(parent_2) ? parent_2.modifiers :
21403
- ts.canHaveIllegalDecorators(parent_2) ? parent_2.decorators :
21404
+ ts.canHaveIllegalDecorators(parent_2) ? parent_2.illegalDecorators :
21404
21405
  undefined;
21405
21406
  }
21406
21407
  case 291 /* HeritageClause */:
@@ -23477,7 +23478,7 @@ var ts;
23477
23478
  node.body = body;
23478
23479
  node.transformFlags = propagateChildFlags(body) | 16777216 /* ContainsClassFields */;
23479
23480
  // The following properties are used only to report grammar errors
23480
- node.decorators = undefined;
23481
+ node.illegalDecorators = undefined;
23481
23482
  node.modifiers = undefined;
23482
23483
  return node;
23483
23484
  }
@@ -23489,7 +23490,7 @@ var ts;
23489
23490
  }
23490
23491
  function finishUpdateClassStaticBlockDeclaration(updated, original) {
23491
23492
  if (updated !== original) {
23492
- updated.decorators = original.decorators;
23493
+ updated.illegalDecorators = original.illegalDecorators;
23493
23494
  updated.modifiers = original.modifiers;
23494
23495
  }
23495
23496
  return update(updated, original);
@@ -23502,7 +23503,7 @@ var ts;
23502
23503
  /*type*/ undefined, body);
23503
23504
  node.transformFlags |= 1024 /* ContainsES2015 */;
23504
23505
  // The following properties are used only to report grammar errors
23505
- node.decorators = undefined;
23506
+ node.illegalDecorators = undefined;
23506
23507
  node.typeParameters = undefined;
23507
23508
  node.type = undefined;
23508
23509
  return node;
@@ -23517,7 +23518,7 @@ var ts;
23517
23518
  }
23518
23519
  function finishUpdateConstructorDeclaration(updated, original) {
23519
23520
  if (updated !== original) {
23520
- updated.decorators = original.decorators;
23521
+ updated.illegalDecorators = original.illegalDecorators;
23521
23522
  updated.typeParameters = original.typeParameters;
23522
23523
  updated.type = original.type;
23523
23524
  }
@@ -25265,7 +25266,7 @@ var ts;
25265
25266
  }
25266
25267
  }
25267
25268
  // The following properties are used only to report grammar errors
25268
- node.decorators = undefined;
25269
+ node.illegalDecorators = undefined;
25269
25270
  return node;
25270
25271
  }
25271
25272
  // @api
@@ -25283,7 +25284,7 @@ var ts;
25283
25284
  function finishUpdateFunctionDeclaration(updated, original) {
25284
25285
  if (updated !== original) {
25285
25286
  // copy children used only for error reporting
25286
- updated.decorators = original.decorators;
25287
+ updated.illegalDecorators = original.illegalDecorators;
25287
25288
  }
25288
25289
  return finishUpdateBaseSignatureDeclaration(updated, original);
25289
25290
  }
@@ -25317,7 +25318,7 @@ var ts;
25317
25318
  node.members = createNodeArray(members);
25318
25319
  node.transformFlags = 1 /* ContainsTypeScript */;
25319
25320
  // The following properties are used only to report grammar errors
25320
- node.decorators = undefined;
25321
+ node.illegalDecorators = undefined;
25321
25322
  return node;
25322
25323
  }
25323
25324
  // @api
@@ -25332,7 +25333,7 @@ var ts;
25332
25333
  }
25333
25334
  function finishUpdateInterfaceDeclaration(updated, original) {
25334
25335
  if (updated !== original) {
25335
- updated.decorators = original.decorators;
25336
+ updated.illegalDecorators = original.illegalDecorators;
25336
25337
  }
25337
25338
  return update(updated, original);
25338
25339
  }
@@ -25342,7 +25343,7 @@ var ts;
25342
25343
  node.type = type;
25343
25344
  node.transformFlags = 1 /* ContainsTypeScript */;
25344
25345
  // The following properties are used only to report grammar errors
25345
- node.decorators = undefined;
25346
+ node.illegalDecorators = undefined;
25346
25347
  return node;
25347
25348
  }
25348
25349
  // @api
@@ -25356,7 +25357,7 @@ var ts;
25356
25357
  }
25357
25358
  function finishUpdateTypeAliasDeclaration(updated, original) {
25358
25359
  if (updated !== original) {
25359
- updated.decorators = original.decorators;
25360
+ updated.illegalDecorators = original.illegalDecorators;
25360
25361
  }
25361
25362
  return update(updated, original);
25362
25363
  }
@@ -25369,7 +25370,7 @@ var ts;
25369
25370
  1 /* ContainsTypeScript */;
25370
25371
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */; // Enum declarations cannot contain `await`
25371
25372
  // The following properties are used only to report grammar errors
25372
- node.decorators = undefined;
25373
+ node.illegalDecorators = undefined;
25373
25374
  return node;
25374
25375
  }
25375
25376
  // @api
@@ -25382,7 +25383,7 @@ var ts;
25382
25383
  }
25383
25384
  function finishUpdateEnumDeclaration(updated, original) {
25384
25385
  if (updated !== original) {
25385
- updated.decorators = original.decorators;
25386
+ updated.illegalDecorators = original.illegalDecorators;
25386
25387
  }
25387
25388
  return update(updated, original);
25388
25389
  }
@@ -25406,7 +25407,7 @@ var ts;
25406
25407
  }
25407
25408
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */; // Module declarations cannot contain `await`.
25408
25409
  // The following properties are used only to report grammar errors
25409
- node.decorators = undefined;
25410
+ node.illegalDecorators = undefined;
25410
25411
  return node;
25411
25412
  }
25412
25413
  // @api
@@ -25419,7 +25420,7 @@ var ts;
25419
25420
  }
25420
25421
  function finishUpdateModuleDeclaration(updated, original) {
25421
25422
  if (updated !== original) {
25422
- updated.decorators = original.decorators;
25423
+ updated.illegalDecorators = original.illegalDecorators;
25423
25424
  }
25424
25425
  return update(updated, original);
25425
25426
  }
@@ -25455,7 +25456,7 @@ var ts;
25455
25456
  /*modifiers*/ undefined, name);
25456
25457
  node.transformFlags = 1 /* ContainsTypeScript */;
25457
25458
  // The following properties are used only to report grammar errors
25458
- node.decorators = undefined;
25459
+ node.illegalDecorators = undefined;
25459
25460
  node.modifiers = undefined;
25460
25461
  return node;
25461
25462
  }
@@ -25467,7 +25468,7 @@ var ts;
25467
25468
  }
25468
25469
  function finishUpdateNamespaceExportDeclaration(updated, original) {
25469
25470
  if (updated !== original) {
25470
- updated.decorators = original.decorators;
25471
+ updated.illegalDecorators = original.illegalDecorators;
25471
25472
  updated.modifiers = original.modifiers;
25472
25473
  }
25473
25474
  return update(updated, original);
@@ -25482,7 +25483,7 @@ var ts;
25482
25483
  node.transformFlags |= 1 /* ContainsTypeScript */;
25483
25484
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */; // Import= declaration is always parsed in an Await context
25484
25485
  // The following properties are used only to report grammar errors
25485
- node.decorators = undefined;
25486
+ node.illegalDecorators = undefined;
25486
25487
  return node;
25487
25488
  }
25488
25489
  // @api
@@ -25496,7 +25497,7 @@ var ts;
25496
25497
  }
25497
25498
  function finishUpdateImportEqualsDeclaration(updated, original) {
25498
25499
  if (updated !== original) {
25499
- updated.decorators = original.decorators;
25500
+ updated.illegalDecorators = original.illegalDecorators;
25500
25501
  }
25501
25502
  return update(updated, original);
25502
25503
  }
@@ -25512,7 +25513,7 @@ var ts;
25512
25513
  propagateChildFlags(node.moduleSpecifier);
25513
25514
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context
25514
25515
  // The following properties are used only to report grammar errors
25515
- node.decorators = undefined;
25516
+ node.illegalDecorators = undefined;
25516
25517
  return node;
25517
25518
  }
25518
25519
  // @api
@@ -25526,7 +25527,7 @@ var ts;
25526
25527
  }
25527
25528
  function finishUpdateImportDeclaration(updated, original) {
25528
25529
  if (updated !== original) {
25529
- updated.decorators = original.decorators;
25530
+ updated.illegalDecorators = original.illegalDecorators;
25530
25531
  }
25531
25532
  return update(updated, original);
25532
25533
  }
@@ -25672,7 +25673,7 @@ var ts;
25672
25673
  node.transformFlags |= propagateChildrenFlags(node.modifiers) | propagateChildFlags(node.expression);
25673
25674
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context
25674
25675
  // The following properties are used only to report grammar errors
25675
- node.decorators = undefined;
25676
+ node.illegalDecorators = undefined;
25676
25677
  return node;
25677
25678
  }
25678
25679
  // @api
@@ -25684,7 +25685,7 @@ var ts;
25684
25685
  }
25685
25686
  function finishUpdateExportAssignment(updated, original) {
25686
25687
  if (updated !== original) {
25687
- updated.decorators = original.decorators;
25688
+ updated.illegalDecorators = original.illegalDecorators;
25688
25689
  }
25689
25690
  return update(updated, original);
25690
25691
  }
@@ -25702,7 +25703,7 @@ var ts;
25702
25703
  propagateChildFlags(node.moduleSpecifier);
25703
25704
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context
25704
25705
  // The following properties are used only to report grammar errors
25705
- node.decorators = undefined;
25706
+ node.illegalDecorators = undefined;
25706
25707
  return node;
25707
25708
  }
25708
25709
  // @api
@@ -25717,7 +25718,7 @@ var ts;
25717
25718
  }
25718
25719
  function finishUpdateExportDeclaration(updated, original) {
25719
25720
  if (updated !== original) {
25720
- updated.decorators = original.decorators;
25721
+ updated.illegalDecorators = original.illegalDecorators;
25721
25722
  }
25722
25723
  return update(updated, original);
25723
25724
  }
@@ -26481,7 +26482,7 @@ var ts;
26481
26482
  propagateChildFlags(node.name) |
26482
26483
  propagateChildFlags(node.initializer);
26483
26484
  // The following properties are used only to report grammar errors
26484
- node.decorators = undefined;
26485
+ node.illegalDecorators = undefined;
26485
26486
  node.modifiers = undefined;
26486
26487
  node.questionToken = undefined;
26487
26488
  node.exclamationToken = undefined;
@@ -26497,7 +26498,7 @@ var ts;
26497
26498
  function finishUpdatePropertyAssignment(updated, original) {
26498
26499
  // copy children used only for error reporting
26499
26500
  if (updated !== original) {
26500
- updated.decorators = original.decorators;
26501
+ updated.illegalDecorators = original.illegalDecorators;
26501
26502
  updated.modifiers = original.modifiers;
26502
26503
  updated.questionToken = original.questionToken;
26503
26504
  updated.exclamationToken = original.exclamationToken;
@@ -26514,7 +26515,7 @@ var ts;
26514
26515
  1024 /* ContainsES2015 */;
26515
26516
  // The following properties are used only to report grammar errors
26516
26517
  node.equalsToken = undefined;
26517
- node.decorators = undefined;
26518
+ node.illegalDecorators = undefined;
26518
26519
  node.modifiers = undefined;
26519
26520
  node.questionToken = undefined;
26520
26521
  node.exclamationToken = undefined;
@@ -26531,7 +26532,7 @@ var ts;
26531
26532
  if (updated !== original) {
26532
26533
  // copy children used only for error reporting
26533
26534
  updated.equalsToken = original.equalsToken;
26534
- updated.decorators = original.decorators;
26535
+ updated.illegalDecorators = original.illegalDecorators;
26535
26536
  updated.modifiers = original.modifiers;
26536
26537
  updated.questionToken = original.questionToken;
26537
26538
  updated.exclamationToken = original.exclamationToken;
@@ -31010,7 +31011,7 @@ var ts;
31010
31011
  visitNode(cbNode, node.default) ||
31011
31012
  visitNode(cbNode, node.expression);
31012
31013
  case 297 /* ShorthandPropertyAssignment */:
31013
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31014
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31014
31015
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31015
31016
  visitNode(cbNode, node.name) ||
31016
31017
  visitNode(cbNode, node.questionToken) ||
@@ -31040,7 +31041,7 @@ var ts;
31040
31041
  visitNode(cbNode, node.type) ||
31041
31042
  visitNode(cbNode, node.initializer);
31042
31043
  case 296 /* PropertyAssignment */:
31043
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31044
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31044
31045
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31045
31046
  visitNode(cbNode, node.name) ||
31046
31047
  visitNode(cbNode, node.questionToken) ||
@@ -31057,7 +31058,7 @@ var ts;
31057
31058
  visitNode(cbNode, node.name) ||
31058
31059
  visitNode(cbNode, node.initializer);
31059
31060
  case 176 /* IndexSignature */:
31060
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31061
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31061
31062
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31062
31063
  visitNodes(cbNode, cbNodes, node.typeParameters) ||
31063
31064
  visitNodes(cbNode, cbNodes, node.parameters) ||
@@ -31095,7 +31096,7 @@ var ts;
31095
31096
  visitNodes(cbNode, cbNodes, node.parameters) ||
31096
31097
  visitNode(cbNode, node.type);
31097
31098
  case 171 /* Constructor */:
31098
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31099
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31099
31100
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31100
31101
  visitNode(cbNode, node.name) ||
31101
31102
  visitNodes(cbNode, cbNodes, node.typeParameters) ||
@@ -31117,7 +31118,7 @@ var ts;
31117
31118
  visitNode(cbNode, node.type) ||
31118
31119
  visitNode(cbNode, node.body);
31119
31120
  case 256 /* FunctionDeclaration */:
31120
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31121
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31121
31122
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31122
31123
  visitNode(cbNode, node.asteriskToken) ||
31123
31124
  visitNode(cbNode, node.name) ||
@@ -31141,7 +31142,7 @@ var ts;
31141
31142
  visitNode(cbNode, node.equalsGreaterThanToken) ||
31142
31143
  visitNode(cbNode, node.body);
31143
31144
  case 170 /* ClassStaticBlockDeclaration */:
31144
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31145
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31145
31146
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31146
31147
  visitNode(cbNode, node.body);
31147
31148
  case 178 /* TypeReference */:
@@ -31269,7 +31270,7 @@ var ts;
31269
31270
  return visitNodes(cbNode, cbNodes, node.statements) ||
31270
31271
  visitNode(cbNode, node.endOfFileToken);
31271
31272
  case 237 /* VariableStatement */:
31272
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31273
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31273
31274
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31274
31275
  visitNode(cbNode, node.declarationList);
31275
31276
  case 255 /* VariableDeclarationList */:
@@ -31340,20 +31341,20 @@ var ts;
31340
31341
  visitNodes(cbNode, cbNodes, node.heritageClauses) ||
31341
31342
  visitNodes(cbNode, cbNodes, node.members);
31342
31343
  case 258 /* InterfaceDeclaration */:
31343
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31344
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31344
31345
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31345
31346
  visitNode(cbNode, node.name) ||
31346
31347
  visitNodes(cbNode, cbNodes, node.typeParameters) ||
31347
31348
  visitNodes(cbNode, cbNodes, node.heritageClauses) ||
31348
31349
  visitNodes(cbNode, cbNodes, node.members);
31349
31350
  case 259 /* TypeAliasDeclaration */:
31350
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31351
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31351
31352
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31352
31353
  visitNode(cbNode, node.name) ||
31353
31354
  visitNodes(cbNode, cbNodes, node.typeParameters) ||
31354
31355
  visitNode(cbNode, node.type);
31355
31356
  case 260 /* EnumDeclaration */:
31356
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31357
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31357
31358
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31358
31359
  visitNode(cbNode, node.name) ||
31359
31360
  visitNodes(cbNode, cbNodes, node.members);
@@ -31361,17 +31362,17 @@ var ts;
31361
31362
  return visitNode(cbNode, node.name) ||
31362
31363
  visitNode(cbNode, node.initializer);
31363
31364
  case 261 /* ModuleDeclaration */:
31364
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31365
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31365
31366
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31366
31367
  visitNode(cbNode, node.name) ||
31367
31368
  visitNode(cbNode, node.body);
31368
31369
  case 265 /* ImportEqualsDeclaration */:
31369
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31370
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31370
31371
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31371
31372
  visitNode(cbNode, node.name) ||
31372
31373
  visitNode(cbNode, node.moduleReference);
31373
31374
  case 266 /* ImportDeclaration */:
31374
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31375
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31375
31376
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31376
31377
  visitNode(cbNode, node.importClause) ||
31377
31378
  visitNode(cbNode, node.moduleSpecifier) ||
@@ -31385,7 +31386,7 @@ var ts;
31385
31386
  return visitNode(cbNode, node.name) ||
31386
31387
  visitNode(cbNode, node.value);
31387
31388
  case 264 /* NamespaceExportDeclaration */:
31388
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31389
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31389
31390
  visitNode(cbNode, node.name);
31390
31391
  case 268 /* NamespaceImport */:
31391
31392
  return visitNode(cbNode, node.name);
@@ -31395,7 +31396,7 @@ var ts;
31395
31396
  case 273 /* NamedExports */:
31396
31397
  return visitNodes(cbNode, cbNodes, node.elements);
31397
31398
  case 272 /* ExportDeclaration */:
31398
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31399
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31399
31400
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31400
31401
  visitNode(cbNode, node.exportClause) ||
31401
31402
  visitNode(cbNode, node.moduleSpecifier) ||
@@ -31405,7 +31406,7 @@ var ts;
31405
31406
  return visitNode(cbNode, node.propertyName) ||
31406
31407
  visitNode(cbNode, node.name);
31407
31408
  case 271 /* ExportAssignment */:
31408
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31409
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31409
31410
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31410
31411
  visitNode(cbNode, node.expression);
31411
31412
  case 223 /* TemplateExpression */:
@@ -31430,7 +31431,7 @@ var ts;
31430
31431
  case 277 /* ExternalModuleReference */:
31431
31432
  return visitNode(cbNode, node.expression);
31432
31433
  case 276 /* MissingDeclaration */:
31433
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31434
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31434
31435
  visitNodes(cbNode, cbNodes, node.modifiers);
31435
31436
  case 351 /* CommaListExpression */:
31436
31437
  return visitNodes(cbNode, cbNodes, node.elements);
@@ -33981,7 +33982,7 @@ var ts;
33981
33982
  var type = parseTypeAnnotation();
33982
33983
  parseTypeMemberSemicolon();
33983
33984
  var node = factory.createIndexSignature(modifiers, parameters, type);
33984
- node.decorators = decorators;
33985
+ node.illegalDecorators = decorators;
33985
33986
  return withJSDoc(finishNode(node, pos), hasJSDoc);
33986
33987
  }
33987
33988
  function parsePropertyOrMethodSignature(pos, hasJSDoc, modifiers) {
@@ -36141,7 +36142,7 @@ var ts;
36141
36142
  node = factory.createPropertyAssignment(name, initializer);
36142
36143
  }
36143
36144
  // Decorators, Modifiers, questionToken, and exclamationToken are not supported by property assignments and are reported in the grammar checker
36144
- node.decorators = decorators;
36145
+ node.illegalDecorators = decorators;
36145
36146
  node.modifiers = modifiers;
36146
36147
  node.questionToken = questionToken;
36147
36148
  node.exclamationToken = exclamationToken;
@@ -36789,7 +36790,7 @@ var ts;
36789
36790
  // would follow. For recovery and error reporting purposes, return an incomplete declaration.
36790
36791
  var missing = createMissingNode(276 /* MissingDeclaration */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.Declaration_expected);
36791
36792
  ts.setTextRangePos(missing, pos);
36792
- missing.decorators = decorators;
36793
+ missing.illegalDecorators = decorators;
36793
36794
  missing.modifiers = modifiers;
36794
36795
  return missing;
36795
36796
  }
@@ -36932,7 +36933,7 @@ var ts;
36932
36933
  parseSemicolon();
36933
36934
  var node = factory.createVariableStatement(modifiers, declarationList);
36934
36935
  // Decorators are not allowed on a variable statement, so we keep track of them to report them in the grammar checker.
36935
- node.decorators = decorators;
36936
+ node.illegalDecorators = decorators;
36936
36937
  return withJSDoc(finishNode(node, pos), hasJSDoc);
36937
36938
  }
36938
36939
  function parseFunctionDeclaration(pos, hasJSDoc, decorators, modifiers) {
@@ -36952,7 +36953,7 @@ var ts;
36952
36953
  var body = parseFunctionBlockOrSemicolon(isGenerator | isAsync, ts.Diagnostics.or_expected);
36953
36954
  setAwaitContext(savedAwaitContext);
36954
36955
  var node = factory.createFunctionDeclaration(modifiers, asteriskToken, name, typeParameters, parameters, type, body);
36955
- node.decorators = decorators;
36956
+ node.illegalDecorators = decorators;
36956
36957
  return withJSDoc(finishNode(node, pos), hasJSDoc);
36957
36958
  }
36958
36959
  function parseConstructorName() {
@@ -36975,7 +36976,7 @@ var ts;
36975
36976
  var body = parseFunctionBlockOrSemicolon(0 /* None */, ts.Diagnostics.or_expected);
36976
36977
  var node = factory.createConstructorDeclaration(modifiers, parameters, body);
36977
36978
  // Attach invalid nodes if they exist so that we can report them in the grammar checker.
36978
- node.decorators = decorators;
36979
+ node.illegalDecorators = decorators;
36979
36980
  node.typeParameters = typeParameters;
36980
36981
  node.type = type;
36981
36982
  return withJSDoc(finishNode(node, pos), hasJSDoc);
@@ -37091,7 +37092,7 @@ var ts;
37091
37092
  parseExpectedToken(124 /* StaticKeyword */);
37092
37093
  var body = parseClassStaticBlockBody();
37093
37094
  var node = withJSDoc(finishNode(factory.createClassStaticBlockDeclaration(body), pos), hasJSDoc);
37094
- node.decorators = decorators;
37095
+ node.illegalDecorators = decorators;
37095
37096
  node.modifiers = modifiers;
37096
37097
  return node;
37097
37098
  }
@@ -37332,7 +37333,7 @@ var ts;
37332
37333
  var heritageClauses = parseHeritageClauses();
37333
37334
  var members = parseObjectTypeMembers();
37334
37335
  var node = factory.createInterfaceDeclaration(modifiers, name, typeParameters, heritageClauses, members);
37335
- node.decorators = decorators;
37336
+ node.illegalDecorators = decorators;
37336
37337
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37337
37338
  }
37338
37339
  function parseTypeAliasDeclaration(pos, hasJSDoc, decorators, modifiers) {
@@ -37343,7 +37344,7 @@ var ts;
37343
37344
  var type = token() === 138 /* IntrinsicKeyword */ && tryParse(parseKeywordAndNoDot) || parseType();
37344
37345
  parseSemicolon();
37345
37346
  var node = factory.createTypeAliasDeclaration(modifiers, name, typeParameters, type);
37346
- node.decorators = decorators;
37347
+ node.illegalDecorators = decorators;
37347
37348
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37348
37349
  }
37349
37350
  // In an ambient declaration, the grammar only allows integer literals as initializers.
@@ -37369,7 +37370,7 @@ var ts;
37369
37370
  members = createMissingList();
37370
37371
  }
37371
37372
  var node = factory.createEnumDeclaration(modifiers, name, members);
37372
- node.decorators = decorators;
37373
+ node.illegalDecorators = decorators;
37373
37374
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37374
37375
  }
37375
37376
  function parseModuleBlock() {
@@ -37393,7 +37394,7 @@ var ts;
37393
37394
  ? parseModuleOrNamespaceDeclaration(getNodePos(), /*hasJSDoc*/ false, /*decorators*/ undefined, /*modifiers*/ undefined, 4 /* NestedNamespace */ | namespaceFlag)
37394
37395
  : parseModuleBlock();
37395
37396
  var node = factory.createModuleDeclaration(modifiers, name, body, flags);
37396
- node.decorators = decorators;
37397
+ node.illegalDecorators = decorators;
37397
37398
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37398
37399
  }
37399
37400
  function parseAmbientExternalModuleDeclaration(pos, hasJSDoc, decorators, modifiers) {
@@ -37416,7 +37417,7 @@ var ts;
37416
37417
  parseSemicolon();
37417
37418
  }
37418
37419
  var node = factory.createModuleDeclaration(modifiers, name, body, flags);
37419
- node.decorators = decorators;
37420
+ node.illegalDecorators = decorators;
37420
37421
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37421
37422
  }
37422
37423
  function parseModuleDeclaration(pos, hasJSDoc, decorators, modifiers) {
@@ -37456,7 +37457,7 @@ var ts;
37456
37457
  parseSemicolon();
37457
37458
  var node = factory.createNamespaceExportDeclaration(name);
37458
37459
  // NamespaceExportDeclaration nodes cannot have decorators or modifiers, so we attach them here so we can report them in the grammar checker
37459
- node.decorators = decorators;
37460
+ node.illegalDecorators = decorators;
37460
37461
  node.modifiers = modifiers;
37461
37462
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37462
37463
  }
@@ -37496,7 +37497,7 @@ var ts;
37496
37497
  }
37497
37498
  parseSemicolon();
37498
37499
  var node = factory.createImportDeclaration(modifiers, importClause, moduleSpecifier, assertClause);
37499
- node.decorators = decorators;
37500
+ node.illegalDecorators = decorators;
37500
37501
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37501
37502
  }
37502
37503
  function parseAssertEntry() {
@@ -37541,7 +37542,7 @@ var ts;
37541
37542
  var moduleReference = parseModuleReference();
37542
37543
  parseSemicolon();
37543
37544
  var node = factory.createImportEqualsDeclaration(modifiers, isTypeOnly, identifier, moduleReference);
37544
- node.decorators = decorators;
37545
+ node.illegalDecorators = decorators;
37545
37546
  var finished = withJSDoc(finishNode(node, pos), hasJSDoc);
37546
37547
  return finished;
37547
37548
  }
@@ -37731,7 +37732,7 @@ var ts;
37731
37732
  parseSemicolon();
37732
37733
  setAwaitContext(savedAwaitContext);
37733
37734
  var node = factory.createExportDeclaration(modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause);
37734
- node.decorators = decorators;
37735
+ node.illegalDecorators = decorators;
37735
37736
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37736
37737
  }
37737
37738
  function parseExportAssignment(pos, hasJSDoc, decorators, modifiers) {
@@ -37748,7 +37749,7 @@ var ts;
37748
37749
  parseSemicolon();
37749
37750
  setAwaitContext(savedAwaitContext);
37750
37751
  var node = factory.createExportAssignment(modifiers, isExportEquals, expression);
37751
- node.decorators = decorators;
37752
+ node.illegalDecorators = decorators;
37752
37753
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37753
37754
  }
37754
37755
  var ParsingContext;
@@ -43112,10 +43113,12 @@ var ts;
43112
43113
  if (resolved) {
43113
43114
  var fileName = resolved.fileName, packageId = resolved.packageId;
43114
43115
  var resolvedFileName = options.preserveSymlinks ? fileName : realPath(fileName, host, traceEnabled);
43116
+ var pathsAreEqual = arePathsEqual(fileName, resolvedFileName, host);
43115
43117
  resolvedTypeReferenceDirective = {
43116
43118
  primary: primary,
43117
- resolvedFileName: resolvedFileName,
43118
- originalPath: arePathsEqual(fileName, resolvedFileName, host) ? undefined : fileName,
43119
+ // If the fileName and realpath are differing only in casing prefer fileName so that we can issue correct errors for casing under forceConsistentCasingInFileNames
43120
+ resolvedFileName: pathsAreEqual ? fileName : resolvedFileName,
43121
+ originalPath: pathsAreEqual ? undefined : fileName,
43119
43122
  packageId: packageId,
43120
43123
  isExternalLibraryImport: pathContainsNodeModules(fileName),
43121
43124
  };
@@ -43900,8 +43903,10 @@ var ts;
43900
43903
  var resolvedValue = resolved_1.value;
43901
43904
  if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {
43902
43905
  var path = realPath(resolvedValue.path, host, traceEnabled);
43903
- var originalPath = arePathsEqual(path, resolvedValue.path, host) ? undefined : resolvedValue.path;
43904
- resolvedValue = __assign(__assign({}, resolvedValue), { path: path, originalPath: originalPath });
43906
+ var pathsAreEqual = arePathsEqual(path, resolvedValue.path, host);
43907
+ var originalPath = pathsAreEqual ? undefined : resolvedValue.path;
43908
+ // If the path and realpath are differing only in casing prefer path so that we can issue correct errors for casing under forceConsistentCasingInFileNames
43909
+ resolvedValue = __assign(__assign({}, resolvedValue), { path: pathsAreEqual ? resolvedValue.path : path, originalPath: originalPath });
43905
43910
  }
43906
43911
  // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.
43907
43912
  return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } };
@@ -51042,41 +51047,61 @@ var ts;
51042
51047
  return typeof file.externalModuleIndicator !== "object" && !resolveExportByName(moduleSymbol, ts.escapeLeadingUnderscores("__esModule"), /*sourceNode*/ undefined, dontResolveAlias);
51043
51048
  }
51044
51049
  function getTargetOfImportClause(node, dontResolveAlias) {
51045
- var _a;
51046
51050
  var moduleSymbol = resolveExternalModuleName(node, node.parent.moduleSpecifier);
51047
51051
  if (moduleSymbol) {
51048
- var exportDefaultSymbol = void 0;
51049
- if (ts.isShorthandAmbientModuleSymbol(moduleSymbol)) {
51050
- exportDefaultSymbol = moduleSymbol;
51051
- }
51052
- else {
51053
- exportDefaultSymbol = resolveExportByName(moduleSymbol, "default" /* Default */, node, dontResolveAlias);
51054
- }
51055
- var file = (_a = moduleSymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.isSourceFile);
51056
- var hasDefaultOnly = isOnlyImportedAsDefault(node.parent.moduleSpecifier);
51057
- var hasSyntheticDefault = canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias, node.parent.moduleSpecifier);
51058
- if (!exportDefaultSymbol && !hasSyntheticDefault && !hasDefaultOnly) {
51059
- if (hasExportAssignmentSymbol(moduleSymbol)) {
51060
- var compilerOptionName = moduleKind >= ts.ModuleKind.ES2015 ? "allowSyntheticDefaultImports" : "esModuleInterop";
51061
- var exportEqualsSymbol = moduleSymbol.exports.get("export=" /* ExportEquals */);
51062
- var exportAssignment = exportEqualsSymbol.valueDeclaration;
51063
- var err = error(node.name, ts.Diagnostics.Module_0_can_only_be_default_imported_using_the_1_flag, symbolToString(moduleSymbol), compilerOptionName);
51064
- if (exportAssignment) {
51065
- 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));
51066
- }
51067
- }
51068
- else {
51069
- reportNonDefaultExport(moduleSymbol, node);
51052
+ return getTargetofModuleDefault(moduleSymbol, node, dontResolveAlias);
51053
+ }
51054
+ }
51055
+ function getTargetofModuleDefault(moduleSymbol, node, dontResolveAlias) {
51056
+ var _a;
51057
+ var exportDefaultSymbol;
51058
+ if (ts.isShorthandAmbientModuleSymbol(moduleSymbol)) {
51059
+ exportDefaultSymbol = moduleSymbol;
51060
+ }
51061
+ else {
51062
+ exportDefaultSymbol = resolveExportByName(moduleSymbol, "default" /* Default */, node, dontResolveAlias);
51063
+ }
51064
+ var file = (_a = moduleSymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.isSourceFile);
51065
+ var specifier = getModuleSpecifierForImportOrExport(node);
51066
+ if (!specifier) {
51067
+ return exportDefaultSymbol;
51068
+ }
51069
+ var hasDefaultOnly = isOnlyImportedAsDefault(specifier);
51070
+ var hasSyntheticDefault = canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias, specifier);
51071
+ if (!exportDefaultSymbol && !hasSyntheticDefault && !hasDefaultOnly) {
51072
+ if (hasExportAssignmentSymbol(moduleSymbol)) {
51073
+ var compilerOptionName = moduleKind >= ts.ModuleKind.ES2015 ? "allowSyntheticDefaultImports" : "esModuleInterop";
51074
+ var exportEqualsSymbol = moduleSymbol.exports.get("export=" /* ExportEquals */);
51075
+ var exportAssignment = exportEqualsSymbol.valueDeclaration;
51076
+ var err = error(node.name, ts.Diagnostics.Module_0_can_only_be_default_imported_using_the_1_flag, symbolToString(moduleSymbol), compilerOptionName);
51077
+ if (exportAssignment) {
51078
+ 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));
51070
51079
  }
51071
51080
  }
51072
- else if (hasSyntheticDefault || hasDefaultOnly) {
51073
- // per emit behavior, a synthetic default overrides a "real" .default member if `__esModule` is not present
51074
- var resolved = resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias) || resolveSymbol(moduleSymbol, dontResolveAlias);
51075
- markSymbolOfAliasDeclarationIfTypeOnly(node, moduleSymbol, resolved, /*overwriteTypeOnly*/ false);
51076
- return resolved;
51081
+ else if (ts.isImportClause(node)) {
51082
+ reportNonDefaultExport(moduleSymbol, node);
51077
51083
  }
51078
- markSymbolOfAliasDeclarationIfTypeOnly(node, exportDefaultSymbol, /*finalTarget*/ undefined, /*overwriteTypeOnly*/ false);
51079
- return exportDefaultSymbol;
51084
+ else {
51085
+ errorNoModuleMemberSymbol(moduleSymbol, moduleSymbol, node, ts.isImportOrExportSpecifier(node) && node.propertyName || node.name);
51086
+ }
51087
+ }
51088
+ else if (hasSyntheticDefault || hasDefaultOnly) {
51089
+ // per emit behavior, a synthetic default overrides a "real" .default member if `__esModule` is not present
51090
+ var resolved = resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias) || resolveSymbol(moduleSymbol, dontResolveAlias);
51091
+ markSymbolOfAliasDeclarationIfTypeOnly(node, moduleSymbol, resolved, /*overwriteTypeOnly*/ false);
51092
+ return resolved;
51093
+ }
51094
+ markSymbolOfAliasDeclarationIfTypeOnly(node, exportDefaultSymbol, /*finalTarget*/ undefined, /*overwriteTypeOnly*/ false);
51095
+ return exportDefaultSymbol;
51096
+ }
51097
+ function getModuleSpecifierForImportOrExport(node) {
51098
+ switch (node.kind) {
51099
+ case 267 /* ImportClause */: return node.parent.moduleSpecifier;
51100
+ case 265 /* ImportEqualsDeclaration */: return ts.isExternalModuleReference(node.moduleReference) ? node.moduleReference.expression : undefined;
51101
+ case 268 /* NamespaceImport */: return node.parent.parent.moduleSpecifier;
51102
+ case 270 /* ImportSpecifier */: return node.parent.parent.parent.moduleSpecifier;
51103
+ case 275 /* ExportSpecifier */: return node.parent.parent.moduleSpecifier;
51104
+ default: return ts.Debug.assertNever(node);
51080
51105
  }
51081
51106
  }
51082
51107
  function reportNonDefaultExport(moduleSymbol, node) {
@@ -51166,7 +51191,7 @@ var ts;
51166
51191
  }
51167
51192
  }
51168
51193
  function getExternalModuleMember(node, specifier, dontResolveAlias) {
51169
- var _a, _b;
51194
+ var _a;
51170
51195
  if (dontResolveAlias === void 0) { dontResolveAlias = false; }
51171
51196
  var moduleSpecifier = ts.getExternalModuleRequireArgument(node) || node.moduleSpecifier;
51172
51197
  var moduleSymbol = resolveExternalModuleName(node, moduleSpecifier); // TODO: GH#18217
@@ -51202,29 +51227,33 @@ var ts;
51202
51227
  combineValueAndTypeSymbols(symbolFromVariable, symbolFromModule) :
51203
51228
  symbolFromModule || symbolFromVariable;
51204
51229
  if (!symbol) {
51205
- var moduleName = getFullyQualifiedName(moduleSymbol, node);
51206
- var declarationName = ts.declarationNameToString(name);
51207
- var suggestion = getSuggestedSymbolForNonexistentModule(name, targetSymbol);
51208
- if (suggestion !== undefined) {
51209
- var suggestionName = symbolToString(suggestion);
51210
- var diagnostic = error(name, ts.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2, moduleName, declarationName, suggestionName);
51211
- if (suggestion.valueDeclaration) {
51212
- ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(suggestion.valueDeclaration, ts.Diagnostics._0_is_declared_here, suggestionName));
51213
- }
51214
- }
51215
- else {
51216
- if ((_b = moduleSymbol.exports) === null || _b === void 0 ? void 0 : _b.has("default" /* Default */)) {
51217
- error(name, ts.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead, moduleName, declarationName);
51218
- }
51219
- else {
51220
- reportNonExportedMember(node, name, declarationName, moduleSymbol, moduleName);
51221
- }
51222
- }
51230
+ errorNoModuleMemberSymbol(moduleSymbol, targetSymbol, node, name);
51223
51231
  }
51224
51232
  return symbol;
51225
51233
  }
51226
51234
  }
51227
51235
  }
51236
+ function errorNoModuleMemberSymbol(moduleSymbol, targetSymbol, node, name) {
51237
+ var _a;
51238
+ var moduleName = getFullyQualifiedName(moduleSymbol, node);
51239
+ var declarationName = ts.declarationNameToString(name);
51240
+ var suggestion = getSuggestedSymbolForNonexistentModule(name, targetSymbol);
51241
+ if (suggestion !== undefined) {
51242
+ var suggestionName = symbolToString(suggestion);
51243
+ var diagnostic = error(name, ts.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2, moduleName, declarationName, suggestionName);
51244
+ if (suggestion.valueDeclaration) {
51245
+ ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(suggestion.valueDeclaration, ts.Diagnostics._0_is_declared_here, suggestionName));
51246
+ }
51247
+ }
51248
+ else {
51249
+ if ((_a = moduleSymbol.exports) === null || _a === void 0 ? void 0 : _a.has("default" /* Default */)) {
51250
+ error(name, ts.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead, moduleName, declarationName);
51251
+ }
51252
+ else {
51253
+ reportNonExportedMember(node, name, declarationName, moduleSymbol, moduleName);
51254
+ }
51255
+ }
51256
+ }
51228
51257
  function reportNonExportedMember(node, name, declarationName, moduleSymbol, moduleName) {
51229
51258
  var _a, _b;
51230
51259
  var localSymbol = (_b = (_a = moduleSymbol.valueDeclaration) === null || _a === void 0 ? void 0 : _a.locals) === null || _b === void 0 ? void 0 : _b.get(name.escapedText);
@@ -51270,6 +51299,13 @@ var ts;
51270
51299
  }
51271
51300
  }
51272
51301
  function getTargetOfImportSpecifier(node, dontResolveAlias) {
51302
+ if (ts.isImportSpecifier(node) && ts.idText(node.propertyName || node.name) === "default" /* Default */) {
51303
+ var specifier = getModuleSpecifierForImportOrExport(node);
51304
+ var moduleSymbol = specifier && resolveExternalModuleName(node, specifier);
51305
+ if (moduleSymbol) {
51306
+ return getTargetofModuleDefault(moduleSymbol, node, dontResolveAlias);
51307
+ }
51308
+ }
51273
51309
  var root = ts.isBindingElement(node) ? ts.getRootDeclaration(node) : node.parent.parent.parent;
51274
51310
  var commonJSPropertyAccess = getCommonJSPropertyAccess(root);
51275
51311
  var resolved = getExternalModuleMember(root, commonJSPropertyAccess || node, dontResolveAlias);
@@ -51291,6 +51327,13 @@ var ts;
51291
51327
  return resolved;
51292
51328
  }
51293
51329
  function getTargetOfExportSpecifier(node, meaning, dontResolveAlias) {
51330
+ if (ts.idText(node.propertyName || node.name) === "default" /* Default */) {
51331
+ var specifier = getModuleSpecifierForImportOrExport(node);
51332
+ var moduleSymbol = specifier && resolveExternalModuleName(node, specifier);
51333
+ if (moduleSymbol) {
51334
+ return getTargetofModuleDefault(moduleSymbol, node, !!dontResolveAlias);
51335
+ }
51336
+ }
51294
51337
  var resolved = node.parent.parent.moduleSpecifier ?
51295
51338
  getExternalModuleMember(node.parent.parent, node, dontResolveAlias) :
51296
51339
  resolveEntityName(node.propertyName || node.name, meaning, /*ignoreErrors*/ false, dontResolveAlias);
@@ -55739,7 +55782,7 @@ var ts;
55739
55782
  // This is an else/if as accessors and properties can't merge in TS, but might in JS
55740
55783
  // If this happens, we assume the accessor takes priority, as it imposes more constraints
55741
55784
  else if (p.flags & (4 /* Property */ | 3 /* Variable */ | 98304 /* Accessor */)) {
55742
- 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),
55785
+ 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),
55743
55786
  // TODO: https://github.com/microsoft/TypeScript/pull/32372#discussion_r328386357
55744
55787
  // interface members can't have initializers, however class members _can_
55745
55788
  /*initializer*/ undefined), ((_d = p.declarations) === null || _d === void 0 ? void 0 : _d.find(ts.or(ts.isPropertyDeclaration, ts.isVariableDeclaration))) || firstPropertyLikeDecl);
@@ -88763,7 +88806,7 @@ var ts;
88763
88806
  return checkGrammarDecorators(node) || checkGrammarModifiers(node);
88764
88807
  }
88765
88808
  function checkGrammarDecorators(node) {
88766
- if (ts.canHaveIllegalDecorators(node) && ts.some(node.decorators)) {
88809
+ if (ts.canHaveIllegalDecorators(node) && ts.some(node.illegalDecorators)) {
88767
88810
  return grammarErrorOnFirstToken(node, ts.Diagnostics.Decorators_are_not_valid_here);
88768
88811
  }
88769
88812
  if (!ts.canHaveDecorators(node) || !ts.hasDecorators(node)) {
@@ -90416,6 +90459,7 @@ var ts;
90416
90459
  })(ts || (ts = {}));
90417
90460
  var ts;
90418
90461
  (function (ts) {
90462
+ var _a;
90419
90463
  function visitNode(node, visitor, test, lift) {
90420
90464
  if (node === undefined || visitor === undefined) {
90421
90465
  return node;
@@ -90630,12 +90674,10 @@ var ts;
90630
90674
  return updated;
90631
90675
  }
90632
90676
  ts.visitFunctionBody = visitFunctionBody;
90633
- /**
90634
- * Visits an iteration body, adding any block-scoped variables required by the transformation.
90635
- */
90636
- function visitIterationBody(body, visitor, context) {
90677
+ function visitIterationBody(body, visitor, context, nodeVisitor) {
90678
+ if (nodeVisitor === void 0) { nodeVisitor = visitNode; }
90637
90679
  context.startBlockScope();
90638
- var updated = visitNode(body, visitor, ts.isStatement, context.factory.liftToBlock);
90680
+ var updated = nodeVisitor(body, visitor, ts.isStatement, context.factory.liftToBlock);
90639
90681
  var declarations = context.endBlockScope();
90640
90682
  if (ts.some(declarations)) {
90641
90683
  if (ts.isBlock(updated)) {
@@ -90654,456 +90696,443 @@ var ts;
90654
90696
  if (node === undefined) {
90655
90697
  return undefined;
90656
90698
  }
90657
- var kind = node.kind;
90658
- // No need to visit nodes with no children.
90659
- if ((kind > 0 /* FirstToken */ && kind <= 160 /* LastToken */) || kind === 192 /* ThisType */) {
90660
- return node;
90661
- }
90662
- var factory = context.factory;
90663
- switch (kind) {
90664
- // Names
90665
- case 79 /* Identifier */:
90666
- ts.Debug.type(node);
90667
- return factory.updateIdentifier(node, nodesVisitor(node.typeArguments, visitor, ts.isTypeNodeOrTypeParameterDeclaration));
90668
- case 161 /* QualifiedName */:
90669
- ts.Debug.type(node);
90670
- return factory.updateQualifiedName(node, nodeVisitor(node.left, visitor, ts.isEntityName), nodeVisitor(node.right, visitor, ts.isIdentifier));
90671
- case 162 /* ComputedPropertyName */:
90672
- ts.Debug.type(node);
90673
- return factory.updateComputedPropertyName(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90674
- // Signature elements
90675
- case 163 /* TypeParameter */:
90676
- ts.Debug.type(node);
90677
- 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));
90678
- case 164 /* Parameter */:
90679
- ts.Debug.type(node);
90680
- 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));
90681
- case 165 /* Decorator */:
90682
- ts.Debug.type(node);
90683
- return factory.updateDecorator(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90684
- // Type elements
90685
- case 166 /* PropertySignature */:
90686
- ts.Debug.type(node);
90687
- 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));
90688
- case 167 /* PropertyDeclaration */:
90689
- ts.Debug.type(node);
90690
- return factory.updatePropertyDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName),
90691
- // QuestionToken and ExclamationToken is uniqued in Property Declaration and the signature of 'updateProperty' is that too
90692
- nodeVisitor(node.questionToken || node.exclamationToken, tokenVisitor, ts.isQuestionOrExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression));
90693
- case 168 /* MethodSignature */:
90694
- ts.Debug.type(node);
90695
- 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));
90696
- case 169 /* MethodDeclaration */:
90697
- ts.Debug.type(node);
90698
- 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));
90699
- case 171 /* Constructor */:
90700
- ts.Debug.type(node);
90701
- return factory.updateConstructorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90702
- case 172 /* GetAccessor */:
90703
- ts.Debug.type(node);
90704
- 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));
90705
- case 173 /* SetAccessor */:
90706
- ts.Debug.type(node);
90707
- 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));
90708
- case 170 /* ClassStaticBlockDeclaration */:
90709
- ts.Debug.type(node);
90710
- context.startLexicalEnvironment();
90711
- context.suspendLexicalEnvironment();
90712
- return factory.updateClassStaticBlockDeclaration(node, visitFunctionBody(node.body, visitor, context, nodeVisitor));
90713
- case 174 /* CallSignature */:
90714
- ts.Debug.type(node);
90715
- return factory.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90716
- case 175 /* ConstructSignature */:
90717
- ts.Debug.type(node);
90718
- return factory.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90719
- case 176 /* IndexSignature */:
90720
- ts.Debug.type(node);
90721
- return factory.updateIndexSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90722
- // Types
90723
- case 177 /* TypePredicate */:
90724
- ts.Debug.type(node);
90725
- return factory.updateTypePredicateNode(node, nodeVisitor(node.assertsModifier, visitor, ts.isAssertsKeyword), nodeVisitor(node.parameterName, visitor, ts.isIdentifierOrThisTypeNode), nodeVisitor(node.type, visitor, ts.isTypeNode));
90726
- case 178 /* TypeReference */:
90727
- ts.Debug.type(node);
90728
- return factory.updateTypeReferenceNode(node, nodeVisitor(node.typeName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90729
- case 179 /* FunctionType */:
90730
- ts.Debug.type(node);
90731
- return factory.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90732
- case 180 /* ConstructorType */:
90733
- ts.Debug.type(node);
90734
- 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));
90735
- case 181 /* TypeQuery */:
90736
- ts.Debug.type(node);
90737
- return factory.updateTypeQueryNode(node, nodeVisitor(node.exprName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90738
- case 182 /* TypeLiteral */:
90739
- ts.Debug.type(node);
90740
- return factory.updateTypeLiteralNode(node, nodesVisitor(node.members, visitor, ts.isTypeElement));
90741
- case 183 /* ArrayType */:
90742
- ts.Debug.type(node);
90743
- return factory.updateArrayTypeNode(node, nodeVisitor(node.elementType, visitor, ts.isTypeNode));
90744
- case 184 /* TupleType */:
90745
- ts.Debug.type(node);
90746
- return factory.updateTupleTypeNode(node, nodesVisitor(node.elements, visitor, ts.isTypeNode));
90747
- case 185 /* OptionalType */:
90748
- ts.Debug.type(node);
90749
- return factory.updateOptionalTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90750
- case 186 /* RestType */:
90751
- ts.Debug.type(node);
90752
- return factory.updateRestTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90753
- case 187 /* UnionType */:
90754
- ts.Debug.type(node);
90755
- return factory.updateUnionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode));
90756
- case 188 /* IntersectionType */:
90757
- ts.Debug.type(node);
90758
- return factory.updateIntersectionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode));
90759
- case 189 /* ConditionalType */:
90760
- ts.Debug.type(node);
90761
- 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));
90762
- case 190 /* InferType */:
90763
- ts.Debug.type(node);
90764
- return factory.updateInferTypeNode(node, nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration));
90765
- case 200 /* ImportType */:
90766
- ts.Debug.type(node);
90767
- 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);
90768
- case 295 /* ImportTypeAssertionContainer */:
90769
- ts.Debug.type(node);
90770
- return factory.updateImportTypeAssertionContainer(node, nodeVisitor(node.assertClause, visitor, ts.isNode), node.multiLine);
90771
- case 197 /* NamedTupleMember */:
90772
- ts.Debug.type(node);
90773
- 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));
90774
- case 191 /* ParenthesizedType */:
90775
- ts.Debug.type(node);
90776
- return factory.updateParenthesizedType(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90777
- case 193 /* TypeOperator */:
90778
- ts.Debug.type(node);
90779
- return factory.updateTypeOperatorNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90780
- case 194 /* IndexedAccessType */:
90781
- ts.Debug.type(node);
90782
- return factory.updateIndexedAccessTypeNode(node, nodeVisitor(node.objectType, visitor, ts.isTypeNode), nodeVisitor(node.indexType, visitor, ts.isTypeNode));
90783
- case 195 /* MappedType */:
90784
- ts.Debug.type(node);
90785
- 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));
90786
- case 196 /* LiteralType */:
90787
- ts.Debug.type(node);
90788
- return factory.updateLiteralTypeNode(node, nodeVisitor(node.literal, visitor, ts.isExpression));
90789
- case 198 /* TemplateLiteralType */:
90790
- ts.Debug.type(node);
90791
- return factory.updateTemplateLiteralType(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateLiteralTypeSpan));
90792
- case 199 /* TemplateLiteralTypeSpan */:
90793
- ts.Debug.type(node);
90794
- return factory.updateTemplateLiteralTypeSpan(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail));
90795
- // Binding patterns
90796
- case 201 /* ObjectBindingPattern */:
90797
- ts.Debug.type(node);
90798
- return factory.updateObjectBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isBindingElement));
90799
- case 202 /* ArrayBindingPattern */:
90800
- ts.Debug.type(node);
90801
- return factory.updateArrayBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isArrayBindingElement));
90802
- case 203 /* BindingElement */:
90803
- ts.Debug.type(node);
90804
- 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));
90805
- // Expression
90806
- case 204 /* ArrayLiteralExpression */:
90807
- ts.Debug.type(node);
90808
- return factory.updateArrayLiteralExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression));
90809
- case 205 /* ObjectLiteralExpression */:
90810
- ts.Debug.type(node);
90811
- return factory.updateObjectLiteralExpression(node, nodesVisitor(node.properties, visitor, ts.isObjectLiteralElementLike));
90812
- case 206 /* PropertyAccessExpression */:
90813
- if (node.flags & 32 /* OptionalChain */) {
90814
- ts.Debug.type(node);
90815
- return factory.updatePropertyAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.name, visitor, ts.isMemberName));
90816
- }
90817
- ts.Debug.type(node);
90818
- return factory.updatePropertyAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.name, visitor, ts.isMemberName));
90819
- case 207 /* ElementAccessExpression */:
90820
- if (node.flags & 32 /* OptionalChain */) {
90821
- ts.Debug.type(node);
90822
- return factory.updateElementAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.argumentExpression, visitor, ts.isExpression));
90823
- }
90824
- ts.Debug.type(node);
90825
- return factory.updateElementAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.argumentExpression, visitor, ts.isExpression));
90826
- case 208 /* CallExpression */:
90827
- if (node.flags & 32 /* OptionalChain */) {
90828
- ts.Debug.type(node);
90829
- 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));
90830
- }
90831
- ts.Debug.type(node);
90832
- return factory.updateCallExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
90833
- case 209 /* NewExpression */:
90834
- ts.Debug.type(node);
90835
- return factory.updateNewExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
90836
- case 210 /* TaggedTemplateExpression */:
90837
- ts.Debug.type(node);
90838
- return factory.updateTaggedTemplateExpression(node, nodeVisitor(node.tag, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.template, visitor, ts.isTemplateLiteral));
90839
- case 211 /* TypeAssertionExpression */:
90840
- ts.Debug.type(node);
90841
- return factory.updateTypeAssertion(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.expression, visitor, ts.isExpression));
90842
- case 212 /* ParenthesizedExpression */:
90843
- ts.Debug.type(node);
90844
- return factory.updateParenthesizedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90845
- case 213 /* FunctionExpression */:
90846
- ts.Debug.type(node);
90847
- 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));
90848
- case 214 /* ArrowFunction */:
90849
- ts.Debug.type(node);
90850
- 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));
90851
- case 215 /* DeleteExpression */:
90852
- ts.Debug.type(node);
90853
- return factory.updateDeleteExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90854
- case 216 /* TypeOfExpression */:
90855
- ts.Debug.type(node);
90856
- return factory.updateTypeOfExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90857
- case 217 /* VoidExpression */:
90858
- ts.Debug.type(node);
90859
- return factory.updateVoidExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90860
- case 218 /* AwaitExpression */:
90861
- ts.Debug.type(node);
90862
- return factory.updateAwaitExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90863
- case 219 /* PrefixUnaryExpression */:
90864
- ts.Debug.type(node);
90865
- return factory.updatePrefixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression));
90866
- case 220 /* PostfixUnaryExpression */:
90867
- ts.Debug.type(node);
90868
- return factory.updatePostfixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression));
90869
- case 221 /* BinaryExpression */:
90870
- ts.Debug.type(node);
90871
- return factory.updateBinaryExpression(node, nodeVisitor(node.left, visitor, ts.isExpression), nodeVisitor(node.operatorToken, tokenVisitor, ts.isBinaryOperatorToken), nodeVisitor(node.right, visitor, ts.isExpression));
90872
- case 222 /* ConditionalExpression */:
90873
- ts.Debug.type(node);
90874
- 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));
90875
- case 223 /* TemplateExpression */:
90876
- ts.Debug.type(node);
90877
- return factory.updateTemplateExpression(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateSpan));
90878
- case 224 /* YieldExpression */:
90879
- ts.Debug.type(node);
90880
- return factory.updateYieldExpression(node, nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.expression, visitor, ts.isExpression));
90881
- case 225 /* SpreadElement */:
90882
- ts.Debug.type(node);
90883
- return factory.updateSpreadElement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90884
- case 226 /* ClassExpression */:
90885
- ts.Debug.type(node);
90886
- 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));
90887
- case 228 /* ExpressionWithTypeArguments */:
90888
- ts.Debug.type(node);
90889
- return factory.updateExpressionWithTypeArguments(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90890
- case 229 /* AsExpression */:
90891
- ts.Debug.type(node);
90892
- return factory.updateAsExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.type, visitor, ts.isTypeNode));
90893
- case 230 /* NonNullExpression */:
90894
- if (node.flags & 32 /* OptionalChain */) {
90895
- ts.Debug.type(node);
90896
- return factory.updateNonNullChain(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90897
- }
90898
- ts.Debug.type(node);
90899
- return factory.updateNonNullExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90900
- case 231 /* MetaProperty */:
90901
- ts.Debug.type(node);
90902
- return factory.updateMetaProperty(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
90903
- // Misc
90904
- case 233 /* TemplateSpan */:
90905
- ts.Debug.type(node);
90906
- return factory.updateTemplateSpan(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail));
90907
- // Element
90908
- case 235 /* Block */:
90909
- ts.Debug.type(node);
90910
- return factory.updateBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement));
90911
- case 237 /* VariableStatement */:
90912
- ts.Debug.type(node);
90913
- return factory.updateVariableStatement(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.declarationList, visitor, ts.isVariableDeclarationList));
90914
- case 238 /* ExpressionStatement */:
90915
- ts.Debug.type(node);
90916
- return factory.updateExpressionStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90917
- case 239 /* IfStatement */:
90918
- ts.Debug.type(node);
90919
- 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));
90920
- case 240 /* DoStatement */:
90921
- ts.Debug.type(node);
90922
- return factory.updateDoStatement(node, visitIterationBody(node.statement, visitor, context), nodeVisitor(node.expression, visitor, ts.isExpression));
90923
- case 241 /* WhileStatement */:
90924
- ts.Debug.type(node);
90925
- return factory.updateWhileStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context));
90926
- case 242 /* ForStatement */:
90927
- ts.Debug.type(node);
90928
- 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));
90929
- case 243 /* ForInStatement */:
90930
- ts.Debug.type(node);
90931
- return factory.updateForInStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context));
90932
- case 244 /* ForOfStatement */:
90933
- ts.Debug.type(node);
90934
- 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));
90935
- case 245 /* ContinueStatement */:
90936
- ts.Debug.type(node);
90937
- return factory.updateContinueStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier));
90938
- case 246 /* BreakStatement */:
90939
- ts.Debug.type(node);
90940
- return factory.updateBreakStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier));
90941
- case 247 /* ReturnStatement */:
90942
- ts.Debug.type(node);
90943
- return factory.updateReturnStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90944
- case 248 /* WithStatement */:
90945
- ts.Debug.type(node);
90946
- return factory.updateWithStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.statement, visitor, ts.isStatement, factory.liftToBlock));
90947
- case 249 /* SwitchStatement */:
90948
- ts.Debug.type(node);
90949
- return factory.updateSwitchStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.caseBlock, visitor, ts.isCaseBlock));
90950
- case 250 /* LabeledStatement */:
90951
- ts.Debug.type(node);
90952
- return factory.updateLabeledStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier), nodeVisitor(node.statement, visitor, ts.isStatement, factory.liftToBlock));
90953
- case 251 /* ThrowStatement */:
90954
- ts.Debug.type(node);
90955
- return factory.updateThrowStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90956
- case 252 /* TryStatement */:
90957
- ts.Debug.type(node);
90958
- return factory.updateTryStatement(node, nodeVisitor(node.tryBlock, visitor, ts.isBlock), nodeVisitor(node.catchClause, visitor, ts.isCatchClause), nodeVisitor(node.finallyBlock, visitor, ts.isBlock));
90959
- case 254 /* VariableDeclaration */:
90960
- ts.Debug.type(node);
90961
- 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));
90962
- case 255 /* VariableDeclarationList */:
90963
- ts.Debug.type(node);
90964
- return factory.updateVariableDeclarationList(node, nodesVisitor(node.declarations, visitor, ts.isVariableDeclaration));
90965
- case 256 /* FunctionDeclaration */:
90966
- ts.Debug.type(node);
90967
- 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));
90968
- case 257 /* ClassDeclaration */:
90969
- ts.Debug.type(node);
90970
- 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));
90971
- case 258 /* InterfaceDeclaration */:
90972
- ts.Debug.type(node);
90973
- 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));
90974
- case 259 /* TypeAliasDeclaration */:
90975
- ts.Debug.type(node);
90976
- 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));
90977
- case 260 /* EnumDeclaration */:
90978
- ts.Debug.type(node);
90979
- return factory.updateEnumDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember));
90980
- case 261 /* ModuleDeclaration */:
90981
- ts.Debug.type(node);
90982
- return factory.updateModuleDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isModuleName), nodeVisitor(node.body, visitor, ts.isModuleBody));
90983
- case 262 /* ModuleBlock */:
90984
- ts.Debug.type(node);
90985
- return factory.updateModuleBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement));
90986
- case 263 /* CaseBlock */:
90987
- ts.Debug.type(node);
90988
- return factory.updateCaseBlock(node, nodesVisitor(node.clauses, visitor, ts.isCaseOrDefaultClause));
90989
- case 264 /* NamespaceExportDeclaration */:
90990
- ts.Debug.type(node);
90991
- return factory.updateNamespaceExportDeclaration(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
90992
- case 265 /* ImportEqualsDeclaration */:
90993
- ts.Debug.type(node);
90994
- return factory.updateImportEqualsDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.moduleReference, visitor, ts.isModuleReference));
90995
- case 266 /* ImportDeclaration */:
90996
- ts.Debug.type(node);
90997
- 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));
90998
- case 293 /* AssertClause */:
90999
- ts.Debug.type(node);
91000
- return factory.updateAssertClause(node, nodesVisitor(node.elements, visitor, ts.isAssertEntry), node.multiLine);
91001
- case 294 /* AssertEntry */:
91002
- ts.Debug.type(node);
91003
- return factory.updateAssertEntry(node, nodeVisitor(node.name, visitor, ts.isAssertionKey), nodeVisitor(node.value, visitor, ts.isExpressionNode));
91004
- case 267 /* ImportClause */:
91005
- ts.Debug.type(node);
91006
- return factory.updateImportClause(node, node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.namedBindings, visitor, ts.isNamedImportBindings));
91007
- case 268 /* NamespaceImport */:
91008
- ts.Debug.type(node);
91009
- return factory.updateNamespaceImport(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91010
- case 274 /* NamespaceExport */:
91011
- ts.Debug.type(node);
91012
- return factory.updateNamespaceExport(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91013
- case 269 /* NamedImports */:
91014
- ts.Debug.type(node);
91015
- return factory.updateNamedImports(node, nodesVisitor(node.elements, visitor, ts.isImportSpecifier));
91016
- case 270 /* ImportSpecifier */:
91017
- ts.Debug.type(node);
91018
- return factory.updateImportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier));
91019
- case 271 /* ExportAssignment */:
91020
- ts.Debug.type(node);
91021
- return factory.updateExportAssignment(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.expression, visitor, ts.isExpression));
91022
- case 272 /* ExportDeclaration */:
91023
- ts.Debug.type(node);
91024
- 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));
91025
- case 273 /* NamedExports */:
91026
- ts.Debug.type(node);
91027
- return factory.updateNamedExports(node, nodesVisitor(node.elements, visitor, ts.isExportSpecifier));
91028
- case 275 /* ExportSpecifier */:
91029
- ts.Debug.type(node);
91030
- return factory.updateExportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier));
91031
- // Module references
91032
- case 277 /* ExternalModuleReference */:
91033
- ts.Debug.type(node);
91034
- return factory.updateExternalModuleReference(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91035
- // JSX
91036
- case 278 /* JsxElement */:
91037
- ts.Debug.type(node);
91038
- return factory.updateJsxElement(node, nodeVisitor(node.openingElement, visitor, ts.isJsxOpeningElement), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingElement, visitor, ts.isJsxClosingElement));
91039
- case 279 /* JsxSelfClosingElement */:
91040
- ts.Debug.type(node);
91041
- return factory.updateJsxSelfClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes));
91042
- case 280 /* JsxOpeningElement */:
91043
- ts.Debug.type(node);
91044
- return factory.updateJsxOpeningElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes));
91045
- case 281 /* JsxClosingElement */:
91046
- ts.Debug.type(node);
91047
- return factory.updateJsxClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression));
91048
- case 282 /* JsxFragment */:
91049
- ts.Debug.type(node);
91050
- return factory.updateJsxFragment(node, nodeVisitor(node.openingFragment, visitor, ts.isJsxOpeningFragment), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingFragment, visitor, ts.isJsxClosingFragment));
91051
- case 285 /* JsxAttribute */:
91052
- ts.Debug.type(node);
91053
- return factory.updateJsxAttribute(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.initializer, visitor, ts.isStringLiteralOrJsxExpression));
91054
- case 286 /* JsxAttributes */:
91055
- ts.Debug.type(node);
91056
- return factory.updateJsxAttributes(node, nodesVisitor(node.properties, visitor, ts.isJsxAttributeLike));
91057
- case 287 /* JsxSpreadAttribute */:
91058
- ts.Debug.type(node);
91059
- return factory.updateJsxSpreadAttribute(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91060
- case 288 /* JsxExpression */:
91061
- ts.Debug.type(node);
91062
- return factory.updateJsxExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91063
- // Clauses
91064
- case 289 /* CaseClause */:
91065
- ts.Debug.type(node);
91066
- return factory.updateCaseClause(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.statements, visitor, ts.isStatement));
91067
- case 290 /* DefaultClause */:
91068
- ts.Debug.type(node);
91069
- return factory.updateDefaultClause(node, nodesVisitor(node.statements, visitor, ts.isStatement));
91070
- case 291 /* HeritageClause */:
91071
- ts.Debug.type(node);
91072
- return factory.updateHeritageClause(node, nodesVisitor(node.types, visitor, ts.isExpressionWithTypeArguments));
91073
- case 292 /* CatchClause */:
91074
- ts.Debug.type(node);
91075
- return factory.updateCatchClause(node, nodeVisitor(node.variableDeclaration, visitor, ts.isVariableDeclaration), nodeVisitor(node.block, visitor, ts.isBlock));
91076
- // Property assignments
91077
- case 296 /* PropertyAssignment */:
91078
- ts.Debug.type(node);
91079
- return factory.updatePropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91080
- case 297 /* ShorthandPropertyAssignment */:
91081
- ts.Debug.type(node);
91082
- return factory.updateShorthandPropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.objectAssignmentInitializer, visitor, ts.isExpression));
91083
- case 298 /* SpreadAssignment */:
91084
- ts.Debug.type(node);
91085
- return factory.updateSpreadAssignment(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91086
- // Enum
91087
- case 299 /* EnumMember */:
91088
- ts.Debug.type(node);
91089
- return factory.updateEnumMember(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91090
- // Top-level nodes
91091
- case 305 /* SourceFile */:
91092
- ts.Debug.type(node);
91093
- return factory.updateSourceFile(node, visitLexicalEnvironment(node.statements, visitor, context));
91094
- // Transformation nodes
91095
- case 350 /* PartiallyEmittedExpression */:
91096
- ts.Debug.type(node);
91097
- return factory.updatePartiallyEmittedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91098
- case 351 /* CommaListExpression */:
91099
- ts.Debug.type(node);
91100
- return factory.updateCommaListExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression));
91101
- default:
91102
- // No need to visit nodes with no children.
91103
- return node;
91104
- }
90699
+ var fn = visitEachChildTable[node.kind];
90700
+ return fn === undefined ? node : fn(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor);
91105
90701
  }
91106
90702
  ts.visitEachChild = visitEachChild;
90703
+ // NOTE: Before you can add a new method to `visitEachChildTable`, you must first ensure the `Node` subtype you
90704
+ // wish to add is defined in the `HasChildren` union in types.ts.
90705
+ var visitEachChildTable = (_a = {},
90706
+ _a[79 /* Identifier */] = function visitEachChildOfIdentifier(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90707
+ return context.factory.updateIdentifier(node, nodesVisitor(node.typeArguments, visitor, ts.isTypeNodeOrTypeParameterDeclaration));
90708
+ },
90709
+ _a[161 /* QualifiedName */] = function visitEachChildOfQualifiedName(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90710
+ return context.factory.updateQualifiedName(node, nodeVisitor(node.left, visitor, ts.isEntityName), nodeVisitor(node.right, visitor, ts.isIdentifier));
90711
+ },
90712
+ _a[162 /* ComputedPropertyName */] = function visitEachChildOfComputedPropertyName(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90713
+ return context.factory.updateComputedPropertyName(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90714
+ },
90715
+ // Signature elements
90716
+ _a[163 /* TypeParameter */] = function visitEachChildOfTypeParameterDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90717
+ 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));
90718
+ },
90719
+ _a[164 /* Parameter */] = function visitEachChildOfParameterDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90720
+ 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));
90721
+ },
90722
+ _a[165 /* Decorator */] = function visitEachChildOfDecorator(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90723
+ return context.factory.updateDecorator(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90724
+ },
90725
+ // Type elements
90726
+ _a[166 /* PropertySignature */] = function visitEachChildOfPropertySignature(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90727
+ 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));
90728
+ },
90729
+ _a[167 /* PropertyDeclaration */] = function visitEachChildOfPropertyDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90730
+ var _a;
90731
+ return context.factory.updatePropertyDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName),
90732
+ // QuestionToken and ExclamationToken are mutually exclusive in PropertyDeclaration
90733
+ 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));
90734
+ },
90735
+ _a[168 /* MethodSignature */] = function visitEachChildOfMethodSignature(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90736
+ 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));
90737
+ },
90738
+ _a[169 /* MethodDeclaration */] = function visitEachChildOfMethodDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90739
+ 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));
90740
+ },
90741
+ _a[171 /* Constructor */] = function visitEachChildOfConstructorDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90742
+ return context.factory.updateConstructorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor));
90743
+ },
90744
+ _a[172 /* GetAccessor */] = function visitEachChildOfGetAccessorDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90745
+ 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));
90746
+ },
90747
+ _a[173 /* SetAccessor */] = function visitEachChildOfSetAccessorDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90748
+ 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));
90749
+ },
90750
+ _a[170 /* ClassStaticBlockDeclaration */] = function visitEachChildOfClassStaticBlockDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90751
+ context.startLexicalEnvironment();
90752
+ context.suspendLexicalEnvironment();
90753
+ return context.factory.updateClassStaticBlockDeclaration(node, visitFunctionBody(node.body, visitor, context, nodeVisitor));
90754
+ },
90755
+ _a[174 /* CallSignature */] = function visitEachChildOfCallSignatureDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90756
+ return context.factory.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90757
+ },
90758
+ _a[175 /* ConstructSignature */] = function visitEachChildOfConstructSignatureDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90759
+ return context.factory.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90760
+ },
90761
+ _a[176 /* IndexSignature */] = function visitEachChildOfIndexSignatureDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90762
+ return context.factory.updateIndexSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90763
+ },
90764
+ // Types
90765
+ _a[177 /* TypePredicate */] = function visitEachChildOfTypePredicateNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90766
+ return context.factory.updateTypePredicateNode(node, nodeVisitor(node.assertsModifier, visitor, ts.isAssertsKeyword), nodeVisitor(node.parameterName, visitor, ts.isIdentifierOrThisTypeNode), nodeVisitor(node.type, visitor, ts.isTypeNode));
90767
+ },
90768
+ _a[178 /* TypeReference */] = function visitEachChildOfTypeReferenceNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90769
+ return context.factory.updateTypeReferenceNode(node, nodeVisitor(node.typeName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90770
+ },
90771
+ _a[179 /* FunctionType */] = function visitEachChildOfFunctionTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90772
+ return context.factory.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode));
90773
+ },
90774
+ _a[180 /* ConstructorType */] = function visitEachChildOfConstructorTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90775
+ 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));
90776
+ },
90777
+ _a[181 /* TypeQuery */] = function visitEachChildOfTypeQueryNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90778
+ return context.factory.updateTypeQueryNode(node, nodeVisitor(node.exprName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90779
+ },
90780
+ _a[182 /* TypeLiteral */] = function visitEachChildOfTypeLiteralNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90781
+ return context.factory.updateTypeLiteralNode(node, nodesVisitor(node.members, visitor, ts.isTypeElement));
90782
+ },
90783
+ _a[183 /* ArrayType */] = function visitEachChildOfArrayTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90784
+ return context.factory.updateArrayTypeNode(node, nodeVisitor(node.elementType, visitor, ts.isTypeNode));
90785
+ },
90786
+ _a[184 /* TupleType */] = function visitEachChildOfTupleTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90787
+ return context.factory.updateTupleTypeNode(node, nodesVisitor(node.elements, visitor, ts.isTypeNode));
90788
+ },
90789
+ _a[185 /* OptionalType */] = function visitEachChildOfOptionalTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90790
+ return context.factory.updateOptionalTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90791
+ },
90792
+ _a[186 /* RestType */] = function visitEachChildOfRestTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90793
+ return context.factory.updateRestTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90794
+ },
90795
+ _a[187 /* UnionType */] = function visitEachChildOfUnionTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90796
+ return context.factory.updateUnionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode));
90797
+ },
90798
+ _a[188 /* IntersectionType */] = function visitEachChildOfIntersectionTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90799
+ return context.factory.updateIntersectionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode));
90800
+ },
90801
+ _a[189 /* ConditionalType */] = function visitEachChildOfConditionalTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90802
+ 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));
90803
+ },
90804
+ _a[190 /* InferType */] = function visitEachChildOfInferTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90805
+ return context.factory.updateInferTypeNode(node, nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration));
90806
+ },
90807
+ _a[200 /* ImportType */] = function visitEachChildOfImportTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90808
+ 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);
90809
+ },
90810
+ _a[295 /* ImportTypeAssertionContainer */] = function visitEachChildOfImportTypeAssertionContainer(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90811
+ return context.factory.updateImportTypeAssertionContainer(node, nodeVisitor(node.assertClause, visitor, ts.isAssertClause), node.multiLine);
90812
+ },
90813
+ _a[197 /* NamedTupleMember */] = function visitEachChildOfNamedTupleMember(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90814
+ 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));
90815
+ },
90816
+ _a[191 /* ParenthesizedType */] = function visitEachChildOfParenthesizedType(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90817
+ return context.factory.updateParenthesizedType(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90818
+ },
90819
+ _a[193 /* TypeOperator */] = function visitEachChildOfTypeOperatorNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90820
+ return context.factory.updateTypeOperatorNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode));
90821
+ },
90822
+ _a[194 /* IndexedAccessType */] = function visitEachChildOfIndexedAccessType(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90823
+ return context.factory.updateIndexedAccessTypeNode(node, nodeVisitor(node.objectType, visitor, ts.isTypeNode), nodeVisitor(node.indexType, visitor, ts.isTypeNode));
90824
+ },
90825
+ _a[195 /* MappedType */] = function visitEachChildOfMappedType(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90826
+ 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));
90827
+ },
90828
+ _a[196 /* LiteralType */] = function visitEachChildOfLiteralTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90829
+ return context.factory.updateLiteralTypeNode(node, nodeVisitor(node.literal, visitor, ts.isExpression));
90830
+ },
90831
+ _a[198 /* TemplateLiteralType */] = function visitEachChildOfTemplateLiteralType(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90832
+ return context.factory.updateTemplateLiteralType(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateLiteralTypeSpan));
90833
+ },
90834
+ _a[199 /* TemplateLiteralTypeSpan */] = function visitEachChildOfTemplateLiteralTypeSpan(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90835
+ return context.factory.updateTemplateLiteralTypeSpan(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail));
90836
+ },
90837
+ // Binding patterns
90838
+ _a[201 /* ObjectBindingPattern */] = function visitEachChildOfObjectBindingPattern(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90839
+ return context.factory.updateObjectBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isBindingElement));
90840
+ },
90841
+ _a[202 /* ArrayBindingPattern */] = function visitEachChildOfArrayBindingPattern(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90842
+ return context.factory.updateArrayBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isArrayBindingElement));
90843
+ },
90844
+ _a[203 /* BindingElement */] = function visitEachChildOfBindingElement(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90845
+ 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));
90846
+ },
90847
+ // Expression
90848
+ _a[204 /* ArrayLiteralExpression */] = function visitEachChildOfArrayLiteralExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90849
+ return context.factory.updateArrayLiteralExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression));
90850
+ },
90851
+ _a[205 /* ObjectLiteralExpression */] = function visitEachChildOfObjectLiteralExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90852
+ return context.factory.updateObjectLiteralExpression(node, nodesVisitor(node.properties, visitor, ts.isObjectLiteralElementLike));
90853
+ },
90854
+ _a[206 /* PropertyAccessExpression */] = function visitEachChildOfPropertyAccessExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90855
+ return ts.isPropertyAccessChain(node) ?
90856
+ context.factory.updatePropertyAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.name, visitor, ts.isMemberName)) :
90857
+ context.factory.updatePropertyAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.name, visitor, ts.isMemberName));
90858
+ },
90859
+ _a[207 /* ElementAccessExpression */] = function visitEachChildOfElementAccessExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90860
+ return ts.isElementAccessChain(node) ?
90861
+ context.factory.updateElementAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.argumentExpression, visitor, ts.isExpression)) :
90862
+ context.factory.updateElementAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.argumentExpression, visitor, ts.isExpression));
90863
+ },
90864
+ _a[208 /* CallExpression */] = function visitEachChildOfCallExpression(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90865
+ return ts.isCallChain(node) ?
90866
+ 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)) :
90867
+ context.factory.updateCallExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
90868
+ },
90869
+ _a[209 /* NewExpression */] = function visitEachChildOfNewExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90870
+ return context.factory.updateNewExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression));
90871
+ },
90872
+ _a[210 /* TaggedTemplateExpression */] = function visitEachChildOfTaggedTemplateExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90873
+ return context.factory.updateTaggedTemplateExpression(node, nodeVisitor(node.tag, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.template, visitor, ts.isTemplateLiteral));
90874
+ },
90875
+ _a[211 /* TypeAssertionExpression */] = function visitEachChildOfTypeAssertionExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90876
+ return context.factory.updateTypeAssertion(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.expression, visitor, ts.isExpression));
90877
+ },
90878
+ _a[212 /* ParenthesizedExpression */] = function visitEachChildOfParenthesizedExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90879
+ return context.factory.updateParenthesizedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90880
+ },
90881
+ _a[213 /* FunctionExpression */] = function visitEachChildOfFunctionExpression(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90882
+ 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));
90883
+ },
90884
+ _a[214 /* ArrowFunction */] = function visitEachChildOfArrowFunction(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
90885
+ 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));
90886
+ },
90887
+ _a[215 /* DeleteExpression */] = function visitEachChildOfDeleteExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90888
+ return context.factory.updateDeleteExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90889
+ },
90890
+ _a[216 /* TypeOfExpression */] = function visitEachChildOfTypeOfExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90891
+ return context.factory.updateTypeOfExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90892
+ },
90893
+ _a[217 /* VoidExpression */] = function visitEachChildOfVoidExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90894
+ return context.factory.updateVoidExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90895
+ },
90896
+ _a[218 /* AwaitExpression */] = function visitEachChildOfAwaitExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90897
+ return context.factory.updateAwaitExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90898
+ },
90899
+ _a[219 /* PrefixUnaryExpression */] = function visitEachChildOfPrefixUnaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90900
+ return context.factory.updatePrefixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression));
90901
+ },
90902
+ _a[220 /* PostfixUnaryExpression */] = function visitEachChildOfPostfixUnaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90903
+ return context.factory.updatePostfixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression));
90904
+ },
90905
+ _a[221 /* BinaryExpression */] = function visitEachChildOfBinaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90906
+ return context.factory.updateBinaryExpression(node, nodeVisitor(node.left, visitor, ts.isExpression), nodeVisitor(node.operatorToken, tokenVisitor, ts.isBinaryOperatorToken), nodeVisitor(node.right, visitor, ts.isExpression));
90907
+ },
90908
+ _a[222 /* ConditionalExpression */] = function visitEachChildOfConditionalExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90909
+ 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));
90910
+ },
90911
+ _a[223 /* TemplateExpression */] = function visitEachChildOfTemplateExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90912
+ return context.factory.updateTemplateExpression(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateSpan));
90913
+ },
90914
+ _a[224 /* YieldExpression */] = function visitEachChildOfYieldExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90915
+ return context.factory.updateYieldExpression(node, nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.expression, visitor, ts.isExpression));
90916
+ },
90917
+ _a[225 /* SpreadElement */] = function visitEachChildOfSpreadElement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90918
+ return context.factory.updateSpreadElement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90919
+ },
90920
+ _a[226 /* ClassExpression */] = function visitEachChildOfClassExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90921
+ 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));
90922
+ },
90923
+ _a[228 /* ExpressionWithTypeArguments */] = function visitEachChildOfExpressionWithTypeArguments(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90924
+ return context.factory.updateExpressionWithTypeArguments(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode));
90925
+ },
90926
+ _a[229 /* AsExpression */] = function visitEachChildOfAsExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90927
+ return context.factory.updateAsExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.type, visitor, ts.isTypeNode));
90928
+ },
90929
+ _a[230 /* NonNullExpression */] = function visitEachChildOfNonNullExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90930
+ return ts.isOptionalChain(node) ?
90931
+ context.factory.updateNonNullChain(node, nodeVisitor(node.expression, visitor, ts.isExpression)) :
90932
+ context.factory.updateNonNullExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90933
+ },
90934
+ _a[231 /* MetaProperty */] = function visitEachChildOfMetaProperty(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90935
+ return context.factory.updateMetaProperty(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
90936
+ },
90937
+ // Misc
90938
+ _a[233 /* TemplateSpan */] = function visitEachChildOfTemplateSpan(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90939
+ return context.factory.updateTemplateSpan(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail));
90940
+ },
90941
+ // Element
90942
+ _a[235 /* Block */] = function visitEachChildOfBlock(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90943
+ return context.factory.updateBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement));
90944
+ },
90945
+ _a[237 /* VariableStatement */] = function visitEachChildOfVariableStatement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
90946
+ return context.factory.updateVariableStatement(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.declarationList, visitor, ts.isVariableDeclarationList));
90947
+ },
90948
+ _a[238 /* ExpressionStatement */] = function visitEachChildOfExpressionStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90949
+ return context.factory.updateExpressionStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90950
+ },
90951
+ _a[239 /* IfStatement */] = function visitEachChildOfIfStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90952
+ 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));
90953
+ },
90954
+ _a[240 /* DoStatement */] = function visitEachChildOfDoStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90955
+ return context.factory.updateDoStatement(node, visitIterationBody(node.statement, visitor, context, nodeVisitor), nodeVisitor(node.expression, visitor, ts.isExpression));
90956
+ },
90957
+ _a[241 /* WhileStatement */] = function visitEachChildOfWhileStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90958
+ return context.factory.updateWhileStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context, nodeVisitor));
90959
+ },
90960
+ _a[242 /* ForStatement */] = function visitEachChildOfForStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90961
+ 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));
90962
+ },
90963
+ _a[243 /* ForInStatement */] = function visitEachChildOfForInStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90964
+ return context.factory.updateForInStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context, nodeVisitor));
90965
+ },
90966
+ _a[244 /* ForOfStatement */] = function visitEachChildOfForOfStatement(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90967
+ 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));
90968
+ },
90969
+ _a[245 /* ContinueStatement */] = function visitEachChildOfContinueStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90970
+ return context.factory.updateContinueStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier));
90971
+ },
90972
+ _a[246 /* BreakStatement */] = function visitEachChildOfBreakStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90973
+ return context.factory.updateBreakStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier));
90974
+ },
90975
+ _a[247 /* ReturnStatement */] = function visitEachChildOfReturnStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90976
+ return context.factory.updateReturnStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90977
+ },
90978
+ _a[248 /* WithStatement */] = function visitEachChildOfWithStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90979
+ return context.factory.updateWithStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.statement, visitor, ts.isStatement, context.factory.liftToBlock));
90980
+ },
90981
+ _a[249 /* SwitchStatement */] = function visitEachChildOfSwitchStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90982
+ return context.factory.updateSwitchStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.caseBlock, visitor, ts.isCaseBlock));
90983
+ },
90984
+ _a[250 /* LabeledStatement */] = function visitEachChildOfLabeledStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90985
+ return context.factory.updateLabeledStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier), nodeVisitor(node.statement, visitor, ts.isStatement, context.factory.liftToBlock));
90986
+ },
90987
+ _a[251 /* ThrowStatement */] = function visitEachChildOfThrowStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90988
+ return context.factory.updateThrowStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression));
90989
+ },
90990
+ _a[252 /* TryStatement */] = function visitEachChildOfTryStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
90991
+ return context.factory.updateTryStatement(node, nodeVisitor(node.tryBlock, visitor, ts.isBlock), nodeVisitor(node.catchClause, visitor, ts.isCatchClause), nodeVisitor(node.finallyBlock, visitor, ts.isBlock));
90992
+ },
90993
+ _a[254 /* VariableDeclaration */] = function visitEachChildOfVariableDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) {
90994
+ 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));
90995
+ },
90996
+ _a[255 /* VariableDeclarationList */] = function visitEachChildOfVariableDeclarationList(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
90997
+ return context.factory.updateVariableDeclarationList(node, nodesVisitor(node.declarations, visitor, ts.isVariableDeclaration));
90998
+ },
90999
+ _a[256 /* FunctionDeclaration */] = function visitEachChildOfFunctionDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) {
91000
+ 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));
91001
+ },
91002
+ _a[257 /* ClassDeclaration */] = function visitEachChildOfClassDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91003
+ 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));
91004
+ },
91005
+ _a[258 /* InterfaceDeclaration */] = function visitEachChildOfInterfaceDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91006
+ 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));
91007
+ },
91008
+ _a[259 /* TypeAliasDeclaration */] = function visitEachChildOfTypeAliasDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91009
+ 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));
91010
+ },
91011
+ _a[260 /* EnumDeclaration */] = function visitEachChildOfEnumDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91012
+ return context.factory.updateEnumDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember));
91013
+ },
91014
+ _a[261 /* ModuleDeclaration */] = function visitEachChildOfModuleDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91015
+ return context.factory.updateModuleDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isModuleName), nodeVisitor(node.body, visitor, ts.isModuleBody));
91016
+ },
91017
+ _a[262 /* ModuleBlock */] = function visitEachChildOfModuleBlock(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91018
+ return context.factory.updateModuleBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement));
91019
+ },
91020
+ _a[263 /* CaseBlock */] = function visitEachChildOfCaseBlock(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91021
+ return context.factory.updateCaseBlock(node, nodesVisitor(node.clauses, visitor, ts.isCaseOrDefaultClause));
91022
+ },
91023
+ _a[264 /* NamespaceExportDeclaration */] = function visitEachChildOfNamespaceExportDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91024
+ return context.factory.updateNamespaceExportDeclaration(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91025
+ },
91026
+ _a[265 /* ImportEqualsDeclaration */] = function visitEachChildOfImportEqualsDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91027
+ 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));
91028
+ },
91029
+ _a[266 /* ImportDeclaration */] = function visitEachChildOfImportDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91030
+ 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));
91031
+ },
91032
+ _a[293 /* AssertClause */] = function visitEachChildOfAssertClause(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91033
+ return context.factory.updateAssertClause(node, nodesVisitor(node.elements, visitor, ts.isAssertEntry), node.multiLine);
91034
+ },
91035
+ _a[294 /* AssertEntry */] = function visitEachChildOfAssertEntry(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91036
+ return context.factory.updateAssertEntry(node, nodeVisitor(node.name, visitor, ts.isAssertionKey), nodeVisitor(node.value, visitor, ts.isExpression));
91037
+ },
91038
+ _a[267 /* ImportClause */] = function visitEachChildOfImportClause(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91039
+ return context.factory.updateImportClause(node, node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.namedBindings, visitor, ts.isNamedImportBindings));
91040
+ },
91041
+ _a[268 /* NamespaceImport */] = function visitEachChildOfNamespaceImport(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91042
+ return context.factory.updateNamespaceImport(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91043
+ },
91044
+ _a[274 /* NamespaceExport */] = function visitEachChildOfNamespaceExport(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91045
+ return context.factory.updateNamespaceExport(node, nodeVisitor(node.name, visitor, ts.isIdentifier));
91046
+ },
91047
+ _a[269 /* NamedImports */] = function visitEachChildOfNamedImports(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91048
+ return context.factory.updateNamedImports(node, nodesVisitor(node.elements, visitor, ts.isImportSpecifier));
91049
+ },
91050
+ _a[270 /* ImportSpecifier */] = function visitEachChildOfImportSpecifier(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91051
+ return context.factory.updateImportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier));
91052
+ },
91053
+ _a[271 /* ExportAssignment */] = function visitEachChildOfExportAssignment(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91054
+ return context.factory.updateExportAssignment(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.expression, visitor, ts.isExpression));
91055
+ },
91056
+ _a[272 /* ExportDeclaration */] = function visitEachChildOfExportDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91057
+ 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));
91058
+ },
91059
+ _a[273 /* NamedExports */] = function visitEachChildOfNamedExports(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91060
+ return context.factory.updateNamedExports(node, nodesVisitor(node.elements, visitor, ts.isExportSpecifier));
91061
+ },
91062
+ _a[275 /* ExportSpecifier */] = function visitEachChildOfExportSpecifier(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91063
+ return context.factory.updateExportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier));
91064
+ },
91065
+ // Module references
91066
+ _a[277 /* ExternalModuleReference */] = function visitEachChildOfExternalModuleReference(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91067
+ return context.factory.updateExternalModuleReference(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91068
+ },
91069
+ // JSX
91070
+ _a[278 /* JsxElement */] = function visitEachChildOfJsxElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91071
+ return context.factory.updateJsxElement(node, nodeVisitor(node.openingElement, visitor, ts.isJsxOpeningElement), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingElement, visitor, ts.isJsxClosingElement));
91072
+ },
91073
+ _a[279 /* JsxSelfClosingElement */] = function visitEachChildOfJsxSelfClosingElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91074
+ return context.factory.updateJsxSelfClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes));
91075
+ },
91076
+ _a[280 /* JsxOpeningElement */] = function visitEachChildOfJsxOpeningElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91077
+ return context.factory.updateJsxOpeningElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes));
91078
+ },
91079
+ _a[281 /* JsxClosingElement */] = function visitEachChildOfJsxClosingElement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91080
+ return context.factory.updateJsxClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression));
91081
+ },
91082
+ _a[282 /* JsxFragment */] = function visitEachChildOfJsxFragment(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91083
+ return context.factory.updateJsxFragment(node, nodeVisitor(node.openingFragment, visitor, ts.isJsxOpeningFragment), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingFragment, visitor, ts.isJsxClosingFragment));
91084
+ },
91085
+ _a[285 /* JsxAttribute */] = function visitEachChildOfJsxAttribute(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91086
+ return context.factory.updateJsxAttribute(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.initializer, visitor, ts.isStringLiteralOrJsxExpression));
91087
+ },
91088
+ _a[286 /* JsxAttributes */] = function visitEachChildOfJsxAttributes(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91089
+ return context.factory.updateJsxAttributes(node, nodesVisitor(node.properties, visitor, ts.isJsxAttributeLike));
91090
+ },
91091
+ _a[287 /* JsxSpreadAttribute */] = function visitEachChildOfJsxSpreadAttribute(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91092
+ return context.factory.updateJsxSpreadAttribute(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91093
+ },
91094
+ _a[288 /* JsxExpression */] = function visitEachChildOfJsxExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91095
+ return context.factory.updateJsxExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91096
+ },
91097
+ // Clauses
91098
+ _a[289 /* CaseClause */] = function visitEachChildOfCaseClause(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) {
91099
+ return context.factory.updateCaseClause(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.statements, visitor, ts.isStatement));
91100
+ },
91101
+ _a[290 /* DefaultClause */] = function visitEachChildOfDefaultClause(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91102
+ return context.factory.updateDefaultClause(node, nodesVisitor(node.statements, visitor, ts.isStatement));
91103
+ },
91104
+ _a[291 /* HeritageClause */] = function visitEachChildOfHeritageClause(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91105
+ return context.factory.updateHeritageClause(node, nodesVisitor(node.types, visitor, ts.isExpressionWithTypeArguments));
91106
+ },
91107
+ _a[292 /* CatchClause */] = function visitEachChildOfCatchClause(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91108
+ return context.factory.updateCatchClause(node, nodeVisitor(node.variableDeclaration, visitor, ts.isVariableDeclaration), nodeVisitor(node.block, visitor, ts.isBlock));
91109
+ },
91110
+ // Property assignments
91111
+ _a[296 /* PropertyAssignment */] = function visitEachChildOfPropertyAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91112
+ return context.factory.updatePropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91113
+ },
91114
+ _a[297 /* ShorthandPropertyAssignment */] = function visitEachChildOfShorthandPropertyAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91115
+ return context.factory.updateShorthandPropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.objectAssignmentInitializer, visitor, ts.isExpression));
91116
+ },
91117
+ _a[298 /* SpreadAssignment */] = function visitEachChildOfSpreadAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91118
+ return context.factory.updateSpreadAssignment(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91119
+ },
91120
+ // Enum
91121
+ _a[299 /* EnumMember */] = function visitEachChildOfEnumMember(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91122
+ return context.factory.updateEnumMember(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression));
91123
+ },
91124
+ // Top-level nodes
91125
+ _a[305 /* SourceFile */] = function visitEachChildOfSourceFile(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91126
+ return context.factory.updateSourceFile(node, visitLexicalEnvironment(node.statements, visitor, context, /*start*/ undefined, /*ensureUseStrict*/ undefined, nodesVisitor));
91127
+ },
91128
+ // Transformation nodes
91129
+ _a[350 /* PartiallyEmittedExpression */] = function visitEachChildOfPartiallyEmittedExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
91130
+ return context.factory.updatePartiallyEmittedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression));
91131
+ },
91132
+ _a[351 /* CommaListExpression */] = function visitEachChildOfCommaListExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
91133
+ return context.factory.updateCommaListExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression));
91134
+ },
91135
+ _a);
91107
91136
  /**
91108
91137
  * Extracts the single node from a NodeArray.
91109
91138
  *
@@ -182709,9 +182738,9 @@ var ts;
182709
182738
  // - error: 5.0
182710
182739
  var ts;
182711
182740
  (function (ts) {
182712
- 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." };
182713
- 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." };
182714
- 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." };
182741
+ 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." };
182742
+ 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." };
182743
+ 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." };
182715
182744
  function patchNodeFactory(factory) {
182716
182745
  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;
182717
182746
  factory.createParameterDeclaration = ts.buildOverload("createParameterDeclaration")
@@ -182938,7 +182967,7 @@ var ts;
182938
182967
  return (decorators === undefined || !ts.some(decorators, ts.isModifier)) &&
182939
182968
  (modifiers === undefined || !ts.some(modifiers, ts.isParameter)) &&
182940
182969
  (parameters === undefined || ts.isArray(parameters)) &&
182941
- (body === undefined || !ts.isBlock(body));
182970
+ (body === undefined || ts.isBlock(body));
182942
182971
  },
182943
182972
  })
182944
182973
  .deprecate({
@@ -182967,7 +182996,7 @@ var ts;
182967
182996
  return (decorators === undefined || !ts.some(decorators, ts.isModifier)) &&
182968
182997
  (modifiers === undefined || !ts.some(modifiers, ts.isParameter)) &&
182969
182998
  (parameters === undefined || ts.isArray(parameters)) &&
182970
- (body === undefined || !ts.isBlock(body));
182999
+ (body === undefined || ts.isBlock(body));
182971
183000
  },
182972
183001
  })
182973
183002
  .deprecate({