typescript 4.9.0-dev.20220819 → 4.9.0-dev.20220820

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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.20220820";
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;
@@ -30990,7 +30991,7 @@ var ts;
30990
30991
  visitNode(cbNode, node.default) ||
30991
30992
  visitNode(cbNode, node.expression);
30992
30993
  case 297 /* ShorthandPropertyAssignment */:
30993
- return visitNodes(cbNode, cbNodes, node.decorators) ||
30994
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
30994
30995
  visitNodes(cbNode, cbNodes, node.modifiers) ||
30995
30996
  visitNode(cbNode, node.name) ||
30996
30997
  visitNode(cbNode, node.questionToken) ||
@@ -31020,7 +31021,7 @@ var ts;
31020
31021
  visitNode(cbNode, node.type) ||
31021
31022
  visitNode(cbNode, node.initializer);
31022
31023
  case 296 /* PropertyAssignment */:
31023
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31024
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31024
31025
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31025
31026
  visitNode(cbNode, node.name) ||
31026
31027
  visitNode(cbNode, node.questionToken) ||
@@ -31037,7 +31038,7 @@ var ts;
31037
31038
  visitNode(cbNode, node.name) ||
31038
31039
  visitNode(cbNode, node.initializer);
31039
31040
  case 176 /* IndexSignature */:
31040
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31041
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31041
31042
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31042
31043
  visitNodes(cbNode, cbNodes, node.typeParameters) ||
31043
31044
  visitNodes(cbNode, cbNodes, node.parameters) ||
@@ -31075,7 +31076,7 @@ var ts;
31075
31076
  visitNodes(cbNode, cbNodes, node.parameters) ||
31076
31077
  visitNode(cbNode, node.type);
31077
31078
  case 171 /* Constructor */:
31078
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31079
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31079
31080
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31080
31081
  visitNode(cbNode, node.name) ||
31081
31082
  visitNodes(cbNode, cbNodes, node.typeParameters) ||
@@ -31097,7 +31098,7 @@ var ts;
31097
31098
  visitNode(cbNode, node.type) ||
31098
31099
  visitNode(cbNode, node.body);
31099
31100
  case 256 /* FunctionDeclaration */:
31100
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31101
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31101
31102
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31102
31103
  visitNode(cbNode, node.asteriskToken) ||
31103
31104
  visitNode(cbNode, node.name) ||
@@ -31121,7 +31122,7 @@ var ts;
31121
31122
  visitNode(cbNode, node.equalsGreaterThanToken) ||
31122
31123
  visitNode(cbNode, node.body);
31123
31124
  case 170 /* ClassStaticBlockDeclaration */:
31124
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31125
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31125
31126
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31126
31127
  visitNode(cbNode, node.body);
31127
31128
  case 178 /* TypeReference */:
@@ -31249,7 +31250,7 @@ var ts;
31249
31250
  return visitNodes(cbNode, cbNodes, node.statements) ||
31250
31251
  visitNode(cbNode, node.endOfFileToken);
31251
31252
  case 237 /* VariableStatement */:
31252
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31253
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31253
31254
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31254
31255
  visitNode(cbNode, node.declarationList);
31255
31256
  case 255 /* VariableDeclarationList */:
@@ -31320,20 +31321,20 @@ var ts;
31320
31321
  visitNodes(cbNode, cbNodes, node.heritageClauses) ||
31321
31322
  visitNodes(cbNode, cbNodes, node.members);
31322
31323
  case 258 /* InterfaceDeclaration */:
31323
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31324
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31324
31325
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31325
31326
  visitNode(cbNode, node.name) ||
31326
31327
  visitNodes(cbNode, cbNodes, node.typeParameters) ||
31327
31328
  visitNodes(cbNode, cbNodes, node.heritageClauses) ||
31328
31329
  visitNodes(cbNode, cbNodes, node.members);
31329
31330
  case 259 /* TypeAliasDeclaration */:
31330
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31331
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31331
31332
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31332
31333
  visitNode(cbNode, node.name) ||
31333
31334
  visitNodes(cbNode, cbNodes, node.typeParameters) ||
31334
31335
  visitNode(cbNode, node.type);
31335
31336
  case 260 /* EnumDeclaration */:
31336
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31337
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31337
31338
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31338
31339
  visitNode(cbNode, node.name) ||
31339
31340
  visitNodes(cbNode, cbNodes, node.members);
@@ -31341,17 +31342,17 @@ var ts;
31341
31342
  return visitNode(cbNode, node.name) ||
31342
31343
  visitNode(cbNode, node.initializer);
31343
31344
  case 261 /* ModuleDeclaration */:
31344
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31345
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31345
31346
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31346
31347
  visitNode(cbNode, node.name) ||
31347
31348
  visitNode(cbNode, node.body);
31348
31349
  case 265 /* ImportEqualsDeclaration */:
31349
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31350
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31350
31351
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31351
31352
  visitNode(cbNode, node.name) ||
31352
31353
  visitNode(cbNode, node.moduleReference);
31353
31354
  case 266 /* ImportDeclaration */:
31354
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31355
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31355
31356
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31356
31357
  visitNode(cbNode, node.importClause) ||
31357
31358
  visitNode(cbNode, node.moduleSpecifier) ||
@@ -31365,7 +31366,7 @@ var ts;
31365
31366
  return visitNode(cbNode, node.name) ||
31366
31367
  visitNode(cbNode, node.value);
31367
31368
  case 264 /* NamespaceExportDeclaration */:
31368
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31369
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31369
31370
  visitNode(cbNode, node.name);
31370
31371
  case 268 /* NamespaceImport */:
31371
31372
  return visitNode(cbNode, node.name);
@@ -31375,7 +31376,7 @@ var ts;
31375
31376
  case 273 /* NamedExports */:
31376
31377
  return visitNodes(cbNode, cbNodes, node.elements);
31377
31378
  case 272 /* ExportDeclaration */:
31378
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31379
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31379
31380
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31380
31381
  visitNode(cbNode, node.exportClause) ||
31381
31382
  visitNode(cbNode, node.moduleSpecifier) ||
@@ -31385,7 +31386,7 @@ var ts;
31385
31386
  return visitNode(cbNode, node.propertyName) ||
31386
31387
  visitNode(cbNode, node.name);
31387
31388
  case 271 /* ExportAssignment */:
31388
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31389
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31389
31390
  visitNodes(cbNode, cbNodes, node.modifiers) ||
31390
31391
  visitNode(cbNode, node.expression);
31391
31392
  case 223 /* TemplateExpression */:
@@ -31410,7 +31411,7 @@ var ts;
31410
31411
  case 277 /* ExternalModuleReference */:
31411
31412
  return visitNode(cbNode, node.expression);
31412
31413
  case 276 /* MissingDeclaration */:
31413
- return visitNodes(cbNode, cbNodes, node.decorators) ||
31414
+ return visitNodes(cbNode, cbNodes, node.illegalDecorators) ||
31414
31415
  visitNodes(cbNode, cbNodes, node.modifiers);
31415
31416
  case 351 /* CommaListExpression */:
31416
31417
  return visitNodes(cbNode, cbNodes, node.elements);
@@ -33961,7 +33962,7 @@ var ts;
33961
33962
  var type = parseTypeAnnotation();
33962
33963
  parseTypeMemberSemicolon();
33963
33964
  var node = factory.createIndexSignature(modifiers, parameters, type);
33964
- node.decorators = decorators;
33965
+ node.illegalDecorators = decorators;
33965
33966
  return withJSDoc(finishNode(node, pos), hasJSDoc);
33966
33967
  }
33967
33968
  function parsePropertyOrMethodSignature(pos, hasJSDoc, modifiers) {
@@ -36121,7 +36122,7 @@ var ts;
36121
36122
  node = factory.createPropertyAssignment(name, initializer);
36122
36123
  }
36123
36124
  // Decorators, Modifiers, questionToken, and exclamationToken are not supported by property assignments and are reported in the grammar checker
36124
- node.decorators = decorators;
36125
+ node.illegalDecorators = decorators;
36125
36126
  node.modifiers = modifiers;
36126
36127
  node.questionToken = questionToken;
36127
36128
  node.exclamationToken = exclamationToken;
@@ -36769,7 +36770,7 @@ var ts;
36769
36770
  // would follow. For recovery and error reporting purposes, return an incomplete declaration.
36770
36771
  var missing = createMissingNode(276 /* MissingDeclaration */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.Declaration_expected);
36771
36772
  ts.setTextRangePos(missing, pos);
36772
- missing.decorators = decorators;
36773
+ missing.illegalDecorators = decorators;
36773
36774
  missing.modifiers = modifiers;
36774
36775
  return missing;
36775
36776
  }
@@ -36912,7 +36913,7 @@ var ts;
36912
36913
  parseSemicolon();
36913
36914
  var node = factory.createVariableStatement(modifiers, declarationList);
36914
36915
  // 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;
36916
+ node.illegalDecorators = decorators;
36916
36917
  return withJSDoc(finishNode(node, pos), hasJSDoc);
36917
36918
  }
36918
36919
  function parseFunctionDeclaration(pos, hasJSDoc, decorators, modifiers) {
@@ -36932,7 +36933,7 @@ var ts;
36932
36933
  var body = parseFunctionBlockOrSemicolon(isGenerator | isAsync, ts.Diagnostics.or_expected);
36933
36934
  setAwaitContext(savedAwaitContext);
36934
36935
  var node = factory.createFunctionDeclaration(modifiers, asteriskToken, name, typeParameters, parameters, type, body);
36935
- node.decorators = decorators;
36936
+ node.illegalDecorators = decorators;
36936
36937
  return withJSDoc(finishNode(node, pos), hasJSDoc);
36937
36938
  }
36938
36939
  function parseConstructorName() {
@@ -36955,7 +36956,7 @@ var ts;
36955
36956
  var body = parseFunctionBlockOrSemicolon(0 /* None */, ts.Diagnostics.or_expected);
36956
36957
  var node = factory.createConstructorDeclaration(modifiers, parameters, body);
36957
36958
  // Attach invalid nodes if they exist so that we can report them in the grammar checker.
36958
- node.decorators = decorators;
36959
+ node.illegalDecorators = decorators;
36959
36960
  node.typeParameters = typeParameters;
36960
36961
  node.type = type;
36961
36962
  return withJSDoc(finishNode(node, pos), hasJSDoc);
@@ -37071,7 +37072,7 @@ var ts;
37071
37072
  parseExpectedToken(124 /* StaticKeyword */);
37072
37073
  var body = parseClassStaticBlockBody();
37073
37074
  var node = withJSDoc(finishNode(factory.createClassStaticBlockDeclaration(body), pos), hasJSDoc);
37074
- node.decorators = decorators;
37075
+ node.illegalDecorators = decorators;
37075
37076
  node.modifiers = modifiers;
37076
37077
  return node;
37077
37078
  }
@@ -37312,7 +37313,7 @@ var ts;
37312
37313
  var heritageClauses = parseHeritageClauses();
37313
37314
  var members = parseObjectTypeMembers();
37314
37315
  var node = factory.createInterfaceDeclaration(modifiers, name, typeParameters, heritageClauses, members);
37315
- node.decorators = decorators;
37316
+ node.illegalDecorators = decorators;
37316
37317
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37317
37318
  }
37318
37319
  function parseTypeAliasDeclaration(pos, hasJSDoc, decorators, modifiers) {
@@ -37323,7 +37324,7 @@ var ts;
37323
37324
  var type = token() === 138 /* IntrinsicKeyword */ && tryParse(parseKeywordAndNoDot) || parseType();
37324
37325
  parseSemicolon();
37325
37326
  var node = factory.createTypeAliasDeclaration(modifiers, name, typeParameters, type);
37326
- node.decorators = decorators;
37327
+ node.illegalDecorators = decorators;
37327
37328
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37328
37329
  }
37329
37330
  // In an ambient declaration, the grammar only allows integer literals as initializers.
@@ -37349,7 +37350,7 @@ var ts;
37349
37350
  members = createMissingList();
37350
37351
  }
37351
37352
  var node = factory.createEnumDeclaration(modifiers, name, members);
37352
- node.decorators = decorators;
37353
+ node.illegalDecorators = decorators;
37353
37354
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37354
37355
  }
37355
37356
  function parseModuleBlock() {
@@ -37373,7 +37374,7 @@ var ts;
37373
37374
  ? parseModuleOrNamespaceDeclaration(getNodePos(), /*hasJSDoc*/ false, /*decorators*/ undefined, /*modifiers*/ undefined, 4 /* NestedNamespace */ | namespaceFlag)
37374
37375
  : parseModuleBlock();
37375
37376
  var node = factory.createModuleDeclaration(modifiers, name, body, flags);
37376
- node.decorators = decorators;
37377
+ node.illegalDecorators = decorators;
37377
37378
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37378
37379
  }
37379
37380
  function parseAmbientExternalModuleDeclaration(pos, hasJSDoc, decorators, modifiers) {
@@ -37396,7 +37397,7 @@ var ts;
37396
37397
  parseSemicolon();
37397
37398
  }
37398
37399
  var node = factory.createModuleDeclaration(modifiers, name, body, flags);
37399
- node.decorators = decorators;
37400
+ node.illegalDecorators = decorators;
37400
37401
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37401
37402
  }
37402
37403
  function parseModuleDeclaration(pos, hasJSDoc, decorators, modifiers) {
@@ -37436,7 +37437,7 @@ var ts;
37436
37437
  parseSemicolon();
37437
37438
  var node = factory.createNamespaceExportDeclaration(name);
37438
37439
  // 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;
37440
+ node.illegalDecorators = decorators;
37440
37441
  node.modifiers = modifiers;
37441
37442
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37442
37443
  }
@@ -37476,7 +37477,7 @@ var ts;
37476
37477
  }
37477
37478
  parseSemicolon();
37478
37479
  var node = factory.createImportDeclaration(modifiers, importClause, moduleSpecifier, assertClause);
37479
- node.decorators = decorators;
37480
+ node.illegalDecorators = decorators;
37480
37481
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37481
37482
  }
37482
37483
  function parseAssertEntry() {
@@ -37521,7 +37522,7 @@ var ts;
37521
37522
  var moduleReference = parseModuleReference();
37522
37523
  parseSemicolon();
37523
37524
  var node = factory.createImportEqualsDeclaration(modifiers, isTypeOnly, identifier, moduleReference);
37524
- node.decorators = decorators;
37525
+ node.illegalDecorators = decorators;
37525
37526
  var finished = withJSDoc(finishNode(node, pos), hasJSDoc);
37526
37527
  return finished;
37527
37528
  }
@@ -37711,7 +37712,7 @@ var ts;
37711
37712
  parseSemicolon();
37712
37713
  setAwaitContext(savedAwaitContext);
37713
37714
  var node = factory.createExportDeclaration(modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause);
37714
- node.decorators = decorators;
37715
+ node.illegalDecorators = decorators;
37715
37716
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37716
37717
  }
37717
37718
  function parseExportAssignment(pos, hasJSDoc, decorators, modifiers) {
@@ -37728,7 +37729,7 @@ var ts;
37728
37729
  parseSemicolon();
37729
37730
  setAwaitContext(savedAwaitContext);
37730
37731
  var node = factory.createExportAssignment(modifiers, isExportEquals, expression);
37731
- node.decorators = decorators;
37732
+ node.illegalDecorators = decorators;
37732
37733
  return withJSDoc(finishNode(node, pos), hasJSDoc);
37733
37734
  }
37734
37735
  var ParsingContext;
@@ -51026,41 +51027,61 @@ var ts;
51026
51027
  return typeof file.externalModuleIndicator !== "object" && !resolveExportByName(moduleSymbol, ts.escapeLeadingUnderscores("__esModule"), /*sourceNode*/ undefined, dontResolveAlias);
51027
51028
  }
51028
51029
  function getTargetOfImportClause(node, dontResolveAlias) {
51029
- var _a;
51030
51030
  var moduleSymbol = resolveExternalModuleName(node, node.parent.moduleSpecifier);
51031
51031
  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);
51032
+ return getTargetofModuleDefault(moduleSymbol, node, dontResolveAlias);
51033
+ }
51034
+ }
51035
+ function getTargetofModuleDefault(moduleSymbol, node, dontResolveAlias) {
51036
+ var _a;
51037
+ var exportDefaultSymbol;
51038
+ if (ts.isShorthandAmbientModuleSymbol(moduleSymbol)) {
51039
+ exportDefaultSymbol = moduleSymbol;
51040
+ }
51041
+ else {
51042
+ exportDefaultSymbol = resolveExportByName(moduleSymbol, "default" /* Default */, node, dontResolveAlias);
51043
+ }
51044
+ var file = (_a = moduleSymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.isSourceFile);
51045
+ var specifier = getModuleSpecifierForImportOrExport(node);
51046
+ if (!specifier) {
51047
+ return exportDefaultSymbol;
51048
+ }
51049
+ var hasDefaultOnly = isOnlyImportedAsDefault(specifier);
51050
+ var hasSyntheticDefault = canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias, specifier);
51051
+ if (!exportDefaultSymbol && !hasSyntheticDefault && !hasDefaultOnly) {
51052
+ if (hasExportAssignmentSymbol(moduleSymbol)) {
51053
+ var compilerOptionName = moduleKind >= ts.ModuleKind.ES2015 ? "allowSyntheticDefaultImports" : "esModuleInterop";
51054
+ var exportEqualsSymbol = moduleSymbol.exports.get("export=" /* ExportEquals */);
51055
+ var exportAssignment = exportEqualsSymbol.valueDeclaration;
51056
+ var err = error(node.name, ts.Diagnostics.Module_0_can_only_be_default_imported_using_the_1_flag, symbolToString(moduleSymbol), compilerOptionName);
51057
+ if (exportAssignment) {
51058
+ 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
51059
  }
51055
51060
  }
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;
51061
+ else if (ts.isImportClause(node)) {
51062
+ reportNonDefaultExport(moduleSymbol, node);
51061
51063
  }
51062
- markSymbolOfAliasDeclarationIfTypeOnly(node, exportDefaultSymbol, /*finalTarget*/ undefined, /*overwriteTypeOnly*/ false);
51063
- return exportDefaultSymbol;
51064
+ else {
51065
+ errorNoModuleMemberSymbol(moduleSymbol, moduleSymbol, node, ts.isImportOrExportSpecifier(node) && node.propertyName || node.name);
51066
+ }
51067
+ }
51068
+ else if (hasSyntheticDefault || hasDefaultOnly) {
51069
+ // per emit behavior, a synthetic default overrides a "real" .default member if `__esModule` is not present
51070
+ var resolved = resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias) || resolveSymbol(moduleSymbol, dontResolveAlias);
51071
+ markSymbolOfAliasDeclarationIfTypeOnly(node, moduleSymbol, resolved, /*overwriteTypeOnly*/ false);
51072
+ return resolved;
51073
+ }
51074
+ markSymbolOfAliasDeclarationIfTypeOnly(node, exportDefaultSymbol, /*finalTarget*/ undefined, /*overwriteTypeOnly*/ false);
51075
+ return exportDefaultSymbol;
51076
+ }
51077
+ function getModuleSpecifierForImportOrExport(node) {
51078
+ switch (node.kind) {
51079
+ case 267 /* ImportClause */: return node.parent.moduleSpecifier;
51080
+ case 265 /* ImportEqualsDeclaration */: return ts.isExternalModuleReference(node.moduleReference) ? node.moduleReference.expression : undefined;
51081
+ case 268 /* NamespaceImport */: return node.parent.parent.moduleSpecifier;
51082
+ case 270 /* ImportSpecifier */: return node.parent.parent.parent.moduleSpecifier;
51083
+ case 275 /* ExportSpecifier */: return node.parent.parent.moduleSpecifier;
51084
+ default: return ts.Debug.assertNever(node);
51064
51085
  }
51065
51086
  }
51066
51087
  function reportNonDefaultExport(moduleSymbol, node) {
@@ -51150,7 +51171,7 @@ var ts;
51150
51171
  }
51151
51172
  }
51152
51173
  function getExternalModuleMember(node, specifier, dontResolveAlias) {
51153
- var _a, _b;
51174
+ var _a;
51154
51175
  if (dontResolveAlias === void 0) { dontResolveAlias = false; }
51155
51176
  var moduleSpecifier = ts.getExternalModuleRequireArgument(node) || node.moduleSpecifier;
51156
51177
  var moduleSymbol = resolveExternalModuleName(node, moduleSpecifier); // TODO: GH#18217
@@ -51186,29 +51207,33 @@ var ts;
51186
51207
  combineValueAndTypeSymbols(symbolFromVariable, symbolFromModule) :
51187
51208
  symbolFromModule || symbolFromVariable;
51188
51209
  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
- }
51210
+ errorNoModuleMemberSymbol(moduleSymbol, targetSymbol, node, name);
51207
51211
  }
51208
51212
  return symbol;
51209
51213
  }
51210
51214
  }
51211
51215
  }
51216
+ function errorNoModuleMemberSymbol(moduleSymbol, targetSymbol, node, name) {
51217
+ var _a;
51218
+ var moduleName = getFullyQualifiedName(moduleSymbol, node);
51219
+ var declarationName = ts.declarationNameToString(name);
51220
+ var suggestion = getSuggestedSymbolForNonexistentModule(name, targetSymbol);
51221
+ if (suggestion !== undefined) {
51222
+ var suggestionName = symbolToString(suggestion);
51223
+ var diagnostic = error(name, ts.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2, moduleName, declarationName, suggestionName);
51224
+ if (suggestion.valueDeclaration) {
51225
+ ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(suggestion.valueDeclaration, ts.Diagnostics._0_is_declared_here, suggestionName));
51226
+ }
51227
+ }
51228
+ else {
51229
+ if ((_a = moduleSymbol.exports) === null || _a === void 0 ? void 0 : _a.has("default" /* Default */)) {
51230
+ error(name, ts.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead, moduleName, declarationName);
51231
+ }
51232
+ else {
51233
+ reportNonExportedMember(node, name, declarationName, moduleSymbol, moduleName);
51234
+ }
51235
+ }
51236
+ }
51212
51237
  function reportNonExportedMember(node, name, declarationName, moduleSymbol, moduleName) {
51213
51238
  var _a, _b;
51214
51239
  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 +51279,13 @@ var ts;
51254
51279
  }
51255
51280
  }
51256
51281
  function getTargetOfImportSpecifier(node, dontResolveAlias) {
51282
+ if (ts.isImportSpecifier(node) && ts.idText(node.propertyName || node.name) === "default" /* Default */) {
51283
+ var specifier = getModuleSpecifierForImportOrExport(node);
51284
+ var moduleSymbol = specifier && resolveExternalModuleName(node, specifier);
51285
+ if (moduleSymbol) {
51286
+ return getTargetofModuleDefault(moduleSymbol, node, dontResolveAlias);
51287
+ }
51288
+ }
51257
51289
  var root = ts.isBindingElement(node) ? ts.getRootDeclaration(node) : node.parent.parent.parent;
51258
51290
  var commonJSPropertyAccess = getCommonJSPropertyAccess(root);
51259
51291
  var resolved = getExternalModuleMember(root, commonJSPropertyAccess || node, dontResolveAlias);
@@ -51275,6 +51307,13 @@ var ts;
51275
51307
  return resolved;
51276
51308
  }
51277
51309
  function getTargetOfExportSpecifier(node, meaning, dontResolveAlias) {
51310
+ if (ts.idText(node.propertyName || node.name) === "default" /* Default */) {
51311
+ var specifier = getModuleSpecifierForImportOrExport(node);
51312
+ var moduleSymbol = specifier && resolveExternalModuleName(node, specifier);
51313
+ if (moduleSymbol) {
51314
+ return getTargetofModuleDefault(moduleSymbol, node, !!dontResolveAlias);
51315
+ }
51316
+ }
51278
51317
  var resolved = node.parent.parent.moduleSpecifier ?
51279
51318
  getExternalModuleMember(node.parent.parent, node, dontResolveAlias) :
51280
51319
  resolveEntityName(node.propertyName || node.name, meaning, /*ignoreErrors*/ false, dontResolveAlias);
@@ -55723,7 +55762,7 @@ var ts;
55723
55762
  // This is an else/if as accessors and properties can't merge in TS, but might in JS
55724
55763
  // If this happens, we assume the accessor takes priority, as it imposes more constraints
55725
55764
  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),
55765
+ 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
55766
  // TODO: https://github.com/microsoft/TypeScript/pull/32372#discussion_r328386357
55728
55767
  // interface members can't have initializers, however class members _can_
55729
55768
  /*initializer*/ undefined), ((_d = p.declarations) === null || _d === void 0 ? void 0 : _d.find(ts.or(ts.isPropertyDeclaration, ts.isVariableDeclaration))) || firstPropertyLikeDecl);
@@ -88747,7 +88786,7 @@ var ts;
88747
88786
  return checkGrammarDecorators(node) || checkGrammarModifiers(node);
88748
88787
  }
88749
88788
  function checkGrammarDecorators(node) {
88750
- if (ts.canHaveIllegalDecorators(node) && ts.some(node.decorators)) {
88789
+ if (ts.canHaveIllegalDecorators(node) && ts.some(node.illegalDecorators)) {
88751
88790
  return grammarErrorOnFirstToken(node, ts.Diagnostics.Decorators_are_not_valid_here);
88752
88791
  }
88753
88792
  if (!ts.canHaveDecorators(node) || !ts.hasDecorators(node)) {