typescript 4.9.0-dev.20220819 → 4.9.0-dev.20220822

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.
@@ -89,7 +89,7 @@ var ts;
89
89
  // The following is baselined as a literal template type without intervention
90
90
  /** The version of the TypeScript compiler release */
91
91
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
92
- ts.version = ts.versionMajorMinor + ".0-dev.20220819";
92
+ ts.version = ts.versionMajorMinor + ".0-dev.20220822";
93
93
  /* @internal */
94
94
  var Comparison;
95
95
  (function (Comparison) {
@@ -2478,6 +2478,7 @@ var ts;
2478
2478
  var currentAssertionLevel = 0 /* None */;
2479
2479
  Debug.currentLogLevel = LogLevel.Warning;
2480
2480
  Debug.isDebugging = false;
2481
+ Debug.enableDeprecationWarnings = true;
2481
2482
  function getTypeScriptVersion() {
2482
2483
  return typeScriptVersion !== null && typeScriptVersion !== void 0 ? typeScriptVersion : (typeScriptVersion = new ts.Version(ts.version));
2483
2484
  }
@@ -3101,7 +3102,7 @@ var ts;
3101
3102
  function createWarningDeprecation(name, errorAfter, since, message) {
3102
3103
  var hasWrittenDeprecation = false;
3103
3104
  return function () {
3104
- if (!hasWrittenDeprecation) {
3105
+ if (Debug.enableDeprecationWarnings && !hasWrittenDeprecation) {
3105
3106
  log.warn(formatDeprecationMessage(name, /*error*/ false, errorAfter, since, message));
3106
3107
  hasWrittenDeprecation = true;
3107
3108
  }
@@ -21380,7 +21381,7 @@ var ts;
21380
21381
  case 165 /* Decorator */: {
21381
21382
  var parent_2 = node.parent;
21382
21383
  return ts.canHaveDecorators(parent_2) ? parent_2.modifiers :
21383
- ts.canHaveIllegalDecorators(parent_2) ? parent_2.decorators :
21384
+ ts.canHaveIllegalDecorators(parent_2) ? parent_2.illegalDecorators :
21384
21385
  undefined;
21385
21386
  }
21386
21387
  case 291 /* HeritageClause */:
@@ -23457,7 +23458,7 @@ var ts;
23457
23458
  node.body = body;
23458
23459
  node.transformFlags = propagateChildFlags(body) | 16777216 /* ContainsClassFields */;
23459
23460
  // The following properties are used only to report grammar errors
23460
- node.decorators = undefined;
23461
+ node.illegalDecorators = undefined;
23461
23462
  node.modifiers = undefined;
23462
23463
  return node;
23463
23464
  }
@@ -23469,7 +23470,7 @@ var ts;
23469
23470
  }
23470
23471
  function finishUpdateClassStaticBlockDeclaration(updated, original) {
23471
23472
  if (updated !== original) {
23472
- updated.decorators = original.decorators;
23473
+ updated.illegalDecorators = original.illegalDecorators;
23473
23474
  updated.modifiers = original.modifiers;
23474
23475
  }
23475
23476
  return update(updated, original);
@@ -23482,7 +23483,7 @@ var ts;
23482
23483
  /*type*/ undefined, body);
23483
23484
  node.transformFlags |= 1024 /* ContainsES2015 */;
23484
23485
  // The following properties are used only to report grammar errors
23485
- node.decorators = undefined;
23486
+ node.illegalDecorators = undefined;
23486
23487
  node.typeParameters = undefined;
23487
23488
  node.type = undefined;
23488
23489
  return node;
@@ -23497,7 +23498,7 @@ var ts;
23497
23498
  }
23498
23499
  function finishUpdateConstructorDeclaration(updated, original) {
23499
23500
  if (updated !== original) {
23500
- updated.decorators = original.decorators;
23501
+ updated.illegalDecorators = original.illegalDecorators;
23501
23502
  updated.typeParameters = original.typeParameters;
23502
23503
  updated.type = original.type;
23503
23504
  }
@@ -25245,7 +25246,7 @@ var ts;
25245
25246
  }
25246
25247
  }
25247
25248
  // The following properties are used only to report grammar errors
25248
- node.decorators = undefined;
25249
+ node.illegalDecorators = undefined;
25249
25250
  return node;
25250
25251
  }
25251
25252
  // @api
@@ -25263,7 +25264,7 @@ var ts;
25263
25264
  function finishUpdateFunctionDeclaration(updated, original) {
25264
25265
  if (updated !== original) {
25265
25266
  // copy children used only for error reporting
25266
- updated.decorators = original.decorators;
25267
+ updated.illegalDecorators = original.illegalDecorators;
25267
25268
  }
25268
25269
  return finishUpdateBaseSignatureDeclaration(updated, original);
25269
25270
  }
@@ -25297,7 +25298,7 @@ var ts;
25297
25298
  node.members = createNodeArray(members);
25298
25299
  node.transformFlags = 1 /* ContainsTypeScript */;
25299
25300
  // The following properties are used only to report grammar errors
25300
- node.decorators = undefined;
25301
+ node.illegalDecorators = undefined;
25301
25302
  return node;
25302
25303
  }
25303
25304
  // @api
@@ -25312,7 +25313,7 @@ var ts;
25312
25313
  }
25313
25314
  function finishUpdateInterfaceDeclaration(updated, original) {
25314
25315
  if (updated !== original) {
25315
- updated.decorators = original.decorators;
25316
+ updated.illegalDecorators = original.illegalDecorators;
25316
25317
  }
25317
25318
  return update(updated, original);
25318
25319
  }
@@ -25322,7 +25323,7 @@ var ts;
25322
25323
  node.type = type;
25323
25324
  node.transformFlags = 1 /* ContainsTypeScript */;
25324
25325
  // The following properties are used only to report grammar errors
25325
- node.decorators = undefined;
25326
+ node.illegalDecorators = undefined;
25326
25327
  return node;
25327
25328
  }
25328
25329
  // @api
@@ -25336,7 +25337,7 @@ var ts;
25336
25337
  }
25337
25338
  function finishUpdateTypeAliasDeclaration(updated, original) {
25338
25339
  if (updated !== original) {
25339
- updated.decorators = original.decorators;
25340
+ updated.illegalDecorators = original.illegalDecorators;
25340
25341
  }
25341
25342
  return update(updated, original);
25342
25343
  }
@@ -25349,7 +25350,7 @@ var ts;
25349
25350
  1 /* ContainsTypeScript */;
25350
25351
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */; // Enum declarations cannot contain `await`
25351
25352
  // The following properties are used only to report grammar errors
25352
- node.decorators = undefined;
25353
+ node.illegalDecorators = undefined;
25353
25354
  return node;
25354
25355
  }
25355
25356
  // @api
@@ -25362,7 +25363,7 @@ var ts;
25362
25363
  }
25363
25364
  function finishUpdateEnumDeclaration(updated, original) {
25364
25365
  if (updated !== original) {
25365
- updated.decorators = original.decorators;
25366
+ updated.illegalDecorators = original.illegalDecorators;
25366
25367
  }
25367
25368
  return update(updated, original);
25368
25369
  }
@@ -25386,7 +25387,7 @@ var ts;
25386
25387
  }
25387
25388
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */; // Module declarations cannot contain `await`.
25388
25389
  // The following properties are used only to report grammar errors
25389
- node.decorators = undefined;
25390
+ node.illegalDecorators = undefined;
25390
25391
  return node;
25391
25392
  }
25392
25393
  // @api
@@ -25399,7 +25400,7 @@ var ts;
25399
25400
  }
25400
25401
  function finishUpdateModuleDeclaration(updated, original) {
25401
25402
  if (updated !== original) {
25402
- updated.decorators = original.decorators;
25403
+ updated.illegalDecorators = original.illegalDecorators;
25403
25404
  }
25404
25405
  return update(updated, original);
25405
25406
  }
@@ -25435,7 +25436,7 @@ var ts;
25435
25436
  /*modifiers*/ undefined, name);
25436
25437
  node.transformFlags = 1 /* ContainsTypeScript */;
25437
25438
  // The following properties are used only to report grammar errors
25438
- node.decorators = undefined;
25439
+ node.illegalDecorators = undefined;
25439
25440
  node.modifiers = undefined;
25440
25441
  return node;
25441
25442
  }
@@ -25447,7 +25448,7 @@ var ts;
25447
25448
  }
25448
25449
  function finishUpdateNamespaceExportDeclaration(updated, original) {
25449
25450
  if (updated !== original) {
25450
- updated.decorators = original.decorators;
25451
+ updated.illegalDecorators = original.illegalDecorators;
25451
25452
  updated.modifiers = original.modifiers;
25452
25453
  }
25453
25454
  return update(updated, original);
@@ -25462,7 +25463,7 @@ var ts;
25462
25463
  node.transformFlags |= 1 /* ContainsTypeScript */;
25463
25464
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */; // Import= declaration is always parsed in an Await context
25464
25465
  // The following properties are used only to report grammar errors
25465
- node.decorators = undefined;
25466
+ node.illegalDecorators = undefined;
25466
25467
  return node;
25467
25468
  }
25468
25469
  // @api
@@ -25476,7 +25477,7 @@ var ts;
25476
25477
  }
25477
25478
  function finishUpdateImportEqualsDeclaration(updated, original) {
25478
25479
  if (updated !== original) {
25479
- updated.decorators = original.decorators;
25480
+ updated.illegalDecorators = original.illegalDecorators;
25480
25481
  }
25481
25482
  return update(updated, original);
25482
25483
  }
@@ -25492,7 +25493,7 @@ var ts;
25492
25493
  propagateChildFlags(node.moduleSpecifier);
25493
25494
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context
25494
25495
  // The following properties are used only to report grammar errors
25495
- node.decorators = undefined;
25496
+ node.illegalDecorators = undefined;
25496
25497
  return node;
25497
25498
  }
25498
25499
  // @api
@@ -25506,7 +25507,7 @@ var ts;
25506
25507
  }
25507
25508
  function finishUpdateImportDeclaration(updated, original) {
25508
25509
  if (updated !== original) {
25509
- updated.decorators = original.decorators;
25510
+ updated.illegalDecorators = original.illegalDecorators;
25510
25511
  }
25511
25512
  return update(updated, original);
25512
25513
  }
@@ -25652,7 +25653,7 @@ var ts;
25652
25653
  node.transformFlags |= propagateChildrenFlags(node.modifiers) | propagateChildFlags(node.expression);
25653
25654
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context
25654
25655
  // The following properties are used only to report grammar errors
25655
- node.decorators = undefined;
25656
+ node.illegalDecorators = undefined;
25656
25657
  return node;
25657
25658
  }
25658
25659
  // @api
@@ -25664,7 +25665,7 @@ var ts;
25664
25665
  }
25665
25666
  function finishUpdateExportAssignment(updated, original) {
25666
25667
  if (updated !== original) {
25667
- updated.decorators = original.decorators;
25668
+ updated.illegalDecorators = original.illegalDecorators;
25668
25669
  }
25669
25670
  return update(updated, original);
25670
25671
  }
@@ -25682,7 +25683,7 @@ var ts;
25682
25683
  propagateChildFlags(node.moduleSpecifier);
25683
25684
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context
25684
25685
  // The following properties are used only to report grammar errors
25685
- node.decorators = undefined;
25686
+ node.illegalDecorators = undefined;
25686
25687
  return node;
25687
25688
  }
25688
25689
  // @api
@@ -25697,7 +25698,7 @@ var ts;
25697
25698
  }
25698
25699
  function finishUpdateExportDeclaration(updated, original) {
25699
25700
  if (updated !== original) {
25700
- updated.decorators = original.decorators;
25701
+ updated.illegalDecorators = original.illegalDecorators;
25701
25702
  }
25702
25703
  return update(updated, original);
25703
25704
  }
@@ -26461,7 +26462,7 @@ var ts;
26461
26462
  propagateChildFlags(node.name) |
26462
26463
  propagateChildFlags(node.initializer);
26463
26464
  // The following properties are used only to report grammar errors
26464
- node.decorators = undefined;
26465
+ node.illegalDecorators = undefined;
26465
26466
  node.modifiers = undefined;
26466
26467
  node.questionToken = undefined;
26467
26468
  node.exclamationToken = undefined;
@@ -26477,7 +26478,7 @@ var ts;
26477
26478
  function finishUpdatePropertyAssignment(updated, original) {
26478
26479
  // copy children used only for error reporting
26479
26480
  if (updated !== original) {
26480
- updated.decorators = original.decorators;
26481
+ updated.illegalDecorators = original.illegalDecorators;
26481
26482
  updated.modifiers = original.modifiers;
26482
26483
  updated.questionToken = original.questionToken;
26483
26484
  updated.exclamationToken = original.exclamationToken;
@@ -26494,7 +26495,7 @@ var ts;
26494
26495
  1024 /* ContainsES2015 */;
26495
26496
  // The following properties are used only to report grammar errors
26496
26497
  node.equalsToken = undefined;
26497
- node.decorators = undefined;
26498
+ node.illegalDecorators = undefined;
26498
26499
  node.modifiers = undefined;
26499
26500
  node.questionToken = undefined;
26500
26501
  node.exclamationToken = undefined;
@@ -26511,7 +26512,7 @@ var ts;
26511
26512
  if (updated !== original) {
26512
26513
  // copy children used only for error reporting
26513
26514
  updated.equalsToken = original.equalsToken;
26514
- updated.decorators = original.decorators;
26515
+ updated.illegalDecorators = original.illegalDecorators;
26515
26516
  updated.modifiers = original.modifiers;
26516
26517
  updated.questionToken = original.questionToken;
26517
26518
  updated.exclamationToken = original.exclamationToken;
@@ -30875,6 +30876,7 @@ var ts;
30875
30876
  })(ts || (ts = {}));
30876
30877
  var ts;
30877
30878
  (function (ts) {
30879
+ var _a;
30878
30880
  var SignatureFlags;
30879
30881
  (function (SignatureFlags) {
30880
30882
  SignatureFlags[SignatureFlags["None"] = 0] = "None";
@@ -30962,6 +30964,715 @@ var ts;
30962
30964
  function isImportMeta(node) {
30963
30965
  return ts.isMetaProperty(node) && node.keywordToken === 100 /* ImportKeyword */ && node.name.escapedText === "meta";
30964
30966
  }
30967
+ var forEachChildTable = (_a = {},
30968
+ _a[161 /* QualifiedName */] = function forEachChildInQualifiedName(node, cbNode, _cbNodes) {
30969
+ return visitNode(cbNode, node.left) ||
30970
+ visitNode(cbNode, node.right);
30971
+ },
30972
+ _a[163 /* TypeParameter */] = function forEachChildInTypeParameter(node, cbNode, cbNodes) {
30973
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
30974
+ visitNode(cbNode, node.name) ||
30975
+ visitNode(cbNode, node.constraint) ||
30976
+ visitNode(cbNode, node.default) ||
30977
+ visitNode(cbNode, node.expression);
30978
+ },
30979
+ _a[297 /* ShorthandPropertyAssignment */] = function forEachChildInShorthandPropertyAssignment(node, cbNode, cbNodes) {
30980
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
30981
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
30982
+ visitNode(cbNode, node.name) ||
30983
+ visitNode(cbNode, node.questionToken) ||
30984
+ visitNode(cbNode, node.exclamationToken) ||
30985
+ visitNode(cbNode, node.equalsToken) ||
30986
+ visitNode(cbNode, node.objectAssignmentInitializer);
30987
+ },
30988
+ _a[298 /* SpreadAssignment */] = function forEachChildInSpreadAssignment(node, cbNode, _cbNodes) {
30989
+ return visitNode(cbNode, node.expression);
30990
+ },
30991
+ _a[164 /* Parameter */] = function forEachChildInParameter(node, cbNode, cbNodes) {
30992
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
30993
+ visitNode(cbNode, node.dotDotDotToken) ||
30994
+ visitNode(cbNode, node.name) ||
30995
+ visitNode(cbNode, node.questionToken) ||
30996
+ visitNode(cbNode, node.type) ||
30997
+ visitNode(cbNode, node.initializer);
30998
+ },
30999
+ _a[167 /* PropertyDeclaration */] = function forEachChildInPropertyDeclaration(node, cbNode, cbNodes) {
31000
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31001
+ visitNode(cbNode, node.name) ||
31002
+ visitNode(cbNode, node.questionToken) ||
31003
+ visitNode(cbNode, node.exclamationToken) ||
31004
+ visitNode(cbNode, node.type) ||
31005
+ visitNode(cbNode, node.initializer);
31006
+ },
31007
+ _a[166 /* PropertySignature */] = function forEachChildInPropertySignature(node, cbNode, cbNodes) {
31008
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31009
+ visitNode(cbNode, node.name) ||
31010
+ visitNode(cbNode, node.questionToken) ||
31011
+ visitNode(cbNode, node.type) ||
31012
+ visitNode(cbNode, node.initializer);
31013
+ },
31014
+ _a[296 /* PropertyAssignment */] = function forEachChildInPropertyAssignment(node, cbNode, cbNodes) {
31015
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31016
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31017
+ visitNode(cbNode, node.name) ||
31018
+ visitNode(cbNode, node.questionToken) ||
31019
+ visitNode(cbNode, node.exclamationToken) ||
31020
+ visitNode(cbNode, node.initializer);
31021
+ },
31022
+ _a[254 /* VariableDeclaration */] = function forEachChildInVariableDeclaration(node, cbNode, _cbNodes) {
31023
+ return visitNode(cbNode, node.name) ||
31024
+ visitNode(cbNode, node.exclamationToken) ||
31025
+ visitNode(cbNode, node.type) ||
31026
+ visitNode(cbNode, node.initializer);
31027
+ },
31028
+ _a[203 /* BindingElement */] = function forEachChildInBindingElement(node, cbNode, _cbNodes) {
31029
+ return visitNode(cbNode, node.dotDotDotToken) ||
31030
+ visitNode(cbNode, node.propertyName) ||
31031
+ visitNode(cbNode, node.name) ||
31032
+ visitNode(cbNode, node.initializer);
31033
+ },
31034
+ _a[176 /* IndexSignature */] = function forEachChildInIndexSignature(node, cbNode, cbNodes) {
31035
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31036
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31037
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31038
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31039
+ visitNode(cbNode, node.type);
31040
+ },
31041
+ _a[180 /* ConstructorType */] = function forEachChildInConstructorType(node, cbNode, cbNodes) {
31042
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31043
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31044
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31045
+ visitNode(cbNode, node.type);
31046
+ },
31047
+ _a[179 /* FunctionType */] = function forEachChildInFunctionType(node, cbNode, cbNodes) {
31048
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31049
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31050
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31051
+ visitNode(cbNode, node.type);
31052
+ },
31053
+ _a[174 /* CallSignature */] = forEachChildInCallOrConstructSignature,
31054
+ _a[175 /* ConstructSignature */] = forEachChildInCallOrConstructSignature,
31055
+ _a[169 /* MethodDeclaration */] = function forEachChildInMethodDeclaration(node, cbNode, cbNodes) {
31056
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31057
+ visitNode(cbNode, node.asteriskToken) ||
31058
+ visitNode(cbNode, node.name) ||
31059
+ visitNode(cbNode, node.questionToken) ||
31060
+ visitNode(cbNode, node.exclamationToken) ||
31061
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31062
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31063
+ visitNode(cbNode, node.type) ||
31064
+ visitNode(cbNode, node.body);
31065
+ },
31066
+ _a[168 /* MethodSignature */] = function forEachChildInMethodSignature(node, cbNode, cbNodes) {
31067
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31068
+ visitNode(cbNode, node.name) ||
31069
+ visitNode(cbNode, node.questionToken) ||
31070
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31071
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31072
+ visitNode(cbNode, node.type);
31073
+ },
31074
+ _a[171 /* Constructor */] = function forEachChildInConstructor(node, cbNode, cbNodes) {
31075
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31076
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31077
+ visitNode(cbNode, node.name) ||
31078
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31079
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31080
+ visitNode(cbNode, node.type) ||
31081
+ visitNode(cbNode, node.body);
31082
+ },
31083
+ _a[172 /* GetAccessor */] = function forEachChildInGetAccessor(node, cbNode, cbNodes) {
31084
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31085
+ visitNode(cbNode, node.name) ||
31086
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31087
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31088
+ visitNode(cbNode, node.type) ||
31089
+ visitNode(cbNode, node.body);
31090
+ },
31091
+ _a[173 /* SetAccessor */] = function forEachChildInSetAccessor(node, cbNode, cbNodes) {
31092
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31093
+ visitNode(cbNode, node.name) ||
31094
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31095
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31096
+ visitNode(cbNode, node.type) ||
31097
+ visitNode(cbNode, node.body);
31098
+ },
31099
+ _a[256 /* FunctionDeclaration */] = function forEachChildInFunctionDeclaration(node, cbNode, cbNodes) {
31100
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31101
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31102
+ visitNode(cbNode, node.asteriskToken) ||
31103
+ visitNode(cbNode, node.name) ||
31104
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31105
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31106
+ visitNode(cbNode, node.type) ||
31107
+ visitNode(cbNode, node.body);
31108
+ },
31109
+ _a[213 /* FunctionExpression */] = function forEachChildInFunctionExpression(node, cbNode, cbNodes) {
31110
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31111
+ visitNode(cbNode, node.asteriskToken) ||
31112
+ visitNode(cbNode, node.name) ||
31113
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31114
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31115
+ visitNode(cbNode, node.type) ||
31116
+ visitNode(cbNode, node.body);
31117
+ },
31118
+ _a[214 /* ArrowFunction */] = function forEachChildInArrowFunction(node, cbNode, cbNodes) {
31119
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31120
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31121
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31122
+ visitNode(cbNode, node.type) ||
31123
+ visitNode(cbNode, node.equalsGreaterThanToken) ||
31124
+ visitNode(cbNode, node.body);
31125
+ },
31126
+ _a[170 /* ClassStaticBlockDeclaration */] = function forEachChildInClassStaticBlockDeclaration(node, cbNode, cbNodes) {
31127
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31128
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31129
+ visitNode(cbNode, node.body);
31130
+ },
31131
+ _a[178 /* TypeReference */] = function forEachChildInTypeReference(node, cbNode, cbNodes) {
31132
+ return visitNode(cbNode, node.typeName) ||
31133
+ visitNodes(cbNode, cbNodes, node.typeArguments);
31134
+ },
31135
+ _a[177 /* TypePredicate */] = function forEachChildInTypePredicate(node, cbNode, _cbNodes) {
31136
+ return visitNode(cbNode, node.assertsModifier) ||
31137
+ visitNode(cbNode, node.parameterName) ||
31138
+ visitNode(cbNode, node.type);
31139
+ },
31140
+ _a[181 /* TypeQuery */] = function forEachChildInTypeQuery(node, cbNode, cbNodes) {
31141
+ return visitNode(cbNode, node.exprName) ||
31142
+ visitNodes(cbNode, cbNodes, node.typeArguments);
31143
+ },
31144
+ _a[182 /* TypeLiteral */] = function forEachChildInTypeLiteral(node, cbNode, cbNodes) {
31145
+ return visitNodes(cbNode, cbNodes, node.members);
31146
+ },
31147
+ _a[183 /* ArrayType */] = function forEachChildInArrayType(node, cbNode, _cbNodes) {
31148
+ return visitNode(cbNode, node.elementType);
31149
+ },
31150
+ _a[184 /* TupleType */] = function forEachChildInTupleType(node, cbNode, cbNodes) {
31151
+ return visitNodes(cbNode, cbNodes, node.elements);
31152
+ },
31153
+ _a[187 /* UnionType */] = forEachChildInUnionOrIntersectionType,
31154
+ _a[188 /* IntersectionType */] = forEachChildInUnionOrIntersectionType,
31155
+ _a[189 /* ConditionalType */] = function forEachChildInConditionalType(node, cbNode, _cbNodes) {
31156
+ return visitNode(cbNode, node.checkType) ||
31157
+ visitNode(cbNode, node.extendsType) ||
31158
+ visitNode(cbNode, node.trueType) ||
31159
+ visitNode(cbNode, node.falseType);
31160
+ },
31161
+ _a[190 /* InferType */] = function forEachChildInInferType(node, cbNode, _cbNodes) {
31162
+ return visitNode(cbNode, node.typeParameter);
31163
+ },
31164
+ _a[200 /* ImportType */] = function forEachChildInImportType(node, cbNode, cbNodes) {
31165
+ return visitNode(cbNode, node.argument) ||
31166
+ visitNode(cbNode, node.assertions) ||
31167
+ visitNode(cbNode, node.qualifier) ||
31168
+ visitNodes(cbNode, cbNodes, node.typeArguments);
31169
+ },
31170
+ _a[295 /* ImportTypeAssertionContainer */] = function forEachChildInImportTypeAssertionContainer(node, cbNode, _cbNodes) {
31171
+ return visitNode(cbNode, node.assertClause);
31172
+ },
31173
+ _a[191 /* ParenthesizedType */] = forEachChildInParenthesizedTypeOrTypeOperator,
31174
+ _a[193 /* TypeOperator */] = forEachChildInParenthesizedTypeOrTypeOperator,
31175
+ _a[194 /* IndexedAccessType */] = function forEachChildInIndexedAccessType(node, cbNode, _cbNodes) {
31176
+ return visitNode(cbNode, node.objectType) ||
31177
+ visitNode(cbNode, node.indexType);
31178
+ },
31179
+ _a[195 /* MappedType */] = function forEachChildInMappedType(node, cbNode, cbNodes) {
31180
+ return visitNode(cbNode, node.readonlyToken) ||
31181
+ visitNode(cbNode, node.typeParameter) ||
31182
+ visitNode(cbNode, node.nameType) ||
31183
+ visitNode(cbNode, node.questionToken) ||
31184
+ visitNode(cbNode, node.type) ||
31185
+ visitNodes(cbNode, cbNodes, node.members);
31186
+ },
31187
+ _a[196 /* LiteralType */] = function forEachChildInLiteralType(node, cbNode, _cbNodes) {
31188
+ return visitNode(cbNode, node.literal);
31189
+ },
31190
+ _a[197 /* NamedTupleMember */] = function forEachChildInNamedTupleMember(node, cbNode, _cbNodes) {
31191
+ return visitNode(cbNode, node.dotDotDotToken) ||
31192
+ visitNode(cbNode, node.name) ||
31193
+ visitNode(cbNode, node.questionToken) ||
31194
+ visitNode(cbNode, node.type);
31195
+ },
31196
+ _a[201 /* ObjectBindingPattern */] = forEachChildInObjectOrArrayBindingPattern,
31197
+ _a[202 /* ArrayBindingPattern */] = forEachChildInObjectOrArrayBindingPattern,
31198
+ _a[204 /* ArrayLiteralExpression */] = function forEachChildInArrayLiteralExpression(node, cbNode, cbNodes) {
31199
+ return visitNodes(cbNode, cbNodes, node.elements);
31200
+ },
31201
+ _a[205 /* ObjectLiteralExpression */] = function forEachChildInObjectLiteralExpression(node, cbNode, cbNodes) {
31202
+ return visitNodes(cbNode, cbNodes, node.properties);
31203
+ },
31204
+ _a[206 /* PropertyAccessExpression */] = function forEachChildInPropertyAccessExpression(node, cbNode, _cbNodes) {
31205
+ return visitNode(cbNode, node.expression) ||
31206
+ visitNode(cbNode, node.questionDotToken) ||
31207
+ visitNode(cbNode, node.name);
31208
+ },
31209
+ _a[207 /* ElementAccessExpression */] = function forEachChildInElementAccessExpression(node, cbNode, _cbNodes) {
31210
+ return visitNode(cbNode, node.expression) ||
31211
+ visitNode(cbNode, node.questionDotToken) ||
31212
+ visitNode(cbNode, node.argumentExpression);
31213
+ },
31214
+ _a[208 /* CallExpression */] = forEachChildInCallOrNewExpression,
31215
+ _a[209 /* NewExpression */] = forEachChildInCallOrNewExpression,
31216
+ _a[210 /* TaggedTemplateExpression */] = function forEachChildInTaggedTemplateExpression(node, cbNode, cbNodes) {
31217
+ return visitNode(cbNode, node.tag) ||
31218
+ visitNode(cbNode, node.questionDotToken) ||
31219
+ visitNodes(cbNode, cbNodes, node.typeArguments) ||
31220
+ visitNode(cbNode, node.template);
31221
+ },
31222
+ _a[211 /* TypeAssertionExpression */] = function forEachChildInTypeAssertionExpression(node, cbNode, _cbNodes) {
31223
+ return visitNode(cbNode, node.type) ||
31224
+ visitNode(cbNode, node.expression);
31225
+ },
31226
+ _a[212 /* ParenthesizedExpression */] = function forEachChildInParenthesizedExpression(node, cbNode, _cbNodes) {
31227
+ return visitNode(cbNode, node.expression);
31228
+ },
31229
+ _a[215 /* DeleteExpression */] = function forEachChildInDeleteExpression(node, cbNode, _cbNodes) {
31230
+ return visitNode(cbNode, node.expression);
31231
+ },
31232
+ _a[216 /* TypeOfExpression */] = function forEachChildInTypeOfExpression(node, cbNode, _cbNodes) {
31233
+ return visitNode(cbNode, node.expression);
31234
+ },
31235
+ _a[217 /* VoidExpression */] = function forEachChildInVoidExpression(node, cbNode, _cbNodes) {
31236
+ return visitNode(cbNode, node.expression);
31237
+ },
31238
+ _a[219 /* PrefixUnaryExpression */] = function forEachChildInPrefixUnaryExpression(node, cbNode, _cbNodes) {
31239
+ return visitNode(cbNode, node.operand);
31240
+ },
31241
+ _a[224 /* YieldExpression */] = function forEachChildInYieldExpression(node, cbNode, _cbNodes) {
31242
+ return visitNode(cbNode, node.asteriskToken) ||
31243
+ visitNode(cbNode, node.expression);
31244
+ },
31245
+ _a[218 /* AwaitExpression */] = function forEachChildInAwaitExpression(node, cbNode, _cbNodes) {
31246
+ return visitNode(cbNode, node.expression);
31247
+ },
31248
+ _a[220 /* PostfixUnaryExpression */] = function forEachChildInPostfixUnaryExpression(node, cbNode, _cbNodes) {
31249
+ return visitNode(cbNode, node.operand);
31250
+ },
31251
+ _a[221 /* BinaryExpression */] = function forEachChildInBinaryExpression(node, cbNode, _cbNodes) {
31252
+ return visitNode(cbNode, node.left) ||
31253
+ visitNode(cbNode, node.operatorToken) ||
31254
+ visitNode(cbNode, node.right);
31255
+ },
31256
+ _a[229 /* AsExpression */] = function forEachChildInAsExpression(node, cbNode, _cbNodes) {
31257
+ return visitNode(cbNode, node.expression) ||
31258
+ visitNode(cbNode, node.type);
31259
+ },
31260
+ _a[230 /* NonNullExpression */] = function forEachChildInNonNullExpression(node, cbNode, _cbNodes) {
31261
+ return visitNode(cbNode, node.expression);
31262
+ },
31263
+ _a[231 /* MetaProperty */] = function forEachChildInMetaProperty(node, cbNode, _cbNodes) {
31264
+ return visitNode(cbNode, node.name);
31265
+ },
31266
+ _a[222 /* ConditionalExpression */] = function forEachChildInConditionalExpression(node, cbNode, _cbNodes) {
31267
+ return visitNode(cbNode, node.condition) ||
31268
+ visitNode(cbNode, node.questionToken) ||
31269
+ visitNode(cbNode, node.whenTrue) ||
31270
+ visitNode(cbNode, node.colonToken) ||
31271
+ visitNode(cbNode, node.whenFalse);
31272
+ },
31273
+ _a[225 /* SpreadElement */] = function forEachChildInSpreadElement(node, cbNode, _cbNodes) {
31274
+ return visitNode(cbNode, node.expression);
31275
+ },
31276
+ _a[235 /* Block */] = forEachChildInBlock,
31277
+ _a[262 /* ModuleBlock */] = forEachChildInBlock,
31278
+ _a[305 /* SourceFile */] = function forEachChildInSourceFile(node, cbNode, cbNodes) {
31279
+ return visitNodes(cbNode, cbNodes, node.statements) ||
31280
+ visitNode(cbNode, node.endOfFileToken);
31281
+ },
31282
+ _a[237 /* VariableStatement */] = function forEachChildInVariableStatement(node, cbNode, cbNodes) {
31283
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31284
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31285
+ visitNode(cbNode, node.declarationList);
31286
+ },
31287
+ _a[255 /* VariableDeclarationList */] = function forEachChildInVariableDeclarationList(node, cbNode, cbNodes) {
31288
+ return visitNodes(cbNode, cbNodes, node.declarations);
31289
+ },
31290
+ _a[238 /* ExpressionStatement */] = function forEachChildInExpressionStatement(node, cbNode, _cbNodes) {
31291
+ return visitNode(cbNode, node.expression);
31292
+ },
31293
+ _a[239 /* IfStatement */] = function forEachChildInIfStatement(node, cbNode, _cbNodes) {
31294
+ return visitNode(cbNode, node.expression) ||
31295
+ visitNode(cbNode, node.thenStatement) ||
31296
+ visitNode(cbNode, node.elseStatement);
31297
+ },
31298
+ _a[240 /* DoStatement */] = function forEachChildInDoStatement(node, cbNode, _cbNodes) {
31299
+ return visitNode(cbNode, node.statement) ||
31300
+ visitNode(cbNode, node.expression);
31301
+ },
31302
+ _a[241 /* WhileStatement */] = function forEachChildInWhileStatement(node, cbNode, _cbNodes) {
31303
+ return visitNode(cbNode, node.expression) ||
31304
+ visitNode(cbNode, node.statement);
31305
+ },
31306
+ _a[242 /* ForStatement */] = function forEachChildInForStatement(node, cbNode, _cbNodes) {
31307
+ return visitNode(cbNode, node.initializer) ||
31308
+ visitNode(cbNode, node.condition) ||
31309
+ visitNode(cbNode, node.incrementor) ||
31310
+ visitNode(cbNode, node.statement);
31311
+ },
31312
+ _a[243 /* ForInStatement */] = function forEachChildInForInStatement(node, cbNode, _cbNodes) {
31313
+ return visitNode(cbNode, node.initializer) ||
31314
+ visitNode(cbNode, node.expression) ||
31315
+ visitNode(cbNode, node.statement);
31316
+ },
31317
+ _a[244 /* ForOfStatement */] = function forEachChildInForOfStatement(node, cbNode, _cbNodes) {
31318
+ return visitNode(cbNode, node.awaitModifier) ||
31319
+ visitNode(cbNode, node.initializer) ||
31320
+ visitNode(cbNode, node.expression) ||
31321
+ visitNode(cbNode, node.statement);
31322
+ },
31323
+ _a[245 /* ContinueStatement */] = forEachChildInContinueOrBreakStatement,
31324
+ _a[246 /* BreakStatement */] = forEachChildInContinueOrBreakStatement,
31325
+ _a[247 /* ReturnStatement */] = function forEachChildInReturnStatement(node, cbNode, _cbNodes) {
31326
+ return visitNode(cbNode, node.expression);
31327
+ },
31328
+ _a[248 /* WithStatement */] = function forEachChildInWithStatement(node, cbNode, _cbNodes) {
31329
+ return visitNode(cbNode, node.expression) ||
31330
+ visitNode(cbNode, node.statement);
31331
+ },
31332
+ _a[249 /* SwitchStatement */] = function forEachChildInSwitchStatement(node, cbNode, _cbNodes) {
31333
+ return visitNode(cbNode, node.expression) ||
31334
+ visitNode(cbNode, node.caseBlock);
31335
+ },
31336
+ _a[263 /* CaseBlock */] = function forEachChildInCaseBlock(node, cbNode, cbNodes) {
31337
+ return visitNodes(cbNode, cbNodes, node.clauses);
31338
+ },
31339
+ _a[289 /* CaseClause */] = function forEachChildInCaseClause(node, cbNode, cbNodes) {
31340
+ return visitNode(cbNode, node.expression) ||
31341
+ visitNodes(cbNode, cbNodes, node.statements);
31342
+ },
31343
+ _a[290 /* DefaultClause */] = function forEachChildInDefaultClause(node, cbNode, cbNodes) {
31344
+ return visitNodes(cbNode, cbNodes, node.statements);
31345
+ },
31346
+ _a[250 /* LabeledStatement */] = function forEachChildInLabeledStatement(node, cbNode, _cbNodes) {
31347
+ return visitNode(cbNode, node.label) ||
31348
+ visitNode(cbNode, node.statement);
31349
+ },
31350
+ _a[251 /* ThrowStatement */] = function forEachChildInThrowStatement(node, cbNode, _cbNodes) {
31351
+ return visitNode(cbNode, node.expression);
31352
+ },
31353
+ _a[252 /* TryStatement */] = function forEachChildInTryStatement(node, cbNode, _cbNodes) {
31354
+ return visitNode(cbNode, node.tryBlock) ||
31355
+ visitNode(cbNode, node.catchClause) ||
31356
+ visitNode(cbNode, node.finallyBlock);
31357
+ },
31358
+ _a[292 /* CatchClause */] = function forEachChildInCatchClause(node, cbNode, _cbNodes) {
31359
+ return visitNode(cbNode, node.variableDeclaration) ||
31360
+ visitNode(cbNode, node.block);
31361
+ },
31362
+ _a[165 /* Decorator */] = function forEachChildInDecorator(node, cbNode, _cbNodes) {
31363
+ return visitNode(cbNode, node.expression);
31364
+ },
31365
+ _a[257 /* ClassDeclaration */] = forEachChildInClassDeclarationOrExpression,
31366
+ _a[226 /* ClassExpression */] = forEachChildInClassDeclarationOrExpression,
31367
+ _a[258 /* InterfaceDeclaration */] = function forEachChildInInterfaceDeclaration(node, cbNode, cbNodes) {
31368
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31369
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31370
+ visitNode(cbNode, node.name) ||
31371
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31372
+ visitNodes(cbNode, cbNodes, node.heritageClauses) ||
31373
+ visitNodes(cbNode, cbNodes, node.members);
31374
+ },
31375
+ _a[259 /* TypeAliasDeclaration */] = function forEachChildInTypeAliasDeclaration(node, cbNode, cbNodes) {
31376
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31377
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31378
+ visitNode(cbNode, node.name) ||
31379
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31380
+ visitNode(cbNode, node.type);
31381
+ },
31382
+ _a[260 /* EnumDeclaration */] = function forEachChildInEnumDeclaration(node, cbNode, cbNodes) {
31383
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31384
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31385
+ visitNode(cbNode, node.name) ||
31386
+ visitNodes(cbNode, cbNodes, node.members);
31387
+ },
31388
+ _a[299 /* EnumMember */] = function forEachChildInEnumMember(node, cbNode, _cbNodes) {
31389
+ return visitNode(cbNode, node.name) ||
31390
+ visitNode(cbNode, node.initializer);
31391
+ },
31392
+ _a[261 /* ModuleDeclaration */] = function forEachChildInModuleDeclaration(node, cbNode, cbNodes) {
31393
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31394
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31395
+ visitNode(cbNode, node.name) ||
31396
+ visitNode(cbNode, node.body);
31397
+ },
31398
+ _a[265 /* ImportEqualsDeclaration */] = function forEachChildInImportEqualsDeclaration(node, cbNode, cbNodes) {
31399
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31400
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31401
+ visitNode(cbNode, node.name) ||
31402
+ visitNode(cbNode, node.moduleReference);
31403
+ },
31404
+ _a[266 /* ImportDeclaration */] = function forEachChildInImportDeclaration(node, cbNode, cbNodes) {
31405
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31406
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31407
+ visitNode(cbNode, node.importClause) ||
31408
+ visitNode(cbNode, node.moduleSpecifier) ||
31409
+ visitNode(cbNode, node.assertClause);
31410
+ },
31411
+ _a[267 /* ImportClause */] = function forEachChildInImportClause(node, cbNode, _cbNodes) {
31412
+ return visitNode(cbNode, node.name) ||
31413
+ visitNode(cbNode, node.namedBindings);
31414
+ },
31415
+ _a[293 /* AssertClause */] = function forEachChildInAssertClause(node, cbNode, cbNodes) {
31416
+ return visitNodes(cbNode, cbNodes, node.elements);
31417
+ },
31418
+ _a[294 /* AssertEntry */] = function forEachChildInAssertEntry(node, cbNode, _cbNodes) {
31419
+ return visitNode(cbNode, node.name) ||
31420
+ visitNode(cbNode, node.value);
31421
+ },
31422
+ _a[264 /* NamespaceExportDeclaration */] = function forEachChildInNamespaceExportDeclaration(node, cbNode, cbNodes) {
31423
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31424
+ visitNode(cbNode, node.name);
31425
+ },
31426
+ _a[268 /* NamespaceImport */] = function forEachChildInNamespaceImport(node, cbNode, _cbNodes) {
31427
+ return visitNode(cbNode, node.name);
31428
+ },
31429
+ _a[274 /* NamespaceExport */] = function forEachChildInNamespaceExport(node, cbNode, _cbNodes) {
31430
+ return visitNode(cbNode, node.name);
31431
+ },
31432
+ _a[269 /* NamedImports */] = forEachChildInNamedImportsOrExports,
31433
+ _a[273 /* NamedExports */] = forEachChildInNamedImportsOrExports,
31434
+ _a[272 /* ExportDeclaration */] = function forEachChildInExportDeclaration(node, cbNode, cbNodes) {
31435
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31436
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31437
+ visitNode(cbNode, node.exportClause) ||
31438
+ visitNode(cbNode, node.moduleSpecifier) ||
31439
+ visitNode(cbNode, node.assertClause);
31440
+ },
31441
+ _a[270 /* ImportSpecifier */] = forEachChildInImportOrExportSpecifier,
31442
+ _a[275 /* ExportSpecifier */] = forEachChildInImportOrExportSpecifier,
31443
+ _a[271 /* ExportAssignment */] = function forEachChildInExportAssignment(node, cbNode, cbNodes) {
31444
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31445
+ visitNodes(cbNode, cbNodes, node.modifiers) ||
31446
+ visitNode(cbNode, node.expression);
31447
+ },
31448
+ _a[223 /* TemplateExpression */] = function forEachChildInTemplateExpression(node, cbNode, cbNodes) {
31449
+ return visitNode(cbNode, node.head) ||
31450
+ visitNodes(cbNode, cbNodes, node.templateSpans);
31451
+ },
31452
+ _a[233 /* TemplateSpan */] = function forEachChildInTemplateSpan(node, cbNode, _cbNodes) {
31453
+ return visitNode(cbNode, node.expression) ||
31454
+ visitNode(cbNode, node.literal);
31455
+ },
31456
+ _a[198 /* TemplateLiteralType */] = function forEachChildInTemplateLiteralType(node, cbNode, cbNodes) {
31457
+ return visitNode(cbNode, node.head) ||
31458
+ visitNodes(cbNode, cbNodes, node.templateSpans);
31459
+ },
31460
+ _a[199 /* TemplateLiteralTypeSpan */] = function forEachChildInTemplateLiteralTypeSpan(node, cbNode, _cbNodes) {
31461
+ return visitNode(cbNode, node.type) ||
31462
+ visitNode(cbNode, node.literal);
31463
+ },
31464
+ _a[162 /* ComputedPropertyName */] = function forEachChildInComputedPropertyName(node, cbNode, _cbNodes) {
31465
+ return visitNode(cbNode, node.expression);
31466
+ },
31467
+ _a[291 /* HeritageClause */] = function forEachChildInHeritageClause(node, cbNode, cbNodes) {
31468
+ return visitNodes(cbNode, cbNodes, node.types);
31469
+ },
31470
+ _a[228 /* ExpressionWithTypeArguments */] = function forEachChildInExpressionWithTypeArguments(node, cbNode, cbNodes) {
31471
+ return visitNode(cbNode, node.expression) ||
31472
+ visitNodes(cbNode, cbNodes, node.typeArguments);
31473
+ },
31474
+ _a[277 /* ExternalModuleReference */] = function forEachChildInExternalModuleReference(node, cbNode, _cbNodes) {
31475
+ return visitNode(cbNode, node.expression);
31476
+ },
31477
+ _a[276 /* MissingDeclaration */] = function forEachChildInMissingDeclaration(node, cbNode, cbNodes) {
31478
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31479
+ visitNodes(cbNode, cbNodes, node.modifiers);
31480
+ },
31481
+ _a[351 /* CommaListExpression */] = function forEachChildInCommaListExpression(node, cbNode, cbNodes) {
31482
+ return visitNodes(cbNode, cbNodes, node.elements);
31483
+ },
31484
+ _a[278 /* JsxElement */] = function forEachChildInJsxElement(node, cbNode, cbNodes) {
31485
+ return visitNode(cbNode, node.openingElement) ||
31486
+ visitNodes(cbNode, cbNodes, node.children) ||
31487
+ visitNode(cbNode, node.closingElement);
31488
+ },
31489
+ _a[282 /* JsxFragment */] = function forEachChildInJsxFragment(node, cbNode, cbNodes) {
31490
+ return visitNode(cbNode, node.openingFragment) ||
31491
+ visitNodes(cbNode, cbNodes, node.children) ||
31492
+ visitNode(cbNode, node.closingFragment);
31493
+ },
31494
+ _a[279 /* JsxSelfClosingElement */] = forEachChildInJsxOpeningOrSelfClosingElement,
31495
+ _a[280 /* JsxOpeningElement */] = forEachChildInJsxOpeningOrSelfClosingElement,
31496
+ _a[286 /* JsxAttributes */] = function forEachChildInJsxAttributes(node, cbNode, cbNodes) {
31497
+ return visitNodes(cbNode, cbNodes, node.properties);
31498
+ },
31499
+ _a[285 /* JsxAttribute */] = function forEachChildInJsxAttribute(node, cbNode, _cbNodes) {
31500
+ return visitNode(cbNode, node.name) ||
31501
+ visitNode(cbNode, node.initializer);
31502
+ },
31503
+ _a[287 /* JsxSpreadAttribute */] = function forEachChildInJsxSpreadAttribute(node, cbNode, _cbNodes) {
31504
+ return visitNode(cbNode, node.expression);
31505
+ },
31506
+ _a[288 /* JsxExpression */] = function forEachChildInJsxExpression(node, cbNode, _cbNodes) {
31507
+ return visitNode(cbNode, node.dotDotDotToken) ||
31508
+ visitNode(cbNode, node.expression);
31509
+ },
31510
+ _a[281 /* JsxClosingElement */] = function forEachChildInJsxClosingElement(node, cbNode, _cbNodes) {
31511
+ return visitNode(cbNode, node.tagName);
31512
+ },
31513
+ _a[185 /* OptionalType */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31514
+ _a[186 /* RestType */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31515
+ _a[309 /* JSDocTypeExpression */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31516
+ _a[315 /* JSDocNonNullableType */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31517
+ _a[314 /* JSDocNullableType */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31518
+ _a[316 /* JSDocOptionalType */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31519
+ _a[318 /* JSDocVariadicType */] = forEachChildInOptionalRestOrJSDocParameterModifier,
31520
+ _a[317 /* JSDocFunctionType */] = function forEachChildInJSDocFunctionType(node, cbNode, cbNodes) {
31521
+ return visitNodes(cbNode, cbNodes, node.parameters) ||
31522
+ visitNode(cbNode, node.type);
31523
+ },
31524
+ _a[320 /* JSDoc */] = function forEachChildInJSDoc(node, cbNode, cbNodes) {
31525
+ return (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))
31526
+ || visitNodes(cbNode, cbNodes, node.tags);
31527
+ },
31528
+ _a[346 /* JSDocSeeTag */] = function forEachChildInJSDocSeeTag(node, cbNode, cbNodes) {
31529
+ return visitNode(cbNode, node.tagName) ||
31530
+ visitNode(cbNode, node.name) ||
31531
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31532
+ },
31533
+ _a[310 /* JSDocNameReference */] = function forEachChildInJSDocNameReference(node, cbNode, _cbNodes) {
31534
+ return visitNode(cbNode, node.name);
31535
+ },
31536
+ _a[311 /* JSDocMemberName */] = function forEachChildInJSDocMemberName(node, cbNode, _cbNodes) {
31537
+ return visitNode(cbNode, node.left) ||
31538
+ visitNode(cbNode, node.right);
31539
+ },
31540
+ _a[340 /* JSDocParameterTag */] = forEachChildInJSDocParameterOrPropertyTag,
31541
+ _a[347 /* JSDocPropertyTag */] = forEachChildInJSDocParameterOrPropertyTag,
31542
+ _a[330 /* JSDocAuthorTag */] = function forEachChildInJSDocAuthorTag(node, cbNode, cbNodes) {
31543
+ return visitNode(cbNode, node.tagName) ||
31544
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31545
+ },
31546
+ _a[329 /* JSDocImplementsTag */] = function forEachChildInJSDocImplementsTag(node, cbNode, cbNodes) {
31547
+ return visitNode(cbNode, node.tagName) ||
31548
+ visitNode(cbNode, node.class) ||
31549
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31550
+ },
31551
+ _a[328 /* JSDocAugmentsTag */] = function forEachChildInJSDocAugmentsTag(node, cbNode, cbNodes) {
31552
+ return visitNode(cbNode, node.tagName) ||
31553
+ visitNode(cbNode, node.class) ||
31554
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31555
+ },
31556
+ _a[344 /* JSDocTemplateTag */] = function forEachChildInJSDocTemplateTag(node, cbNode, cbNodes) {
31557
+ return visitNode(cbNode, node.tagName) ||
31558
+ visitNode(cbNode, node.constraint) ||
31559
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31560
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31561
+ },
31562
+ _a[345 /* JSDocTypedefTag */] = function forEachChildInJSDocTypedefTag(node, cbNode, cbNodes) {
31563
+ return visitNode(cbNode, node.tagName) ||
31564
+ (node.typeExpression &&
31565
+ node.typeExpression.kind === 309 /* JSDocTypeExpression */
31566
+ ? visitNode(cbNode, node.typeExpression) ||
31567
+ visitNode(cbNode, node.fullName) ||
31568
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))
31569
+ : visitNode(cbNode, node.fullName) ||
31570
+ visitNode(cbNode, node.typeExpression) ||
31571
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)));
31572
+ },
31573
+ _a[338 /* JSDocCallbackTag */] = function forEachChildInJSDocCallbackTag(node, cbNode, cbNodes) {
31574
+ return visitNode(cbNode, node.tagName) ||
31575
+ visitNode(cbNode, node.fullName) ||
31576
+ visitNode(cbNode, node.typeExpression) ||
31577
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31578
+ },
31579
+ _a[341 /* JSDocReturnTag */] = forEachChildInJSDocReturnTag,
31580
+ _a[343 /* JSDocTypeTag */] = forEachChildInJSDocReturnTag,
31581
+ _a[342 /* JSDocThisTag */] = forEachChildInJSDocReturnTag,
31582
+ _a[339 /* JSDocEnumTag */] = forEachChildInJSDocReturnTag,
31583
+ _a[323 /* JSDocSignature */] = function forEachChildInJSDocSignature(node, cbNode, _cbNodes) {
31584
+ return ts.forEach(node.typeParameters, cbNode) ||
31585
+ ts.forEach(node.parameters, cbNode) ||
31586
+ visitNode(cbNode, node.type);
31587
+ },
31588
+ _a[324 /* JSDocLink */] = forEachChildInJSDocLinkCodeOrPlain,
31589
+ _a[325 /* JSDocLinkCode */] = forEachChildInJSDocLinkCodeOrPlain,
31590
+ _a[326 /* JSDocLinkPlain */] = forEachChildInJSDocLinkCodeOrPlain,
31591
+ _a[322 /* JSDocTypeLiteral */] = function forEachChildInJSDocTypeLiteral(node, cbNode, _cbNodes) {
31592
+ return ts.forEach(node.jsDocPropertyTags, cbNode);
31593
+ },
31594
+ _a[327 /* JSDocTag */] = forEachChildInJSDocTag,
31595
+ _a[332 /* JSDocClassTag */] = forEachChildInJSDocTag,
31596
+ _a[333 /* JSDocPublicTag */] = forEachChildInJSDocTag,
31597
+ _a[334 /* JSDocPrivateTag */] = forEachChildInJSDocTag,
31598
+ _a[335 /* JSDocProtectedTag */] = forEachChildInJSDocTag,
31599
+ _a[336 /* JSDocReadonlyTag */] = forEachChildInJSDocTag,
31600
+ _a[331 /* JSDocDeprecatedTag */] = forEachChildInJSDocTag,
31601
+ _a[350 /* PartiallyEmittedExpression */] = forEachChildInPartiallyEmittedExpression,
31602
+ _a);
31603
+ // shared
31604
+ function forEachChildInCallOrConstructSignature(node, cbNode, cbNodes) {
31605
+ return visitNodes(cbNode, cbNodes, node.typeParameters) ||
31606
+ visitNodes(cbNode, cbNodes, node.parameters) ||
31607
+ visitNode(cbNode, node.type);
31608
+ }
31609
+ ;
31610
+ function forEachChildInUnionOrIntersectionType(node, cbNode, cbNodes) {
31611
+ return visitNodes(cbNode, cbNodes, node.types);
31612
+ }
31613
+ function forEachChildInParenthesizedTypeOrTypeOperator(node, cbNode, _cbNodes) {
31614
+ return visitNode(cbNode, node.type);
31615
+ }
31616
+ function forEachChildInObjectOrArrayBindingPattern(node, cbNode, cbNodes) {
31617
+ return visitNodes(cbNode, cbNodes, node.elements);
31618
+ }
31619
+ function forEachChildInCallOrNewExpression(node, cbNode, cbNodes) {
31620
+ return visitNode(cbNode, node.expression) ||
31621
+ // TODO: should we separate these branches out?
31622
+ visitNode(cbNode, node.questionDotToken) ||
31623
+ visitNodes(cbNode, cbNodes, node.typeArguments) ||
31624
+ visitNodes(cbNode, cbNodes, node.arguments);
31625
+ }
31626
+ function forEachChildInBlock(node, cbNode, cbNodes) {
31627
+ return visitNodes(cbNode, cbNodes, node.statements);
31628
+ }
31629
+ function forEachChildInContinueOrBreakStatement(node, cbNode, _cbNodes) {
31630
+ return visitNode(cbNode, node.label);
31631
+ }
31632
+ function forEachChildInClassDeclarationOrExpression(node, cbNode, cbNodes) {
31633
+ return visitNodes(cbNode, cbNodes, node.modifiers) ||
31634
+ visitNode(cbNode, node.name) ||
31635
+ visitNodes(cbNode, cbNodes, node.typeParameters) ||
31636
+ visitNodes(cbNode, cbNodes, node.heritageClauses) ||
31637
+ visitNodes(cbNode, cbNodes, node.members);
31638
+ }
31639
+ function forEachChildInNamedImportsOrExports(node, cbNode, cbNodes) {
31640
+ return visitNodes(cbNode, cbNodes, node.elements);
31641
+ }
31642
+ function forEachChildInImportOrExportSpecifier(node, cbNode, _cbNodes) {
31643
+ return visitNode(cbNode, node.propertyName) ||
31644
+ visitNode(cbNode, node.name);
31645
+ }
31646
+ function forEachChildInJsxOpeningOrSelfClosingElement(node, cbNode, cbNodes) {
31647
+ return visitNode(cbNode, node.tagName) ||
31648
+ visitNodes(cbNode, cbNodes, node.typeArguments) ||
31649
+ visitNode(cbNode, node.attributes);
31650
+ }
31651
+ function forEachChildInOptionalRestOrJSDocParameterModifier(node, cbNode, _cbNodes) {
31652
+ return visitNode(cbNode, node.type);
31653
+ }
31654
+ function forEachChildInJSDocParameterOrPropertyTag(node, cbNode, cbNodes) {
31655
+ return visitNode(cbNode, node.tagName) ||
31656
+ (node.isNameFirst
31657
+ ? visitNode(cbNode, node.name) || visitNode(cbNode, node.typeExpression)
31658
+ : visitNode(cbNode, node.typeExpression) || visitNode(cbNode, node.name)) ||
31659
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31660
+ }
31661
+ function forEachChildInJSDocReturnTag(node, cbNode, cbNodes) {
31662
+ return visitNode(cbNode, node.tagName) ||
31663
+ visitNode(cbNode, node.typeExpression) ||
31664
+ (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31665
+ }
31666
+ function forEachChildInJSDocLinkCodeOrPlain(node, cbNode, _cbNodes) {
31667
+ return visitNode(cbNode, node.name);
31668
+ }
31669
+ function forEachChildInJSDocTag(node, cbNode, cbNodes) {
31670
+ return visitNode(cbNode, node.tagName)
31671
+ || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31672
+ }
31673
+ function forEachChildInPartiallyEmittedExpression(node, cbNode, _cbNodes) {
31674
+ return visitNode(cbNode, node.expression);
31675
+ }
30965
31676
  /**
30966
31677
  * Invokes a callback for each child of the given node. The 'cbNode' callback is invoked for all child nodes
30967
31678
  * stored in properties. If a 'cbNodes' callback is specified, it is invoked for embedded arrays; otherwise,
@@ -30976,562 +31687,11 @@ var ts;
30976
31687
  * that they appear in the source code. The language service depends on this property to locate nodes by position.
30977
31688
  */
30978
31689
  function forEachChild(node, cbNode, cbNodes) {
30979
- if (!node || node.kind <= 160 /* LastToken */) {
31690
+ if (node === undefined || node.kind <= 160 /* LastToken */) {
30980
31691
  return;
30981
31692
  }
30982
- switch (node.kind) {
30983
- case 161 /* QualifiedName */:
30984
- return visitNode(cbNode, node.left) ||
30985
- visitNode(cbNode, node.right);
30986
- case 163 /* TypeParameter */:
30987
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
30988
- visitNode(cbNode, node.name) ||
30989
- visitNode(cbNode, node.constraint) ||
30990
- visitNode(cbNode, node.default) ||
30991
- visitNode(cbNode, node.expression);
30992
- case 297 /* ShorthandPropertyAssignment */:
30993
- return visitNodes(cbNode, cbNodes, node.decorators) ||
30994
- visitNodes(cbNode, cbNodes, node.modifiers) ||
30995
- visitNode(cbNode, node.name) ||
30996
- visitNode(cbNode, node.questionToken) ||
30997
- visitNode(cbNode, node.exclamationToken) ||
30998
- visitNode(cbNode, node.equalsToken) ||
30999
- visitNode(cbNode, node.objectAssignmentInitializer);
31000
- case 298 /* SpreadAssignment */:
31001
- return visitNode(cbNode, node.expression);
31002
- case 164 /* Parameter */:
31003
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31004
- visitNode(cbNode, node.dotDotDotToken) ||
31005
- visitNode(cbNode, node.name) ||
31006
- visitNode(cbNode, node.questionToken) ||
31007
- visitNode(cbNode, node.type) ||
31008
- visitNode(cbNode, node.initializer);
31009
- case 167 /* PropertyDeclaration */:
31010
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31011
- visitNode(cbNode, node.name) ||
31012
- visitNode(cbNode, node.questionToken) ||
31013
- visitNode(cbNode, node.exclamationToken) ||
31014
- visitNode(cbNode, node.type) ||
31015
- visitNode(cbNode, node.initializer);
31016
- case 166 /* PropertySignature */:
31017
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31018
- visitNode(cbNode, node.name) ||
31019
- visitNode(cbNode, node.questionToken) ||
31020
- visitNode(cbNode, node.type) ||
31021
- visitNode(cbNode, node.initializer);
31022
- case 296 /* PropertyAssignment */:
31023
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31024
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31025
- visitNode(cbNode, node.name) ||
31026
- visitNode(cbNode, node.questionToken) ||
31027
- visitNode(cbNode, node.exclamationToken) ||
31028
- visitNode(cbNode, node.initializer);
31029
- case 254 /* VariableDeclaration */:
31030
- return visitNode(cbNode, node.name) ||
31031
- visitNode(cbNode, node.exclamationToken) ||
31032
- visitNode(cbNode, node.type) ||
31033
- visitNode(cbNode, node.initializer);
31034
- case 203 /* BindingElement */:
31035
- return visitNode(cbNode, node.dotDotDotToken) ||
31036
- visitNode(cbNode, node.propertyName) ||
31037
- visitNode(cbNode, node.name) ||
31038
- visitNode(cbNode, node.initializer);
31039
- case 176 /* IndexSignature */:
31040
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31041
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31042
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31043
- visitNodes(cbNode, cbNodes, node.parameters) ||
31044
- visitNode(cbNode, node.type);
31045
- case 180 /* ConstructorType */:
31046
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31047
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31048
- visitNodes(cbNode, cbNodes, node.parameters) ||
31049
- visitNode(cbNode, node.type);
31050
- case 179 /* FunctionType */:
31051
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31052
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31053
- visitNodes(cbNode, cbNodes, node.parameters) ||
31054
- visitNode(cbNode, node.type);
31055
- case 174 /* CallSignature */:
31056
- case 175 /* ConstructSignature */:
31057
- return visitNodes(cbNode, cbNodes, node.typeParameters) ||
31058
- visitNodes(cbNode, cbNodes, node.parameters) ||
31059
- visitNode(cbNode, node.type);
31060
- case 169 /* MethodDeclaration */:
31061
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31062
- visitNode(cbNode, node.asteriskToken) ||
31063
- visitNode(cbNode, node.name) ||
31064
- visitNode(cbNode, node.questionToken) ||
31065
- visitNode(cbNode, node.exclamationToken) ||
31066
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31067
- visitNodes(cbNode, cbNodes, node.parameters) ||
31068
- visitNode(cbNode, node.type) ||
31069
- visitNode(cbNode, node.body);
31070
- case 168 /* MethodSignature */:
31071
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31072
- visitNode(cbNode, node.name) ||
31073
- visitNode(cbNode, node.questionToken) ||
31074
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31075
- visitNodes(cbNode, cbNodes, node.parameters) ||
31076
- visitNode(cbNode, node.type);
31077
- case 171 /* Constructor */:
31078
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31079
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31080
- visitNode(cbNode, node.name) ||
31081
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31082
- visitNodes(cbNode, cbNodes, node.parameters) ||
31083
- visitNode(cbNode, node.type) ||
31084
- visitNode(cbNode, node.body);
31085
- case 172 /* GetAccessor */:
31086
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31087
- visitNode(cbNode, node.name) ||
31088
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31089
- visitNodes(cbNode, cbNodes, node.parameters) ||
31090
- visitNode(cbNode, node.type) ||
31091
- visitNode(cbNode, node.body);
31092
- case 173 /* SetAccessor */:
31093
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31094
- visitNode(cbNode, node.name) ||
31095
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31096
- visitNodes(cbNode, cbNodes, node.parameters) ||
31097
- visitNode(cbNode, node.type) ||
31098
- visitNode(cbNode, node.body);
31099
- case 256 /* FunctionDeclaration */:
31100
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31101
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31102
- visitNode(cbNode, node.asteriskToken) ||
31103
- visitNode(cbNode, node.name) ||
31104
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31105
- visitNodes(cbNode, cbNodes, node.parameters) ||
31106
- visitNode(cbNode, node.type) ||
31107
- visitNode(cbNode, node.body);
31108
- case 213 /* FunctionExpression */:
31109
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31110
- visitNode(cbNode, node.asteriskToken) ||
31111
- visitNode(cbNode, node.name) ||
31112
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31113
- visitNodes(cbNode, cbNodes, node.parameters) ||
31114
- visitNode(cbNode, node.type) ||
31115
- visitNode(cbNode, node.body);
31116
- case 214 /* ArrowFunction */:
31117
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31118
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31119
- visitNodes(cbNode, cbNodes, node.parameters) ||
31120
- visitNode(cbNode, node.type) ||
31121
- visitNode(cbNode, node.equalsGreaterThanToken) ||
31122
- visitNode(cbNode, node.body);
31123
- case 170 /* ClassStaticBlockDeclaration */:
31124
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31125
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31126
- visitNode(cbNode, node.body);
31127
- case 178 /* TypeReference */:
31128
- return visitNode(cbNode, node.typeName) ||
31129
- visitNodes(cbNode, cbNodes, node.typeArguments);
31130
- case 177 /* TypePredicate */:
31131
- return visitNode(cbNode, node.assertsModifier) ||
31132
- visitNode(cbNode, node.parameterName) ||
31133
- visitNode(cbNode, node.type);
31134
- case 181 /* TypeQuery */:
31135
- return visitNode(cbNode, node.exprName) ||
31136
- visitNodes(cbNode, cbNodes, node.typeArguments);
31137
- case 182 /* TypeLiteral */:
31138
- return visitNodes(cbNode, cbNodes, node.members);
31139
- case 183 /* ArrayType */:
31140
- return visitNode(cbNode, node.elementType);
31141
- case 184 /* TupleType */:
31142
- return visitNodes(cbNode, cbNodes, node.elements);
31143
- case 187 /* UnionType */:
31144
- case 188 /* IntersectionType */:
31145
- return visitNodes(cbNode, cbNodes, node.types);
31146
- case 189 /* ConditionalType */:
31147
- return visitNode(cbNode, node.checkType) ||
31148
- visitNode(cbNode, node.extendsType) ||
31149
- visitNode(cbNode, node.trueType) ||
31150
- visitNode(cbNode, node.falseType);
31151
- case 190 /* InferType */:
31152
- return visitNode(cbNode, node.typeParameter);
31153
- case 200 /* ImportType */:
31154
- return visitNode(cbNode, node.argument) ||
31155
- visitNode(cbNode, node.assertions) ||
31156
- visitNode(cbNode, node.qualifier) ||
31157
- visitNodes(cbNode, cbNodes, node.typeArguments);
31158
- case 295 /* ImportTypeAssertionContainer */:
31159
- return visitNode(cbNode, node.assertClause);
31160
- case 191 /* ParenthesizedType */:
31161
- case 193 /* TypeOperator */:
31162
- return visitNode(cbNode, node.type);
31163
- case 194 /* IndexedAccessType */:
31164
- return visitNode(cbNode, node.objectType) ||
31165
- visitNode(cbNode, node.indexType);
31166
- case 195 /* MappedType */:
31167
- return visitNode(cbNode, node.readonlyToken) ||
31168
- visitNode(cbNode, node.typeParameter) ||
31169
- visitNode(cbNode, node.nameType) ||
31170
- visitNode(cbNode, node.questionToken) ||
31171
- visitNode(cbNode, node.type) ||
31172
- visitNodes(cbNode, cbNodes, node.members);
31173
- case 196 /* LiteralType */:
31174
- return visitNode(cbNode, node.literal);
31175
- case 197 /* NamedTupleMember */:
31176
- return visitNode(cbNode, node.dotDotDotToken) ||
31177
- visitNode(cbNode, node.name) ||
31178
- visitNode(cbNode, node.questionToken) ||
31179
- visitNode(cbNode, node.type);
31180
- case 201 /* ObjectBindingPattern */:
31181
- case 202 /* ArrayBindingPattern */:
31182
- return visitNodes(cbNode, cbNodes, node.elements);
31183
- case 204 /* ArrayLiteralExpression */:
31184
- return visitNodes(cbNode, cbNodes, node.elements);
31185
- case 205 /* ObjectLiteralExpression */:
31186
- return visitNodes(cbNode, cbNodes, node.properties);
31187
- case 206 /* PropertyAccessExpression */:
31188
- return visitNode(cbNode, node.expression) ||
31189
- visitNode(cbNode, node.questionDotToken) ||
31190
- visitNode(cbNode, node.name);
31191
- case 207 /* ElementAccessExpression */:
31192
- return visitNode(cbNode, node.expression) ||
31193
- visitNode(cbNode, node.questionDotToken) ||
31194
- visitNode(cbNode, node.argumentExpression);
31195
- case 208 /* CallExpression */:
31196
- case 209 /* NewExpression */:
31197
- return visitNode(cbNode, node.expression) ||
31198
- visitNode(cbNode, node.questionDotToken) ||
31199
- visitNodes(cbNode, cbNodes, node.typeArguments) ||
31200
- visitNodes(cbNode, cbNodes, node.arguments);
31201
- case 210 /* TaggedTemplateExpression */:
31202
- return visitNode(cbNode, node.tag) ||
31203
- visitNode(cbNode, node.questionDotToken) ||
31204
- visitNodes(cbNode, cbNodes, node.typeArguments) ||
31205
- visitNode(cbNode, node.template);
31206
- case 211 /* TypeAssertionExpression */:
31207
- return visitNode(cbNode, node.type) ||
31208
- visitNode(cbNode, node.expression);
31209
- case 212 /* ParenthesizedExpression */:
31210
- return visitNode(cbNode, node.expression);
31211
- case 215 /* DeleteExpression */:
31212
- return visitNode(cbNode, node.expression);
31213
- case 216 /* TypeOfExpression */:
31214
- return visitNode(cbNode, node.expression);
31215
- case 217 /* VoidExpression */:
31216
- return visitNode(cbNode, node.expression);
31217
- case 219 /* PrefixUnaryExpression */:
31218
- return visitNode(cbNode, node.operand);
31219
- case 224 /* YieldExpression */:
31220
- return visitNode(cbNode, node.asteriskToken) ||
31221
- visitNode(cbNode, node.expression);
31222
- case 218 /* AwaitExpression */:
31223
- return visitNode(cbNode, node.expression);
31224
- case 220 /* PostfixUnaryExpression */:
31225
- return visitNode(cbNode, node.operand);
31226
- case 221 /* BinaryExpression */:
31227
- return visitNode(cbNode, node.left) ||
31228
- visitNode(cbNode, node.operatorToken) ||
31229
- visitNode(cbNode, node.right);
31230
- case 229 /* AsExpression */:
31231
- return visitNode(cbNode, node.expression) ||
31232
- visitNode(cbNode, node.type);
31233
- case 230 /* NonNullExpression */:
31234
- return visitNode(cbNode, node.expression);
31235
- case 231 /* MetaProperty */:
31236
- return visitNode(cbNode, node.name);
31237
- case 222 /* ConditionalExpression */:
31238
- return visitNode(cbNode, node.condition) ||
31239
- visitNode(cbNode, node.questionToken) ||
31240
- visitNode(cbNode, node.whenTrue) ||
31241
- visitNode(cbNode, node.colonToken) ||
31242
- visitNode(cbNode, node.whenFalse);
31243
- case 225 /* SpreadElement */:
31244
- return visitNode(cbNode, node.expression);
31245
- case 235 /* Block */:
31246
- case 262 /* ModuleBlock */:
31247
- return visitNodes(cbNode, cbNodes, node.statements);
31248
- case 305 /* SourceFile */:
31249
- return visitNodes(cbNode, cbNodes, node.statements) ||
31250
- visitNode(cbNode, node.endOfFileToken);
31251
- case 237 /* VariableStatement */:
31252
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31253
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31254
- visitNode(cbNode, node.declarationList);
31255
- case 255 /* VariableDeclarationList */:
31256
- return visitNodes(cbNode, cbNodes, node.declarations);
31257
- case 238 /* ExpressionStatement */:
31258
- return visitNode(cbNode, node.expression);
31259
- case 239 /* IfStatement */:
31260
- return visitNode(cbNode, node.expression) ||
31261
- visitNode(cbNode, node.thenStatement) ||
31262
- visitNode(cbNode, node.elseStatement);
31263
- case 240 /* DoStatement */:
31264
- return visitNode(cbNode, node.statement) ||
31265
- visitNode(cbNode, node.expression);
31266
- case 241 /* WhileStatement */:
31267
- return visitNode(cbNode, node.expression) ||
31268
- visitNode(cbNode, node.statement);
31269
- case 242 /* ForStatement */:
31270
- return visitNode(cbNode, node.initializer) ||
31271
- visitNode(cbNode, node.condition) ||
31272
- visitNode(cbNode, node.incrementor) ||
31273
- visitNode(cbNode, node.statement);
31274
- case 243 /* ForInStatement */:
31275
- return visitNode(cbNode, node.initializer) ||
31276
- visitNode(cbNode, node.expression) ||
31277
- visitNode(cbNode, node.statement);
31278
- case 244 /* ForOfStatement */:
31279
- return visitNode(cbNode, node.awaitModifier) ||
31280
- visitNode(cbNode, node.initializer) ||
31281
- visitNode(cbNode, node.expression) ||
31282
- visitNode(cbNode, node.statement);
31283
- case 245 /* ContinueStatement */:
31284
- case 246 /* BreakStatement */:
31285
- return visitNode(cbNode, node.label);
31286
- case 247 /* ReturnStatement */:
31287
- return visitNode(cbNode, node.expression);
31288
- case 248 /* WithStatement */:
31289
- return visitNode(cbNode, node.expression) ||
31290
- visitNode(cbNode, node.statement);
31291
- case 249 /* SwitchStatement */:
31292
- return visitNode(cbNode, node.expression) ||
31293
- visitNode(cbNode, node.caseBlock);
31294
- case 263 /* CaseBlock */:
31295
- return visitNodes(cbNode, cbNodes, node.clauses);
31296
- case 289 /* CaseClause */:
31297
- return visitNode(cbNode, node.expression) ||
31298
- visitNodes(cbNode, cbNodes, node.statements);
31299
- case 290 /* DefaultClause */:
31300
- return visitNodes(cbNode, cbNodes, node.statements);
31301
- case 250 /* LabeledStatement */:
31302
- return visitNode(cbNode, node.label) ||
31303
- visitNode(cbNode, node.statement);
31304
- case 251 /* ThrowStatement */:
31305
- return visitNode(cbNode, node.expression);
31306
- case 252 /* TryStatement */:
31307
- return visitNode(cbNode, node.tryBlock) ||
31308
- visitNode(cbNode, node.catchClause) ||
31309
- visitNode(cbNode, node.finallyBlock);
31310
- case 292 /* CatchClause */:
31311
- return visitNode(cbNode, node.variableDeclaration) ||
31312
- visitNode(cbNode, node.block);
31313
- case 165 /* Decorator */:
31314
- return visitNode(cbNode, node.expression);
31315
- case 257 /* ClassDeclaration */:
31316
- case 226 /* ClassExpression */:
31317
- return visitNodes(cbNode, cbNodes, node.modifiers) ||
31318
- visitNode(cbNode, node.name) ||
31319
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31320
- visitNodes(cbNode, cbNodes, node.heritageClauses) ||
31321
- visitNodes(cbNode, cbNodes, node.members);
31322
- case 258 /* InterfaceDeclaration */:
31323
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31324
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31325
- visitNode(cbNode, node.name) ||
31326
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31327
- visitNodes(cbNode, cbNodes, node.heritageClauses) ||
31328
- visitNodes(cbNode, cbNodes, node.members);
31329
- case 259 /* TypeAliasDeclaration */:
31330
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31331
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31332
- visitNode(cbNode, node.name) ||
31333
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31334
- visitNode(cbNode, node.type);
31335
- case 260 /* EnumDeclaration */:
31336
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31337
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31338
- visitNode(cbNode, node.name) ||
31339
- visitNodes(cbNode, cbNodes, node.members);
31340
- case 299 /* EnumMember */:
31341
- return visitNode(cbNode, node.name) ||
31342
- visitNode(cbNode, node.initializer);
31343
- case 261 /* ModuleDeclaration */:
31344
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31345
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31346
- visitNode(cbNode, node.name) ||
31347
- visitNode(cbNode, node.body);
31348
- case 265 /* ImportEqualsDeclaration */:
31349
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31350
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31351
- visitNode(cbNode, node.name) ||
31352
- visitNode(cbNode, node.moduleReference);
31353
- case 266 /* ImportDeclaration */:
31354
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31355
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31356
- visitNode(cbNode, node.importClause) ||
31357
- visitNode(cbNode, node.moduleSpecifier) ||
31358
- visitNode(cbNode, node.assertClause);
31359
- case 267 /* ImportClause */:
31360
- return visitNode(cbNode, node.name) ||
31361
- visitNode(cbNode, node.namedBindings);
31362
- case 293 /* AssertClause */:
31363
- return visitNodes(cbNode, cbNodes, node.elements);
31364
- case 294 /* AssertEntry */:
31365
- return visitNode(cbNode, node.name) ||
31366
- visitNode(cbNode, node.value);
31367
- case 264 /* NamespaceExportDeclaration */:
31368
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31369
- visitNode(cbNode, node.name);
31370
- case 268 /* NamespaceImport */:
31371
- return visitNode(cbNode, node.name);
31372
- case 274 /* NamespaceExport */:
31373
- return visitNode(cbNode, node.name);
31374
- case 269 /* NamedImports */:
31375
- case 273 /* NamedExports */:
31376
- return visitNodes(cbNode, cbNodes, node.elements);
31377
- case 272 /* ExportDeclaration */:
31378
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31379
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31380
- visitNode(cbNode, node.exportClause) ||
31381
- visitNode(cbNode, node.moduleSpecifier) ||
31382
- visitNode(cbNode, node.assertClause);
31383
- case 270 /* ImportSpecifier */:
31384
- case 275 /* ExportSpecifier */:
31385
- return visitNode(cbNode, node.propertyName) ||
31386
- visitNode(cbNode, node.name);
31387
- case 271 /* ExportAssignment */:
31388
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31389
- visitNodes(cbNode, cbNodes, node.modifiers) ||
31390
- visitNode(cbNode, node.expression);
31391
- case 223 /* TemplateExpression */:
31392
- return visitNode(cbNode, node.head) ||
31393
- visitNodes(cbNode, cbNodes, node.templateSpans);
31394
- case 233 /* TemplateSpan */:
31395
- return visitNode(cbNode, node.expression) ||
31396
- visitNode(cbNode, node.literal);
31397
- case 198 /* TemplateLiteralType */:
31398
- return visitNode(cbNode, node.head) ||
31399
- visitNodes(cbNode, cbNodes, node.templateSpans);
31400
- case 199 /* TemplateLiteralTypeSpan */:
31401
- return visitNode(cbNode, node.type) ||
31402
- visitNode(cbNode, node.literal);
31403
- case 162 /* ComputedPropertyName */:
31404
- return visitNode(cbNode, node.expression);
31405
- case 291 /* HeritageClause */:
31406
- return visitNodes(cbNode, cbNodes, node.types);
31407
- case 228 /* ExpressionWithTypeArguments */:
31408
- return visitNode(cbNode, node.expression) ||
31409
- visitNodes(cbNode, cbNodes, node.typeArguments);
31410
- case 277 /* ExternalModuleReference */:
31411
- return visitNode(cbNode, node.expression);
31412
- case 276 /* MissingDeclaration */:
31413
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31414
- visitNodes(cbNode, cbNodes, node.modifiers);
31415
- case 351 /* CommaListExpression */:
31416
- return visitNodes(cbNode, cbNodes, node.elements);
31417
- case 278 /* JsxElement */:
31418
- return visitNode(cbNode, node.openingElement) ||
31419
- visitNodes(cbNode, cbNodes, node.children) ||
31420
- visitNode(cbNode, node.closingElement);
31421
- case 282 /* JsxFragment */:
31422
- return visitNode(cbNode, node.openingFragment) ||
31423
- visitNodes(cbNode, cbNodes, node.children) ||
31424
- visitNode(cbNode, node.closingFragment);
31425
- case 279 /* JsxSelfClosingElement */:
31426
- case 280 /* JsxOpeningElement */:
31427
- return visitNode(cbNode, node.tagName) ||
31428
- visitNodes(cbNode, cbNodes, node.typeArguments) ||
31429
- visitNode(cbNode, node.attributes);
31430
- case 286 /* JsxAttributes */:
31431
- return visitNodes(cbNode, cbNodes, node.properties);
31432
- case 285 /* JsxAttribute */:
31433
- return visitNode(cbNode, node.name) ||
31434
- visitNode(cbNode, node.initializer);
31435
- case 287 /* JsxSpreadAttribute */:
31436
- return visitNode(cbNode, node.expression);
31437
- case 288 /* JsxExpression */:
31438
- return visitNode(cbNode, node.dotDotDotToken) ||
31439
- visitNode(cbNode, node.expression);
31440
- case 281 /* JsxClosingElement */:
31441
- return visitNode(cbNode, node.tagName);
31442
- case 185 /* OptionalType */:
31443
- case 186 /* RestType */:
31444
- case 309 /* JSDocTypeExpression */:
31445
- case 315 /* JSDocNonNullableType */:
31446
- case 314 /* JSDocNullableType */:
31447
- case 316 /* JSDocOptionalType */:
31448
- case 318 /* JSDocVariadicType */:
31449
- return visitNode(cbNode, node.type);
31450
- case 317 /* JSDocFunctionType */:
31451
- return visitNodes(cbNode, cbNodes, node.parameters) ||
31452
- visitNode(cbNode, node.type);
31453
- case 320 /* JSDoc */:
31454
- return (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))
31455
- || visitNodes(cbNode, cbNodes, node.tags);
31456
- case 346 /* JSDocSeeTag */:
31457
- return visitNode(cbNode, node.tagName) ||
31458
- visitNode(cbNode, node.name) ||
31459
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31460
- case 310 /* JSDocNameReference */:
31461
- return visitNode(cbNode, node.name);
31462
- case 311 /* JSDocMemberName */:
31463
- return visitNode(cbNode, node.left) ||
31464
- visitNode(cbNode, node.right);
31465
- case 340 /* JSDocParameterTag */:
31466
- case 347 /* JSDocPropertyTag */:
31467
- return visitNode(cbNode, node.tagName) ||
31468
- (node.isNameFirst
31469
- ? visitNode(cbNode, node.name) ||
31470
- visitNode(cbNode, node.typeExpression) ||
31471
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))
31472
- : visitNode(cbNode, node.typeExpression) ||
31473
- visitNode(cbNode, node.name) ||
31474
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)));
31475
- case 330 /* JSDocAuthorTag */:
31476
- return visitNode(cbNode, node.tagName) ||
31477
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31478
- case 329 /* JSDocImplementsTag */:
31479
- return visitNode(cbNode, node.tagName) ||
31480
- visitNode(cbNode, node.class) ||
31481
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31482
- case 328 /* JSDocAugmentsTag */:
31483
- return visitNode(cbNode, node.tagName) ||
31484
- visitNode(cbNode, node.class) ||
31485
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31486
- case 344 /* JSDocTemplateTag */:
31487
- return visitNode(cbNode, node.tagName) ||
31488
- visitNode(cbNode, node.constraint) ||
31489
- visitNodes(cbNode, cbNodes, node.typeParameters) ||
31490
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31491
- case 345 /* JSDocTypedefTag */:
31492
- return visitNode(cbNode, node.tagName) ||
31493
- (node.typeExpression &&
31494
- node.typeExpression.kind === 309 /* JSDocTypeExpression */
31495
- ? visitNode(cbNode, node.typeExpression) ||
31496
- visitNode(cbNode, node.fullName) ||
31497
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))
31498
- : visitNode(cbNode, node.fullName) ||
31499
- visitNode(cbNode, node.typeExpression) ||
31500
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)));
31501
- case 338 /* JSDocCallbackTag */:
31502
- return visitNode(cbNode, node.tagName) ||
31503
- visitNode(cbNode, node.fullName) ||
31504
- visitNode(cbNode, node.typeExpression) ||
31505
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31506
- case 341 /* JSDocReturnTag */:
31507
- case 343 /* JSDocTypeTag */:
31508
- case 342 /* JSDocThisTag */:
31509
- case 339 /* JSDocEnumTag */:
31510
- return visitNode(cbNode, node.tagName) ||
31511
- visitNode(cbNode, node.typeExpression) ||
31512
- (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31513
- case 323 /* JSDocSignature */:
31514
- return ts.forEach(node.typeParameters, cbNode) ||
31515
- ts.forEach(node.parameters, cbNode) ||
31516
- visitNode(cbNode, node.type);
31517
- case 324 /* JSDocLink */:
31518
- case 325 /* JSDocLinkCode */:
31519
- case 326 /* JSDocLinkPlain */:
31520
- return visitNode(cbNode, node.name);
31521
- case 322 /* JSDocTypeLiteral */:
31522
- return ts.forEach(node.jsDocPropertyTags, cbNode);
31523
- case 327 /* JSDocTag */:
31524
- case 332 /* JSDocClassTag */:
31525
- case 333 /* JSDocPublicTag */:
31526
- case 334 /* JSDocPrivateTag */:
31527
- case 335 /* JSDocProtectedTag */:
31528
- case 336 /* JSDocReadonlyTag */:
31529
- case 331 /* JSDocDeprecatedTag */:
31530
- return visitNode(cbNode, node.tagName)
31531
- || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31532
- case 350 /* PartiallyEmittedExpression */:
31533
- return visitNode(cbNode, node.expression);
31534
- }
31693
+ var fn = forEachChildTable[node.kind];
31694
+ return fn === undefined ? undefined : fn(node, cbNode, cbNodes);
31535
31695
  }
31536
31696
  ts.forEachChild = forEachChild;
31537
31697
  /** @internal */
@@ -33961,7 +34121,7 @@ var ts;
33961
34121
  var type = parseTypeAnnotation();
33962
34122
  parseTypeMemberSemicolon();
33963
34123
  var node = factory.createIndexSignature(modifiers, parameters, type);
33964
- node.decorators = decorators;
34124
+ node.illegalDecorators = decorators;
33965
34125
  return withJSDoc(finishNode(node, pos), hasJSDoc);
33966
34126
  }
33967
34127
  function parsePropertyOrMethodSignature(pos, hasJSDoc, modifiers) {
@@ -36121,7 +36281,7 @@ var ts;
36121
36281
  node = factory.createPropertyAssignment(name, initializer);
36122
36282
  }
36123
36283
  // Decorators, Modifiers, questionToken, and exclamationToken are not supported by property assignments and are reported in the grammar checker
36124
- node.decorators = decorators;
36284
+ node.illegalDecorators = decorators;
36125
36285
  node.modifiers = modifiers;
36126
36286
  node.questionToken = questionToken;
36127
36287
  node.exclamationToken = exclamationToken;
@@ -36769,7 +36929,7 @@ var ts;
36769
36929
  // would follow. For recovery and error reporting purposes, return an incomplete declaration.
36770
36930
  var missing = createMissingNode(276 /* MissingDeclaration */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.Declaration_expected);
36771
36931
  ts.setTextRangePos(missing, pos);
36772
- missing.decorators = decorators;
36932
+ missing.illegalDecorators = decorators;
36773
36933
  missing.modifiers = modifiers;
36774
36934
  return missing;
36775
36935
  }
@@ -36912,7 +37072,7 @@ var ts;
36912
37072
  parseSemicolon();
36913
37073
  var node = factory.createVariableStatement(modifiers, declarationList);
36914
37074
  // Decorators are not allowed on a variable statement, so we keep track of them to report them in the grammar checker.
36915
- node.decorators = decorators;
37075
+ node.illegalDecorators = decorators;
36916
37076
  return withJSDoc(finishNode(node, pos), hasJSDoc);
36917
37077
  }
36918
37078
  function parseFunctionDeclaration(pos, hasJSDoc, decorators, modifiers) {
@@ -36932,7 +37092,7 @@ var ts;
36932
37092
  var body = parseFunctionBlockOrSemicolon(isGenerator | isAsync, ts.Diagnostics.or_expected);
36933
37093
  setAwaitContext(savedAwaitContext);
36934
37094
  var node = factory.createFunctionDeclaration(modifiers, asteriskToken, name, typeParameters, parameters, type, body);
36935
- node.decorators = decorators;
37095
+ node.illegalDecorators = decorators;
36936
37096
  return withJSDoc(finishNode(node, pos), hasJSDoc);
36937
37097
  }
36938
37098
  function parseConstructorName() {
@@ -36955,7 +37115,7 @@ var ts;
36955
37115
  var body = parseFunctionBlockOrSemicolon(0 /* None */, ts.Diagnostics.or_expected);
36956
37116
  var node = factory.createConstructorDeclaration(modifiers, parameters, body);
36957
37117
  // Attach invalid nodes if they exist so that we can report them in the grammar checker.
36958
- node.decorators = decorators;
37118
+ node.illegalDecorators = decorators;
36959
37119
  node.typeParameters = typeParameters;
36960
37120
  node.type = type;
36961
37121
  return withJSDoc(finishNode(node, pos), hasJSDoc);
@@ -37071,7 +37231,7 @@ var ts;
37071
37231
  parseExpectedToken(124 /* StaticKeyword */);
37072
37232
  var body = parseClassStaticBlockBody();
37073
37233
  var node = withJSDoc(finishNode(factory.createClassStaticBlockDeclaration(body), pos), hasJSDoc);
37074
- node.decorators = decorators;
37234
+ node.illegalDecorators = decorators;
37075
37235
  node.modifiers = modifiers;
37076
37236
  return node;
37077
37237
  }
@@ -37312,7 +37472,7 @@ var ts;
37312
37472
  var heritageClauses = parseHeritageClauses();
37313
37473
  var members = parseObjectTypeMembers();
37314
37474
  var node = factory.createInterfaceDeclaration(modifiers, name, typeParameters, heritageClauses, members);
37315
- node.decorators = decorators;
37475
+ node.illegalDecorators = decorators;
37316
37476
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37317
37477
  }
37318
37478
  function parseTypeAliasDeclaration(pos, hasJSDoc, decorators, modifiers) {
@@ -37323,7 +37483,7 @@ var ts;
37323
37483
  var type = token() === 138 /* IntrinsicKeyword */ && tryParse(parseKeywordAndNoDot) || parseType();
37324
37484
  parseSemicolon();
37325
37485
  var node = factory.createTypeAliasDeclaration(modifiers, name, typeParameters, type);
37326
- node.decorators = decorators;
37486
+ node.illegalDecorators = decorators;
37327
37487
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37328
37488
  }
37329
37489
  // In an ambient declaration, the grammar only allows integer literals as initializers.
@@ -37349,7 +37509,7 @@ var ts;
37349
37509
  members = createMissingList();
37350
37510
  }
37351
37511
  var node = factory.createEnumDeclaration(modifiers, name, members);
37352
- node.decorators = decorators;
37512
+ node.illegalDecorators = decorators;
37353
37513
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37354
37514
  }
37355
37515
  function parseModuleBlock() {
@@ -37373,7 +37533,7 @@ var ts;
37373
37533
  ? parseModuleOrNamespaceDeclaration(getNodePos(), /*hasJSDoc*/ false, /*decorators*/ undefined, /*modifiers*/ undefined, 4 /* NestedNamespace */ | namespaceFlag)
37374
37534
  : parseModuleBlock();
37375
37535
  var node = factory.createModuleDeclaration(modifiers, name, body, flags);
37376
- node.decorators = decorators;
37536
+ node.illegalDecorators = decorators;
37377
37537
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37378
37538
  }
37379
37539
  function parseAmbientExternalModuleDeclaration(pos, hasJSDoc, decorators, modifiers) {
@@ -37396,7 +37556,7 @@ var ts;
37396
37556
  parseSemicolon();
37397
37557
  }
37398
37558
  var node = factory.createModuleDeclaration(modifiers, name, body, flags);
37399
- node.decorators = decorators;
37559
+ node.illegalDecorators = decorators;
37400
37560
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37401
37561
  }
37402
37562
  function parseModuleDeclaration(pos, hasJSDoc, decorators, modifiers) {
@@ -37436,7 +37596,7 @@ var ts;
37436
37596
  parseSemicolon();
37437
37597
  var node = factory.createNamespaceExportDeclaration(name);
37438
37598
  // NamespaceExportDeclaration nodes cannot have decorators or modifiers, so we attach them here so we can report them in the grammar checker
37439
- node.decorators = decorators;
37599
+ node.illegalDecorators = decorators;
37440
37600
  node.modifiers = modifiers;
37441
37601
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37442
37602
  }
@@ -37476,7 +37636,7 @@ var ts;
37476
37636
  }
37477
37637
  parseSemicolon();
37478
37638
  var node = factory.createImportDeclaration(modifiers, importClause, moduleSpecifier, assertClause);
37479
- node.decorators = decorators;
37639
+ node.illegalDecorators = decorators;
37480
37640
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37481
37641
  }
37482
37642
  function parseAssertEntry() {
@@ -37521,7 +37681,7 @@ var ts;
37521
37681
  var moduleReference = parseModuleReference();
37522
37682
  parseSemicolon();
37523
37683
  var node = factory.createImportEqualsDeclaration(modifiers, isTypeOnly, identifier, moduleReference);
37524
- node.decorators = decorators;
37684
+ node.illegalDecorators = decorators;
37525
37685
  var finished = withJSDoc(finishNode(node, pos), hasJSDoc);
37526
37686
  return finished;
37527
37687
  }
@@ -37711,7 +37871,7 @@ var ts;
37711
37871
  parseSemicolon();
37712
37872
  setAwaitContext(savedAwaitContext);
37713
37873
  var node = factory.createExportDeclaration(modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause);
37714
- node.decorators = decorators;
37874
+ node.illegalDecorators = decorators;
37715
37875
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37716
37876
  }
37717
37877
  function parseExportAssignment(pos, hasJSDoc, decorators, modifiers) {
@@ -37728,7 +37888,7 @@ var ts;
37728
37888
  parseSemicolon();
37729
37889
  setAwaitContext(savedAwaitContext);
37730
37890
  var node = factory.createExportAssignment(modifiers, isExportEquals, expression);
37731
- node.decorators = decorators;
37891
+ node.illegalDecorators = decorators;
37732
37892
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37733
37893
  }
37734
37894
  var ParsingContext;
@@ -51026,41 +51186,61 @@ var ts;
51026
51186
  return typeof file.externalModuleIndicator !== "object" && !resolveExportByName(moduleSymbol, ts.escapeLeadingUnderscores("__esModule"), /*sourceNode*/ undefined, dontResolveAlias);
51027
51187
  }
51028
51188
  function getTargetOfImportClause(node, dontResolveAlias) {
51029
- var _a;
51030
51189
  var moduleSymbol = resolveExternalModuleName(node, node.parent.moduleSpecifier);
51031
51190
  if (moduleSymbol) {
51032
- var exportDefaultSymbol = void 0;
51033
- if (ts.isShorthandAmbientModuleSymbol(moduleSymbol)) {
51034
- exportDefaultSymbol = moduleSymbol;
51035
- }
51036
- else {
51037
- exportDefaultSymbol = resolveExportByName(moduleSymbol, "default" /* Default */, node, dontResolveAlias);
51038
- }
51039
- var file = (_a = moduleSymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.isSourceFile);
51040
- var hasDefaultOnly = isOnlyImportedAsDefault(node.parent.moduleSpecifier);
51041
- var hasSyntheticDefault = canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias, node.parent.moduleSpecifier);
51042
- if (!exportDefaultSymbol && !hasSyntheticDefault && !hasDefaultOnly) {
51043
- if (hasExportAssignmentSymbol(moduleSymbol)) {
51044
- var compilerOptionName = moduleKind >= ts.ModuleKind.ES2015 ? "allowSyntheticDefaultImports" : "esModuleInterop";
51045
- var exportEqualsSymbol = moduleSymbol.exports.get("export=" /* ExportEquals */);
51046
- var exportAssignment = exportEqualsSymbol.valueDeclaration;
51047
- var err = error(node.name, ts.Diagnostics.Module_0_can_only_be_default_imported_using_the_1_flag, symbolToString(moduleSymbol), compilerOptionName);
51048
- if (exportAssignment) {
51049
- 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));
51050
- }
51051
- }
51052
- else {
51053
- reportNonDefaultExport(moduleSymbol, node);
51191
+ return getTargetofModuleDefault(moduleSymbol, node, dontResolveAlias);
51192
+ }
51193
+ }
51194
+ function getTargetofModuleDefault(moduleSymbol, node, dontResolveAlias) {
51195
+ var _a;
51196
+ var exportDefaultSymbol;
51197
+ if (ts.isShorthandAmbientModuleSymbol(moduleSymbol)) {
51198
+ exportDefaultSymbol = moduleSymbol;
51199
+ }
51200
+ else {
51201
+ exportDefaultSymbol = resolveExportByName(moduleSymbol, "default" /* Default */, node, dontResolveAlias);
51202
+ }
51203
+ var file = (_a = moduleSymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.isSourceFile);
51204
+ var specifier = getModuleSpecifierForImportOrExport(node);
51205
+ if (!specifier) {
51206
+ return exportDefaultSymbol;
51207
+ }
51208
+ var hasDefaultOnly = isOnlyImportedAsDefault(specifier);
51209
+ var hasSyntheticDefault = canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias, specifier);
51210
+ if (!exportDefaultSymbol && !hasSyntheticDefault && !hasDefaultOnly) {
51211
+ if (hasExportAssignmentSymbol(moduleSymbol)) {
51212
+ var compilerOptionName = moduleKind >= ts.ModuleKind.ES2015 ? "allowSyntheticDefaultImports" : "esModuleInterop";
51213
+ var exportEqualsSymbol = moduleSymbol.exports.get("export=" /* ExportEquals */);
51214
+ var exportAssignment = exportEqualsSymbol.valueDeclaration;
51215
+ var err = error(node.name, ts.Diagnostics.Module_0_can_only_be_default_imported_using_the_1_flag, symbolToString(moduleSymbol), compilerOptionName);
51216
+ if (exportAssignment) {
51217
+ 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));
51054
51218
  }
51055
51219
  }
51056
- else if (hasSyntheticDefault || hasDefaultOnly) {
51057
- // per emit behavior, a synthetic default overrides a "real" .default member if `__esModule` is not present
51058
- var resolved = resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias) || resolveSymbol(moduleSymbol, dontResolveAlias);
51059
- markSymbolOfAliasDeclarationIfTypeOnly(node, moduleSymbol, resolved, /*overwriteTypeOnly*/ false);
51060
- return resolved;
51220
+ else if (ts.isImportClause(node)) {
51221
+ reportNonDefaultExport(moduleSymbol, node);
51061
51222
  }
51062
- markSymbolOfAliasDeclarationIfTypeOnly(node, exportDefaultSymbol, /*finalTarget*/ undefined, /*overwriteTypeOnly*/ false);
51063
- return exportDefaultSymbol;
51223
+ else {
51224
+ errorNoModuleMemberSymbol(moduleSymbol, moduleSymbol, node, ts.isImportOrExportSpecifier(node) && node.propertyName || node.name);
51225
+ }
51226
+ }
51227
+ else if (hasSyntheticDefault || hasDefaultOnly) {
51228
+ // per emit behavior, a synthetic default overrides a "real" .default member if `__esModule` is not present
51229
+ var resolved = resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias) || resolveSymbol(moduleSymbol, dontResolveAlias);
51230
+ markSymbolOfAliasDeclarationIfTypeOnly(node, moduleSymbol, resolved, /*overwriteTypeOnly*/ false);
51231
+ return resolved;
51232
+ }
51233
+ markSymbolOfAliasDeclarationIfTypeOnly(node, exportDefaultSymbol, /*finalTarget*/ undefined, /*overwriteTypeOnly*/ false);
51234
+ return exportDefaultSymbol;
51235
+ }
51236
+ function getModuleSpecifierForImportOrExport(node) {
51237
+ switch (node.kind) {
51238
+ case 267 /* ImportClause */: return node.parent.moduleSpecifier;
51239
+ case 265 /* ImportEqualsDeclaration */: return ts.isExternalModuleReference(node.moduleReference) ? node.moduleReference.expression : undefined;
51240
+ case 268 /* NamespaceImport */: return node.parent.parent.moduleSpecifier;
51241
+ case 270 /* ImportSpecifier */: return node.parent.parent.parent.moduleSpecifier;
51242
+ case 275 /* ExportSpecifier */: return node.parent.parent.moduleSpecifier;
51243
+ default: return ts.Debug.assertNever(node);
51064
51244
  }
51065
51245
  }
51066
51246
  function reportNonDefaultExport(moduleSymbol, node) {
@@ -51150,7 +51330,7 @@ var ts;
51150
51330
  }
51151
51331
  }
51152
51332
  function getExternalModuleMember(node, specifier, dontResolveAlias) {
51153
- var _a, _b;
51333
+ var _a;
51154
51334
  if (dontResolveAlias === void 0) { dontResolveAlias = false; }
51155
51335
  var moduleSpecifier = ts.getExternalModuleRequireArgument(node) || node.moduleSpecifier;
51156
51336
  var moduleSymbol = resolveExternalModuleName(node, moduleSpecifier); // TODO: GH#18217
@@ -51186,29 +51366,33 @@ var ts;
51186
51366
  combineValueAndTypeSymbols(symbolFromVariable, symbolFromModule) :
51187
51367
  symbolFromModule || symbolFromVariable;
51188
51368
  if (!symbol) {
51189
- var moduleName = getFullyQualifiedName(moduleSymbol, node);
51190
- var declarationName = ts.declarationNameToString(name);
51191
- var suggestion = getSuggestedSymbolForNonexistentModule(name, targetSymbol);
51192
- if (suggestion !== undefined) {
51193
- var suggestionName = symbolToString(suggestion);
51194
- var diagnostic = error(name, ts.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2, moduleName, declarationName, suggestionName);
51195
- if (suggestion.valueDeclaration) {
51196
- ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(suggestion.valueDeclaration, ts.Diagnostics._0_is_declared_here, suggestionName));
51197
- }
51198
- }
51199
- else {
51200
- if ((_b = moduleSymbol.exports) === null || _b === void 0 ? void 0 : _b.has("default" /* Default */)) {
51201
- error(name, ts.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead, moduleName, declarationName);
51202
- }
51203
- else {
51204
- reportNonExportedMember(node, name, declarationName, moduleSymbol, moduleName);
51205
- }
51206
- }
51369
+ errorNoModuleMemberSymbol(moduleSymbol, targetSymbol, node, name);
51207
51370
  }
51208
51371
  return symbol;
51209
51372
  }
51210
51373
  }
51211
51374
  }
51375
+ function errorNoModuleMemberSymbol(moduleSymbol, targetSymbol, node, name) {
51376
+ var _a;
51377
+ var moduleName = getFullyQualifiedName(moduleSymbol, node);
51378
+ var declarationName = ts.declarationNameToString(name);
51379
+ var suggestion = getSuggestedSymbolForNonexistentModule(name, targetSymbol);
51380
+ if (suggestion !== undefined) {
51381
+ var suggestionName = symbolToString(suggestion);
51382
+ var diagnostic = error(name, ts.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2, moduleName, declarationName, suggestionName);
51383
+ if (suggestion.valueDeclaration) {
51384
+ ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(suggestion.valueDeclaration, ts.Diagnostics._0_is_declared_here, suggestionName));
51385
+ }
51386
+ }
51387
+ else {
51388
+ if ((_a = moduleSymbol.exports) === null || _a === void 0 ? void 0 : _a.has("default" /* Default */)) {
51389
+ error(name, ts.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead, moduleName, declarationName);
51390
+ }
51391
+ else {
51392
+ reportNonExportedMember(node, name, declarationName, moduleSymbol, moduleName);
51393
+ }
51394
+ }
51395
+ }
51212
51396
  function reportNonExportedMember(node, name, declarationName, moduleSymbol, moduleName) {
51213
51397
  var _a, _b;
51214
51398
  var localSymbol = (_b = (_a = moduleSymbol.valueDeclaration) === null || _a === void 0 ? void 0 : _a.locals) === null || _b === void 0 ? void 0 : _b.get(name.escapedText);
@@ -51254,6 +51438,13 @@ var ts;
51254
51438
  }
51255
51439
  }
51256
51440
  function getTargetOfImportSpecifier(node, dontResolveAlias) {
51441
+ if (ts.isImportSpecifier(node) && ts.idText(node.propertyName || node.name) === "default" /* Default */) {
51442
+ var specifier = getModuleSpecifierForImportOrExport(node);
51443
+ var moduleSymbol = specifier && resolveExternalModuleName(node, specifier);
51444
+ if (moduleSymbol) {
51445
+ return getTargetofModuleDefault(moduleSymbol, node, dontResolveAlias);
51446
+ }
51447
+ }
51257
51448
  var root = ts.isBindingElement(node) ? ts.getRootDeclaration(node) : node.parent.parent.parent;
51258
51449
  var commonJSPropertyAccess = getCommonJSPropertyAccess(root);
51259
51450
  var resolved = getExternalModuleMember(root, commonJSPropertyAccess || node, dontResolveAlias);
@@ -51275,6 +51466,13 @@ var ts;
51275
51466
  return resolved;
51276
51467
  }
51277
51468
  function getTargetOfExportSpecifier(node, meaning, dontResolveAlias) {
51469
+ if (ts.idText(node.propertyName || node.name) === "default" /* Default */) {
51470
+ var specifier = getModuleSpecifierForImportOrExport(node);
51471
+ var moduleSymbol = specifier && resolveExternalModuleName(node, specifier);
51472
+ if (moduleSymbol) {
51473
+ return getTargetofModuleDefault(moduleSymbol, node, !!dontResolveAlias);
51474
+ }
51475
+ }
51278
51476
  var resolved = node.parent.parent.moduleSpecifier ?
51279
51477
  getExternalModuleMember(node.parent.parent, node, dontResolveAlias) :
51280
51478
  resolveEntityName(node.propertyName || node.name, meaning, /*ignoreErrors*/ false, dontResolveAlias);
@@ -55723,7 +55921,7 @@ var ts;
55723
55921
  // This is an else/if as accessors and properties can't merge in TS, but might in JS
55724
55922
  // If this happens, we assume the accessor takes priority, as it imposes more constraints
55725
55923
  else if (p.flags & (4 /* Property */ | 3 /* Variable */ | 98304 /* Accessor */)) {
55726
- 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),
55924
+ 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),
55727
55925
  // TODO: https://github.com/microsoft/TypeScript/pull/32372#discussion_r328386357
55728
55926
  // interface members can't have initializers, however class members _can_
55729
55927
  /*initializer*/ undefined), ((_d = p.declarations) === null || _d === void 0 ? void 0 : _d.find(ts.or(ts.isPropertyDeclaration, ts.isVariableDeclaration))) || firstPropertyLikeDecl);
@@ -88747,7 +88945,7 @@ var ts;
88747
88945
  return checkGrammarDecorators(node) || checkGrammarModifiers(node);
88748
88946
  }
88749
88947
  function checkGrammarDecorators(node) {
88750
- if (ts.canHaveIllegalDecorators(node) && ts.some(node.decorators)) {
88948
+ if (ts.canHaveIllegalDecorators(node) && ts.some(node.illegalDecorators)) {
88751
88949
  return grammarErrorOnFirstToken(node, ts.Diagnostics.Decorators_are_not_valid_here);
88752
88950
  }
88753
88951
  if (!ts.canHaveDecorators(node) || !ts.hasDecorators(node)) {