typescript 5.0.0-dev.20230112 → 5.0.0-dev.20230114

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.
@@ -54,7 +54,7 @@ var path = __toESM(require("path"));
54
54
 
55
55
  // src/compiler/corePublic.ts
56
56
  var versionMajorMinor = "5.0";
57
- var version = `${versionMajorMinor}.0-dev.20230112`;
57
+ var version = `${versionMajorMinor}.0-dev.20230114`;
58
58
 
59
59
  // src/compiler/core.ts
60
60
  var emptyArray = [];
@@ -3046,6 +3046,8 @@ var NodeFlags = /* @__PURE__ */ ((NodeFlags3) => {
3046
3046
  NodeFlags3[NodeFlags3["ContextFlags"] = 50720768] = "ContextFlags";
3047
3047
  NodeFlags3[NodeFlags3["TypeExcludesFlags"] = 40960] = "TypeExcludesFlags";
3048
3048
  NodeFlags3[NodeFlags3["PermanentlySetIncrementalFlags"] = 6291456] = "PermanentlySetIncrementalFlags";
3049
+ NodeFlags3[NodeFlags3["IdentifierHasExtendedUnicodeEscape"] = 128 /* ContainsThis */] = "IdentifierHasExtendedUnicodeEscape";
3050
+ NodeFlags3[NodeFlags3["IdentifierIsInJSDocNamespace"] = 2048 /* HasAsyncFunctions */] = "IdentifierIsInJSDocNamespace";
3049
3051
  return NodeFlags3;
3050
3052
  })(NodeFlags || {});
3051
3053
  var ModifierFlags = /* @__PURE__ */ ((ModifierFlags3) => {
@@ -6589,6 +6591,8 @@ var Diagnostics = {
6589
6591
  package_json_scope_0_explicitly_maps_specifier_1_to_null: diag(6274, 3 /* Message */, "package_json_scope_0_explicitly_maps_specifier_1_to_null_6274", "package.json scope '{0}' explicitly maps specifier '{1}' to null."),
6590
6592
  package_json_scope_0_has_invalid_type_for_target_of_specifier_1: diag(6275, 3 /* Message */, "package_json_scope_0_has_invalid_type_for_target_of_specifier_1_6275", "package.json scope '{0}' has invalid type for target of specifier '{1}'"),
6591
6593
  Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1: diag(6276, 3 /* Message */, "Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6276", "Export specifier '{0}' does not exist in package.json scope at path '{1}'."),
6594
+ Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_if_npm_library_needs_configuration_update: diag(6277, 3 /* Message */, "Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_i_6277", "Resolution of non-relative name failed; trying with modern Node resolution features disabled to see if npm library needs configuration update."),
6595
+ There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The_1_library_may_need_to_update_its_package_json_or_typings: diag(6278, 3 /* Message */, "There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The__6278", `There are types at '{0}', but this result could not be resolved when respecting package.json "exports". The '{1}' library may need to update its package.json or typings.`),
6592
6596
  Enable_project_compilation: diag(6302, 3 /* Message */, "Enable_project_compilation_6302", "Enable project compilation"),
6593
6597
  Composite_projects_may_not_disable_declaration_emit: diag(6304, 1 /* Error */, "Composite_projects_may_not_disable_declaration_emit_6304", "Composite projects may not disable declaration emit."),
6594
6598
  Output_file_0_has_not_been_built_from_source_file_1: diag(6305, 1 /* Error */, "Output_file_0_has_not_been_built_from_source_file_1_6305", "Output file '{0}' has not been built from source file '{1}'."),
@@ -9402,6 +9406,10 @@ function unescapeLeadingUnderscores(identifier) {
9402
9406
  function idText(identifierOrPrivateName) {
9403
9407
  return unescapeLeadingUnderscores(identifierOrPrivateName.escapedText);
9404
9408
  }
9409
+ function identifierToKeywordKind(node) {
9410
+ const token = stringToToken(node.escapedText);
9411
+ return token ? tryCast(token, isKeyword) : void 0;
9412
+ }
9405
9413
  function symbolName(symbol) {
9406
9414
  if (symbol.valueDeclaration && isPrivateIdentifierClassElementDeclaration(symbol.valueDeclaration)) {
9407
9415
  return idText(symbol.valueDeclaration.name);
@@ -9636,15 +9644,17 @@ function getJSDocTypeTag(node) {
9636
9644
  return void 0;
9637
9645
  }
9638
9646
  function getJSDocTagsWorker(node, noCache) {
9647
+ var _a2, _b;
9639
9648
  if (!canHaveJSDoc(node))
9640
9649
  return emptyArray;
9641
- let tags = node.jsDocCache;
9650
+ let tags = (_a2 = node.jsDoc) == null ? void 0 : _a2.jsDocCache;
9642
9651
  if (tags === void 0 || noCache) {
9643
9652
  const comments = getJSDocCommentsAndTags(node, noCache);
9644
9653
  Debug.assert(comments.length < 2 || comments[0] !== comments[1]);
9645
9654
  tags = flatMap(comments, (j) => isJSDoc(j) ? j.tags : j);
9646
9655
  if (!noCache) {
9647
- node.jsDocCache = tags;
9656
+ (_b = node.jsDoc) != null ? _b : node.jsDoc = [];
9657
+ node.jsDoc.jsDocCache = tags;
9648
9658
  }
9649
9659
  }
9650
9660
  return tags;
@@ -9715,10 +9725,12 @@ function isAssertionKey(node) {
9715
9725
  return isStringLiteral(node) || isIdentifier(node);
9716
9726
  }
9717
9727
  function isGeneratedIdentifier(node) {
9718
- return isIdentifier(node) && node.autoGenerate !== void 0;
9728
+ var _a2;
9729
+ return isIdentifier(node) && ((_a2 = node.emitNode) == null ? void 0 : _a2.autoGenerate) !== void 0;
9719
9730
  }
9720
9731
  function isGeneratedPrivateIdentifier(node) {
9721
- return isPrivateIdentifier(node) && node.autoGenerate !== void 0;
9732
+ var _a2;
9733
+ return isPrivateIdentifier(node) && ((_a2 = node.emitNode) == null ? void 0 : _a2.autoGenerate) !== void 0;
9722
9734
  }
9723
9735
  function isPrivateIdentifierClassElementDeclaration(node) {
9724
9736
  return (isPropertyDeclaration(node) || isMethodOrAccessor(node)) && isPrivateIdentifier(node.name);
@@ -10375,10 +10387,11 @@ function isComputedNonLiteralName(name) {
10375
10387
  return name.kind === 164 /* ComputedPropertyName */ && !isStringOrNumericLiteralLike(name.expression);
10376
10388
  }
10377
10389
  function tryGetTextOfPropertyName(name) {
10390
+ var _a2;
10378
10391
  switch (name.kind) {
10379
10392
  case 79 /* Identifier */:
10380
10393
  case 80 /* PrivateIdentifier */:
10381
- return name.autoGenerate ? void 0 : name.escapedText;
10394
+ return ((_a2 = name.emitNode) == null ? void 0 : _a2.autoGenerate) ? void 0 : name.escapedText;
10382
10395
  case 10 /* StringLiteral */:
10383
10396
  case 8 /* NumericLiteral */:
10384
10397
  case 14 /* NoSubstitutionTemplateLiteral */:
@@ -11456,7 +11469,7 @@ function isThisIdentifier(node) {
11456
11469
  return !!node && node.kind === 79 /* Identifier */ && identifierIsThisKeyword(node);
11457
11470
  }
11458
11471
  function identifierIsThisKeyword(id) {
11459
- return id.originalKeywordKind === 108 /* ThisKeyword */;
11472
+ return id.escapedText === "this";
11460
11473
  }
11461
11474
  function hasSyntacticModifier(node, flags) {
11462
11475
  return !!getSelectedSyntacticModifierFlags(node, flags);
@@ -11524,7 +11537,7 @@ function getEffectiveModifierFlagsNoCache(node) {
11524
11537
  }
11525
11538
  function getSyntacticModifierFlagsNoCache(node) {
11526
11539
  let flags = canHaveModifiers(node) ? modifiersToFlags(node.modifiers) : 0 /* None */;
11527
- if (node.flags & 4 /* NestedNamespace */ || node.kind === 79 /* Identifier */ && node.isInJSDocNamespace) {
11540
+ if (node.flags & 4 /* NestedNamespace */ || node.kind === 79 /* Identifier */ && node.flags & 2048 /* IdentifierIsInJSDocNamespace */) {
11528
11541
  flags |= 1 /* Export */;
11529
11542
  }
11530
11543
  return flags;
@@ -11755,7 +11768,6 @@ function Identifier2(kind, pos, end) {
11755
11768
  this.parent = void 0;
11756
11769
  this.original = void 0;
11757
11770
  this.emitNode = void 0;
11758
- this.flowNode = void 0;
11759
11771
  }
11760
11772
  function SourceMapSource(fileName, text, skipTrivia2) {
11761
11773
  this.fileName = fileName;
@@ -12938,7 +12950,6 @@ function createNodeFactory(flags, baseFactory2) {
12938
12950
  createRegularExpressionLiteral,
12939
12951
  createLiteralLikeNode,
12940
12952
  createIdentifier,
12941
- updateIdentifier,
12942
12953
  createTempVariable,
12943
12954
  createLoopVariable,
12944
12955
  createUniqueName,
@@ -13681,55 +13692,43 @@ function createNodeFactory(flags, baseFactory2) {
13681
13692
  );
13682
13693
  }
13683
13694
  }
13684
- function createBaseIdentifier(escapedText, originalKeywordKind) {
13695
+ function createBaseIdentifier(escapedText) {
13685
13696
  const node = baseFactory2.createBaseIdentifierNode(79 /* Identifier */);
13686
- node.originalKeywordKind = originalKeywordKind;
13687
13697
  node.escapedText = escapedText;
13688
- node.autoGenerate = void 0;
13689
- node.typeArguments = void 0;
13690
- node.hasExtendedUnicodeEscape = void 0;
13691
13698
  node.jsDoc = void 0;
13692
- node.jsDocCache = void 0;
13693
13699
  node.flowNode = void 0;
13694
13700
  node.symbol = void 0;
13695
13701
  return node;
13696
13702
  }
13697
13703
  function createBaseGeneratedIdentifier(text, autoGenerateFlags, prefix, suffix) {
13698
- const node = createBaseIdentifier(
13699
- escapeLeadingUnderscores(text),
13700
- /*originalKeywordKind*/
13701
- void 0
13702
- );
13703
- node.autoGenerate = {
13704
+ const node = createBaseIdentifier(escapeLeadingUnderscores(text));
13705
+ setIdentifierAutoGenerate(node, {
13704
13706
  flags: autoGenerateFlags,
13705
13707
  id: nextAutoGenerateId,
13706
13708
  prefix,
13707
13709
  suffix
13708
- };
13710
+ });
13709
13711
  nextAutoGenerateId++;
13710
13712
  return node;
13711
13713
  }
13712
- function createIdentifier(text, typeArguments, originalKeywordKind, hasExtendedUnicodeEscape) {
13714
+ function createIdentifier(text, originalKeywordKind, hasExtendedUnicodeEscape) {
13713
13715
  if (originalKeywordKind === void 0 && text) {
13714
13716
  originalKeywordKind = stringToToken(text);
13715
13717
  }
13716
13718
  if (originalKeywordKind === 79 /* Identifier */) {
13717
13719
  originalKeywordKind = void 0;
13718
13720
  }
13719
- const node = createBaseIdentifier(escapeLeadingUnderscores(text), originalKeywordKind);
13720
- node.typeArguments = asNodeArray(typeArguments);
13721
- node.hasExtendedUnicodeEscape = hasExtendedUnicodeEscape;
13722
- if (node.originalKeywordKind === 133 /* AwaitKeyword */) {
13721
+ const node = createBaseIdentifier(escapeLeadingUnderscores(text));
13722
+ if (hasExtendedUnicodeEscape)
13723
+ node.flags |= 128 /* IdentifierHasExtendedUnicodeEscape */;
13724
+ if (node.escapedText === "await") {
13723
13725
  node.transformFlags |= 67108864 /* ContainsPossibleTopLevelAwait */;
13724
13726
  }
13725
- if (node.hasExtendedUnicodeEscape) {
13727
+ if (node.flags & 128 /* IdentifierHasExtendedUnicodeEscape */) {
13726
13728
  node.transformFlags |= 1024 /* ContainsES2015 */;
13727
13729
  }
13728
13730
  return node;
13729
13731
  }
13730
- function updateIdentifier(node, typeArguments) {
13731
- return node.typeArguments !== typeArguments ? update(createIdentifier(idText(node), typeArguments), node) : node;
13732
- }
13733
13732
  function createTempVariable(recordTempVariable, reservedInNestedScopes, prefix, suffix) {
13734
13733
  let flags2 = 1 /* Auto */;
13735
13734
  if (reservedInNestedScopes)
@@ -13777,7 +13776,6 @@ function createNodeFactory(flags, baseFactory2) {
13777
13776
  function createBasePrivateIdentifier(escapedText) {
13778
13777
  const node = baseFactory2.createBasePrivateIdentifierNode(80 /* PrivateIdentifier */);
13779
13778
  node.escapedText = escapedText;
13780
- node.autoGenerate = void 0;
13781
13779
  node.transformFlags |= 16777216 /* ContainsClassFields */;
13782
13780
  return node;
13783
13781
  }
@@ -13788,12 +13786,12 @@ function createNodeFactory(flags, baseFactory2) {
13788
13786
  }
13789
13787
  function createBaseGeneratedPrivateIdentifier(text, autoGenerateFlags, prefix, suffix) {
13790
13788
  const node = createBasePrivateIdentifier(escapeLeadingUnderscores(text));
13791
- node.autoGenerate = {
13789
+ setIdentifierAutoGenerate(node, {
13792
13790
  flags: autoGenerateFlags,
13793
13791
  id: nextAutoGenerateId,
13794
13792
  prefix,
13795
13793
  suffix
13796
- };
13794
+ });
13797
13795
  nextAutoGenerateId++;
13798
13796
  return node;
13799
13797
  }
@@ -13955,7 +13953,6 @@ function createNodeFactory(flags, baseFactory2) {
13955
13953
  node.transformFlags = 1 /* ContainsTypeScript */;
13956
13954
  node.expression = void 0;
13957
13955
  node.jsDoc = void 0;
13958
- node.jsDocCache = void 0;
13959
13956
  return node;
13960
13957
  }
13961
13958
  function updateTypeParameterDeclaration(node, modifiers, name, constraint, defaultType) {
@@ -13976,7 +13973,6 @@ function createNodeFactory(flags, baseFactory2) {
13976
13973
  node.transformFlags = propagateChildrenFlags(node.modifiers) | propagateChildFlags(node.dotDotDotToken) | propagateNameFlags(node.name) | propagateChildFlags(node.questionToken) | propagateChildFlags(node.initializer) | (((_a2 = node.questionToken) != null ? _a2 : node.type) ? 1 /* ContainsTypeScript */ : 0 /* None */) | (((_b = node.dotDotDotToken) != null ? _b : node.initializer) ? 1024 /* ContainsES2015 */ : 0 /* None */) | (modifiersToFlags(node.modifiers) & 16476 /* ParameterPropertyModifier */ ? 8192 /* ContainsTypeScriptClassSyntax */ : 0 /* None */);
13977
13974
  }
13978
13975
  node.jsDoc = void 0;
13979
- node.jsDocCache = void 0;
13980
13976
  return node;
13981
13977
  }
13982
13978
  function updateParameterDeclaration(node, modifiers, dotDotDotToken, name, questionToken, type, initializer) {
@@ -14004,7 +14000,6 @@ function createNodeFactory(flags, baseFactory2) {
14004
14000
  node.transformFlags = 1 /* ContainsTypeScript */;
14005
14001
  node.initializer = void 0;
14006
14002
  node.jsDoc = void 0;
14007
- node.jsDocCache = void 0;
14008
14003
  return node;
14009
14004
  }
14010
14005
  function updatePropertySignature(node, modifiers, name, questionToken, type) {
@@ -14027,7 +14022,6 @@ function createNodeFactory(flags, baseFactory2) {
14027
14022
  const isAmbient = node.flags & 16777216 /* Ambient */ || modifiersToFlags(node.modifiers) & 2 /* Ambient */;
14028
14023
  node.transformFlags = propagateChildrenFlags(node.modifiers) | propagateNameFlags(node.name) | propagateChildFlags(node.initializer) | (isAmbient || node.questionToken || node.exclamationToken || node.type ? 1 /* ContainsTypeScript */ : 0 /* None */) | (isComputedPropertyName(node.name) || modifiersToFlags(node.modifiers) & 32 /* Static */ && node.initializer ? 8192 /* ContainsTypeScriptClassSyntax */ : 0 /* None */) | 16777216 /* ContainsClassFields */;
14029
14024
  node.jsDoc = void 0;
14030
- node.jsDocCache = void 0;
14031
14025
  return node;
14032
14026
  }
14033
14027
  function updatePropertyDeclaration(node, modifiers, name, questionOrExclamationToken, type, initializer) {
@@ -14043,7 +14037,6 @@ function createNodeFactory(flags, baseFactory2) {
14043
14037
  node.type = type;
14044
14038
  node.transformFlags = 1 /* ContainsTypeScript */;
14045
14039
  node.jsDoc = void 0;
14046
- node.jsDocCache = void 0;
14047
14040
  node.locals = void 0;
14048
14041
  node.nextContainer = void 0;
14049
14042
  node.typeArguments = void 0;
@@ -14073,7 +14066,6 @@ function createNodeFactory(flags, baseFactory2) {
14073
14066
  }
14074
14067
  node.typeArguments = void 0;
14075
14068
  node.jsDoc = void 0;
14076
- node.jsDocCache = void 0;
14077
14069
  node.locals = void 0;
14078
14070
  node.nextContainer = void 0;
14079
14071
  node.flowNode = void 0;
@@ -14097,7 +14089,6 @@ function createNodeFactory(flags, baseFactory2) {
14097
14089
  node.illegalDecorators = void 0;
14098
14090
  node.modifiers = void 0;
14099
14091
  node.jsDoc = void 0;
14100
- node.jsDocCache = void 0;
14101
14092
  node.locals = void 0;
14102
14093
  node.nextContainer = void 0;
14103
14094
  node.endFlowNode = void 0;
@@ -14125,7 +14116,6 @@ function createNodeFactory(flags, baseFactory2) {
14125
14116
  node.type = void 0;
14126
14117
  node.typeArguments = void 0;
14127
14118
  node.jsDoc = void 0;
14128
- node.jsDocCache = void 0;
14129
14119
  node.locals = void 0;
14130
14120
  node.nextContainer = void 0;
14131
14121
  node.endFlowNode = void 0;
@@ -14158,7 +14148,6 @@ function createNodeFactory(flags, baseFactory2) {
14158
14148
  node.typeArguments = void 0;
14159
14149
  node.typeParameters = void 0;
14160
14150
  node.jsDoc = void 0;
14161
- node.jsDocCache = void 0;
14162
14151
  node.locals = void 0;
14163
14152
  node.nextContainer = void 0;
14164
14153
  node.flowNode = void 0;
@@ -14190,7 +14179,6 @@ function createNodeFactory(flags, baseFactory2) {
14190
14179
  node.typeParameters = void 0;
14191
14180
  node.type = void 0;
14192
14181
  node.jsDoc = void 0;
14193
- node.jsDocCache = void 0;
14194
14182
  node.locals = void 0;
14195
14183
  node.nextContainer = void 0;
14196
14184
  node.flowNode = void 0;
@@ -14215,7 +14203,6 @@ function createNodeFactory(flags, baseFactory2) {
14215
14203
  node.type = type;
14216
14204
  node.transformFlags = 1 /* ContainsTypeScript */;
14217
14205
  node.jsDoc = void 0;
14218
- node.jsDocCache = void 0;
14219
14206
  node.locals = void 0;
14220
14207
  node.nextContainer = void 0;
14221
14208
  node.typeArguments = void 0;
@@ -14231,7 +14218,6 @@ function createNodeFactory(flags, baseFactory2) {
14231
14218
  node.type = type;
14232
14219
  node.transformFlags = 1 /* ContainsTypeScript */;
14233
14220
  node.jsDoc = void 0;
14234
- node.jsDocCache = void 0;
14235
14221
  node.locals = void 0;
14236
14222
  node.nextContainer = void 0;
14237
14223
  node.typeArguments = void 0;
@@ -14248,7 +14234,6 @@ function createNodeFactory(flags, baseFactory2) {
14248
14234
  node.transformFlags = 1 /* ContainsTypeScript */;
14249
14235
  node.illegalDecorators = void 0;
14250
14236
  node.jsDoc = void 0;
14251
- node.jsDocCache = void 0;
14252
14237
  node.locals = void 0;
14253
14238
  node.nextContainer = void 0;
14254
14239
  node.typeArguments = void 0;
@@ -14299,7 +14284,6 @@ function createNodeFactory(flags, baseFactory2) {
14299
14284
  node.transformFlags = 1 /* ContainsTypeScript */;
14300
14285
  node.modifiers = void 0;
14301
14286
  node.jsDoc = void 0;
14302
- node.jsDocCache = void 0;
14303
14287
  node.locals = void 0;
14304
14288
  node.nextContainer = void 0;
14305
14289
  node.typeArguments = void 0;
@@ -14325,7 +14309,6 @@ function createNodeFactory(flags, baseFactory2) {
14325
14309
  node.type = type;
14326
14310
  node.transformFlags = 1 /* ContainsTypeScript */;
14327
14311
  node.jsDoc = void 0;
14328
- node.jsDocCache = void 0;
14329
14312
  node.locals = void 0;
14330
14313
  node.nextContainer = void 0;
14331
14314
  node.typeArguments = void 0;
@@ -14394,7 +14377,6 @@ function createNodeFactory(flags, baseFactory2) {
14394
14377
  node.type = type;
14395
14378
  node.transformFlags = 1 /* ContainsTypeScript */;
14396
14379
  node.jsDoc = void 0;
14397
- node.jsDocCache = void 0;
14398
14380
  return node;
14399
14381
  }
14400
14382
  function updateNamedTupleMember(node, dotDotDotToken, name, questionToken, type) {
@@ -14596,7 +14578,6 @@ function createNodeFactory(flags, baseFactory2) {
14596
14578
  node.multiLine = multiLine;
14597
14579
  node.transformFlags |= propagateChildrenFlags(node.properties);
14598
14580
  node.jsDoc = void 0;
14599
- node.jsDocCache = void 0;
14600
14581
  return node;
14601
14582
  }
14602
14583
  function updateObjectLiteralExpression(node, properties) {
@@ -14609,7 +14590,6 @@ function createNodeFactory(flags, baseFactory2) {
14609
14590
  node.name = name;
14610
14591
  node.transformFlags = propagateChildFlags(node.expression) | propagateChildFlags(node.questionDotToken) | (isIdentifier(node.name) ? propagateIdentifierNameFlags(node.name) : propagateChildFlags(node.name) | 536870912 /* ContainsPrivateIdentifierInExpression */);
14611
14592
  node.jsDoc = void 0;
14612
- node.jsDocCache = void 0;
14613
14593
  node.flowNode = void 0;
14614
14594
  return node;
14615
14595
  }
@@ -14660,7 +14640,6 @@ function createNodeFactory(flags, baseFactory2) {
14660
14640
  node.argumentExpression = argumentExpression;
14661
14641
  node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.questionDotToken) | propagateChildFlags(node.argumentExpression);
14662
14642
  node.jsDoc = void 0;
14663
- node.jsDocCache = void 0;
14664
14643
  node.flowNode = void 0;
14665
14644
  return node;
14666
14645
  }
@@ -14811,7 +14790,6 @@ function createNodeFactory(flags, baseFactory2) {
14811
14790
  node.expression = expression;
14812
14791
  node.transformFlags = propagateChildFlags(node.expression);
14813
14792
  node.jsDoc = void 0;
14814
- node.jsDocCache = void 0;
14815
14793
  return node;
14816
14794
  }
14817
14795
  function updateParenthesizedExpression(node, expression) {
@@ -14832,7 +14810,6 @@ function createNodeFactory(flags, baseFactory2) {
14832
14810
  node.transformFlags = propagateChildrenFlags(node.modifiers) | propagateChildFlags(node.asteriskToken) | propagateNameFlags(node.name) | propagateChildrenFlags(node.typeParameters) | propagateChildrenFlags(node.parameters) | propagateChildFlags(node.type) | propagateChildFlags(node.body) & ~67108864 /* ContainsPossibleTopLevelAwait */ | (isAsyncGenerator ? 128 /* ContainsES2018 */ : isAsync ? 256 /* ContainsES2017 */ : isGenerator ? 2048 /* ContainsGenerator */ : 0 /* None */) | (node.typeParameters || node.type ? 1 /* ContainsTypeScript */ : 0 /* None */) | 4194304 /* ContainsHoistedDeclarationOrCompletion */;
14833
14811
  node.typeArguments = void 0;
14834
14812
  node.jsDoc = void 0;
14835
- node.jsDocCache = void 0;
14836
14813
  node.locals = void 0;
14837
14814
  node.nextContainer = void 0;
14838
14815
  node.flowNode = void 0;
@@ -14855,7 +14832,6 @@ function createNodeFactory(flags, baseFactory2) {
14855
14832
  node.transformFlags = propagateChildrenFlags(node.modifiers) | propagateChildrenFlags(node.typeParameters) | propagateChildrenFlags(node.parameters) | propagateChildFlags(node.type) | propagateChildFlags(node.equalsGreaterThanToken) | propagateChildFlags(node.body) & ~67108864 /* ContainsPossibleTopLevelAwait */ | (node.typeParameters || node.type ? 1 /* ContainsTypeScript */ : 0 /* None */) | (isAsync ? 256 /* ContainsES2017 */ | 16384 /* ContainsLexicalThis */ : 0 /* None */) | 1024 /* ContainsES2015 */;
14856
14833
  node.typeArguments = void 0;
14857
14834
  node.jsDoc = void 0;
14858
- node.jsDocCache = void 0;
14859
14835
  node.locals = void 0;
14860
14836
  node.nextContainer = void 0;
14861
14837
  node.flowNode = void 0;
@@ -14953,7 +14929,6 @@ function createNodeFactory(flags, baseFactory2) {
14953
14929
  node.transformFlags |= 536870912 /* ContainsPrivateIdentifierInExpression */;
14954
14930
  }
14955
14931
  node.jsDoc = void 0;
14956
- node.jsDocCache = void 0;
14957
14932
  return node;
14958
14933
  }
14959
14934
  function propagateAssignmentPatternFlags(node) {
@@ -15095,7 +15070,6 @@ function createNodeFactory(flags, baseFactory2) {
15095
15070
  node.members = createNodeArray(members);
15096
15071
  node.transformFlags |= propagateChildrenFlags(node.modifiers) | propagateNameFlags(node.name) | propagateChildrenFlags(node.typeParameters) | propagateChildrenFlags(node.heritageClauses) | propagateChildrenFlags(node.members) | (node.typeParameters ? 1 /* ContainsTypeScript */ : 0 /* None */) | 1024 /* ContainsES2015 */;
15097
15072
  node.jsDoc = void 0;
15098
- node.jsDocCache = void 0;
15099
15073
  return node;
15100
15074
  }
15101
15075
  function updateClassExpression(node, modifiers, name, typeParameters, heritageClauses, members) {
@@ -15211,7 +15185,6 @@ function createNodeFactory(flags, baseFactory2) {
15211
15185
  node.multiLine = multiLine;
15212
15186
  node.transformFlags |= propagateChildrenFlags(node.statements);
15213
15187
  node.jsDoc = void 0;
15214
- node.jsDocCache = void 0;
15215
15188
  node.locals = void 0;
15216
15189
  node.nextContainer = void 0;
15217
15190
  return node;
@@ -15229,7 +15202,6 @@ function createNodeFactory(flags, baseFactory2) {
15229
15202
  }
15230
15203
  node.illegalDecorators = void 0;
15231
15204
  node.jsDoc = void 0;
15232
- node.jsDocCache = void 0;
15233
15205
  node.flowNode = void 0;
15234
15206
  return node;
15235
15207
  }
@@ -15239,7 +15211,6 @@ function createNodeFactory(flags, baseFactory2) {
15239
15211
  function createEmptyStatement() {
15240
15212
  const node = createBaseNode(239 /* EmptyStatement */);
15241
15213
  node.jsDoc = void 0;
15242
- node.jsDocCache = void 0;
15243
15214
  return node;
15244
15215
  }
15245
15216
  function createExpressionStatement(expression) {
@@ -15247,7 +15218,6 @@ function createNodeFactory(flags, baseFactory2) {
15247
15218
  node.expression = parenthesizerRules().parenthesizeExpressionOfExpressionStatement(expression);
15248
15219
  node.transformFlags |= propagateChildFlags(node.expression);
15249
15220
  node.jsDoc = void 0;
15250
- node.jsDocCache = void 0;
15251
15221
  node.flowNode = void 0;
15252
15222
  return node;
15253
15223
  }
@@ -15261,7 +15231,6 @@ function createNodeFactory(flags, baseFactory2) {
15261
15231
  node.elseStatement = asEmbeddedStatement(elseStatement);
15262
15232
  node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.thenStatement) | propagateChildFlags(node.elseStatement);
15263
15233
  node.jsDoc = void 0;
15264
- node.jsDocCache = void 0;
15265
15234
  node.flowNode = void 0;
15266
15235
  return node;
15267
15236
  }
@@ -15274,7 +15243,6 @@ function createNodeFactory(flags, baseFactory2) {
15274
15243
  node.expression = expression;
15275
15244
  node.transformFlags |= propagateChildFlags(node.statement) | propagateChildFlags(node.expression);
15276
15245
  node.jsDoc = void 0;
15277
- node.jsDocCache = void 0;
15278
15246
  node.flowNode = void 0;
15279
15247
  return node;
15280
15248
  }
@@ -15287,7 +15255,6 @@ function createNodeFactory(flags, baseFactory2) {
15287
15255
  node.statement = asEmbeddedStatement(statement);
15288
15256
  node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.statement);
15289
15257
  node.jsDoc = void 0;
15290
- node.jsDocCache = void 0;
15291
15258
  node.flowNode = void 0;
15292
15259
  return node;
15293
15260
  }
@@ -15302,7 +15269,6 @@ function createNodeFactory(flags, baseFactory2) {
15302
15269
  node.statement = asEmbeddedStatement(statement);
15303
15270
  node.transformFlags |= propagateChildFlags(node.initializer) | propagateChildFlags(node.condition) | propagateChildFlags(node.incrementor) | propagateChildFlags(node.statement);
15304
15271
  node.jsDoc = void 0;
15305
- node.jsDocCache = void 0;
15306
15272
  node.locals = void 0;
15307
15273
  node.nextContainer = void 0;
15308
15274
  node.flowNode = void 0;
@@ -15318,7 +15284,6 @@ function createNodeFactory(flags, baseFactory2) {
15318
15284
  node.statement = asEmbeddedStatement(statement);
15319
15285
  node.transformFlags |= propagateChildFlags(node.initializer) | propagateChildFlags(node.expression) | propagateChildFlags(node.statement);
15320
15286
  node.jsDoc = void 0;
15321
- node.jsDocCache = void 0;
15322
15287
  node.locals = void 0;
15323
15288
  node.nextContainer = void 0;
15324
15289
  node.flowNode = void 0;
@@ -15337,7 +15302,6 @@ function createNodeFactory(flags, baseFactory2) {
15337
15302
  if (awaitModifier)
15338
15303
  node.transformFlags |= 128 /* ContainsES2018 */;
15339
15304
  node.jsDoc = void 0;
15340
- node.jsDocCache = void 0;
15341
15305
  node.locals = void 0;
15342
15306
  node.nextContainer = void 0;
15343
15307
  node.flowNode = void 0;
@@ -15351,7 +15315,6 @@ function createNodeFactory(flags, baseFactory2) {
15351
15315
  node.label = asName(label);
15352
15316
  node.transformFlags |= propagateChildFlags(node.label) | 4194304 /* ContainsHoistedDeclarationOrCompletion */;
15353
15317
  node.jsDoc = void 0;
15354
- node.jsDocCache = void 0;
15355
15318
  node.flowNode = void 0;
15356
15319
  return node;
15357
15320
  }
@@ -15363,7 +15326,6 @@ function createNodeFactory(flags, baseFactory2) {
15363
15326
  node.label = asName(label);
15364
15327
  node.transformFlags |= propagateChildFlags(node.label) | 4194304 /* ContainsHoistedDeclarationOrCompletion */;
15365
15328
  node.jsDoc = void 0;
15366
- node.jsDocCache = void 0;
15367
15329
  node.flowNode = void 0;
15368
15330
  return node;
15369
15331
  }
@@ -15375,7 +15337,6 @@ function createNodeFactory(flags, baseFactory2) {
15375
15337
  node.expression = expression;
15376
15338
  node.transformFlags |= propagateChildFlags(node.expression) | 128 /* ContainsES2018 */ | 4194304 /* ContainsHoistedDeclarationOrCompletion */;
15377
15339
  node.jsDoc = void 0;
15378
- node.jsDocCache = void 0;
15379
15340
  node.flowNode = void 0;
15380
15341
  return node;
15381
15342
  }
@@ -15388,7 +15349,6 @@ function createNodeFactory(flags, baseFactory2) {
15388
15349
  node.statement = asEmbeddedStatement(statement);
15389
15350
  node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.statement);
15390
15351
  node.jsDoc = void 0;
15391
- node.jsDocCache = void 0;
15392
15352
  node.flowNode = void 0;
15393
15353
  return node;
15394
15354
  }
@@ -15401,7 +15361,6 @@ function createNodeFactory(flags, baseFactory2) {
15401
15361
  node.caseBlock = caseBlock;
15402
15362
  node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.caseBlock);
15403
15363
  node.jsDoc = void 0;
15404
- node.jsDocCache = void 0;
15405
15364
  node.flowNode = void 0;
15406
15365
  node.possiblyExhaustive = false;
15407
15366
  return node;
@@ -15415,7 +15374,6 @@ function createNodeFactory(flags, baseFactory2) {
15415
15374
  node.statement = asEmbeddedStatement(statement);
15416
15375
  node.transformFlags |= propagateChildFlags(node.label) | propagateChildFlags(node.statement);
15417
15376
  node.jsDoc = void 0;
15418
- node.jsDocCache = void 0;
15419
15377
  node.flowNode = void 0;
15420
15378
  return node;
15421
15379
  }
@@ -15427,7 +15385,6 @@ function createNodeFactory(flags, baseFactory2) {
15427
15385
  node.expression = expression;
15428
15386
  node.transformFlags |= propagateChildFlags(node.expression);
15429
15387
  node.jsDoc = void 0;
15430
- node.jsDocCache = void 0;
15431
15388
  node.flowNode = void 0;
15432
15389
  return node;
15433
15390
  }
@@ -15441,7 +15398,6 @@ function createNodeFactory(flags, baseFactory2) {
15441
15398
  node.finallyBlock = finallyBlock;
15442
15399
  node.transformFlags |= propagateChildFlags(node.tryBlock) | propagateChildFlags(node.catchClause) | propagateChildFlags(node.finallyBlock);
15443
15400
  node.jsDoc = void 0;
15444
- node.jsDocCache = void 0;
15445
15401
  node.flowNode = void 0;
15446
15402
  return node;
15447
15403
  }
@@ -15451,7 +15407,6 @@ function createNodeFactory(flags, baseFactory2) {
15451
15407
  function createDebuggerStatement() {
15452
15408
  const node = createBaseNode(256 /* DebuggerStatement */);
15453
15409
  node.jsDoc = void 0;
15454
- node.jsDocCache = void 0;
15455
15410
  node.flowNode = void 0;
15456
15411
  return node;
15457
15412
  }
@@ -15464,7 +15419,6 @@ function createNodeFactory(flags, baseFactory2) {
15464
15419
  node.initializer = asInitializer(initializer);
15465
15420
  node.transformFlags |= propagateNameFlags(node.name) | propagateChildFlags(node.initializer) | (((_a2 = node.exclamationToken) != null ? _a2 : node.type) ? 1 /* ContainsTypeScript */ : 0 /* None */);
15466
15421
  node.jsDoc = void 0;
15467
- node.jsDocCache = void 0;
15468
15422
  return node;
15469
15423
  }
15470
15424
  function updateVariableDeclaration(node, name, exclamationToken, type, initializer) {
@@ -15503,7 +15457,6 @@ function createNodeFactory(flags, baseFactory2) {
15503
15457
  node.illegalDecorators = void 0;
15504
15458
  node.typeArguments = void 0;
15505
15459
  node.jsDoc = void 0;
15506
- node.jsDocCache = void 0;
15507
15460
  node.locals = void 0;
15508
15461
  node.nextContainer = void 0;
15509
15462
  node.endFlowNode = void 0;
@@ -15535,7 +15488,6 @@ function createNodeFactory(flags, baseFactory2) {
15535
15488
  }
15536
15489
  }
15537
15490
  node.jsDoc = void 0;
15538
- node.jsDocCache = void 0;
15539
15491
  return node;
15540
15492
  }
15541
15493
  function updateClassDeclaration(node, modifiers, name, typeParameters, heritageClauses, members) {
@@ -15551,7 +15503,6 @@ function createNodeFactory(flags, baseFactory2) {
15551
15503
  node.transformFlags = 1 /* ContainsTypeScript */;
15552
15504
  node.illegalDecorators = void 0;
15553
15505
  node.jsDoc = void 0;
15554
- node.jsDocCache = void 0;
15555
15506
  return node;
15556
15507
  }
15557
15508
  function updateInterfaceDeclaration(node, modifiers, name, typeParameters, heritageClauses, members) {
@@ -15572,7 +15523,6 @@ function createNodeFactory(flags, baseFactory2) {
15572
15523
  node.transformFlags = 1 /* ContainsTypeScript */;
15573
15524
  node.illegalDecorators = void 0;
15574
15525
  node.jsDoc = void 0;
15575
- node.jsDocCache = void 0;
15576
15526
  node.locals = void 0;
15577
15527
  node.nextContainer = void 0;
15578
15528
  return node;
@@ -15595,7 +15545,6 @@ function createNodeFactory(flags, baseFactory2) {
15595
15545
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */;
15596
15546
  node.illegalDecorators = void 0;
15597
15547
  node.jsDoc = void 0;
15598
- node.jsDocCache = void 0;
15599
15548
  return node;
15600
15549
  }
15601
15550
  function updateEnumDeclaration(node, modifiers, name, members) {
@@ -15621,7 +15570,6 @@ function createNodeFactory(flags, baseFactory2) {
15621
15570
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */;
15622
15571
  node.illegalDecorators = void 0;
15623
15572
  node.jsDoc = void 0;
15624
- node.jsDocCache = void 0;
15625
15573
  node.locals = void 0;
15626
15574
  node.nextContainer = void 0;
15627
15575
  return node;
@@ -15640,7 +15588,6 @@ function createNodeFactory(flags, baseFactory2) {
15640
15588
  node.statements = createNodeArray(statements);
15641
15589
  node.transformFlags |= propagateChildrenFlags(node.statements);
15642
15590
  node.jsDoc = void 0;
15643
- node.jsDocCache = void 0;
15644
15591
  return node;
15645
15592
  }
15646
15593
  function updateModuleBlock(node, statements) {
@@ -15664,7 +15611,6 @@ function createNodeFactory(flags, baseFactory2) {
15664
15611
  node.illegalDecorators = void 0;
15665
15612
  node.modifiers = void 0;
15666
15613
  node.jsDoc = void 0;
15667
- node.jsDocCache = void 0;
15668
15614
  return node;
15669
15615
  }
15670
15616
  function updateNamespaceExportDeclaration(node, name) {
@@ -15690,7 +15636,6 @@ function createNodeFactory(flags, baseFactory2) {
15690
15636
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */;
15691
15637
  node.illegalDecorators = void 0;
15692
15638
  node.jsDoc = void 0;
15693
- node.jsDocCache = void 0;
15694
15639
  return node;
15695
15640
  }
15696
15641
  function updateImportEqualsDeclaration(node, modifiers, isTypeOnly, name, moduleReference) {
@@ -15712,7 +15657,6 @@ function createNodeFactory(flags, baseFactory2) {
15712
15657
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */;
15713
15658
  node.illegalDecorators = void 0;
15714
15659
  node.jsDoc = void 0;
15715
- node.jsDocCache = void 0;
15716
15660
  return node;
15717
15661
  }
15718
15662
  function updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause) {
@@ -15824,7 +15768,6 @@ function createNodeFactory(flags, baseFactory2) {
15824
15768
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */;
15825
15769
  node.illegalDecorators = void 0;
15826
15770
  node.jsDoc = void 0;
15827
- node.jsDocCache = void 0;
15828
15771
  return node;
15829
15772
  }
15830
15773
  function updateExportAssignment(node, modifiers, expression) {
@@ -15847,7 +15790,6 @@ function createNodeFactory(flags, baseFactory2) {
15847
15790
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */;
15848
15791
  node.illegalDecorators = void 0;
15849
15792
  node.jsDoc = void 0;
15850
- node.jsDocCache = void 0;
15851
15793
  return node;
15852
15794
  }
15853
15795
  function updateExportDeclaration(node, modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause) {
@@ -15877,7 +15819,6 @@ function createNodeFactory(flags, baseFactory2) {
15877
15819
  node.transformFlags |= propagateChildFlags(node.propertyName) | propagateChildFlags(node.name);
15878
15820
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */;
15879
15821
  node.jsDoc = void 0;
15880
- node.jsDocCache = void 0;
15881
15822
  return node;
15882
15823
  }
15883
15824
  function updateExportSpecifier(node, isTypeOnly, propertyName, name) {
@@ -15886,7 +15827,6 @@ function createNodeFactory(flags, baseFactory2) {
15886
15827
  function createMissingDeclaration() {
15887
15828
  const node = createBaseDeclaration(279 /* MissingDeclaration */);
15888
15829
  node.jsDoc = void 0;
15889
- node.jsDocCache = void 0;
15890
15830
  return node;
15891
15831
  }
15892
15832
  function createExternalModuleReference(expression) {
@@ -15927,7 +15867,6 @@ function createNodeFactory(flags, baseFactory2) {
15927
15867
  node.type = type;
15928
15868
  node.transformFlags = propagateChildrenFlags(node.parameters) | (node.type ? 1 /* ContainsTypeScript */ : 0 /* None */);
15929
15869
  node.jsDoc = void 0;
15930
- node.jsDocCache = void 0;
15931
15870
  node.locals = void 0;
15932
15871
  node.nextContainer = void 0;
15933
15872
  node.typeArguments = void 0;
@@ -15959,7 +15898,6 @@ function createNodeFactory(flags, baseFactory2) {
15959
15898
  node.parameters = createNodeArray(parameters);
15960
15899
  node.type = type;
15961
15900
  node.jsDoc = void 0;
15962
- node.jsDocCache = void 0;
15963
15901
  node.locals = void 0;
15964
15902
  node.nextContainer = void 0;
15965
15903
  return node;
@@ -16287,7 +16225,6 @@ function createNodeFactory(flags, baseFactory2) {
16287
16225
  node.statements = createNodeArray(statements);
16288
16226
  node.transformFlags |= propagateChildFlags(node.expression) | propagateChildrenFlags(node.statements);
16289
16227
  node.jsDoc = void 0;
16290
- node.jsDocCache = void 0;
16291
16228
  return node;
16292
16229
  }
16293
16230
  function updateCaseClause(node, expression, statements) {
@@ -16344,7 +16281,6 @@ function createNodeFactory(flags, baseFactory2) {
16344
16281
  node.questionToken = void 0;
16345
16282
  node.exclamationToken = void 0;
16346
16283
  node.jsDoc = void 0;
16347
- node.jsDocCache = void 0;
16348
16284
  return node;
16349
16285
  }
16350
16286
  function updatePropertyAssignment(node, name, initializer) {
@@ -16370,7 +16306,6 @@ function createNodeFactory(flags, baseFactory2) {
16370
16306
  node.questionToken = void 0;
16371
16307
  node.exclamationToken = void 0;
16372
16308
  node.jsDoc = void 0;
16373
- node.jsDocCache = void 0;
16374
16309
  return node;
16375
16310
  }
16376
16311
  function updateShorthandPropertyAssignment(node, name, objectAssignmentInitializer) {
@@ -16391,7 +16326,6 @@ function createNodeFactory(flags, baseFactory2) {
16391
16326
  node.expression = parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression);
16392
16327
  node.transformFlags |= propagateChildFlags(node.expression) | 128 /* ContainsES2018 */ | 65536 /* ContainsObjectRestOrSpread */;
16393
16328
  node.jsDoc = void 0;
16394
- node.jsDocCache = void 0;
16395
16329
  return node;
16396
16330
  }
16397
16331
  function updateSpreadAssignment(node, expression) {
@@ -16403,7 +16337,6 @@ function createNodeFactory(flags, baseFactory2) {
16403
16337
  node.initializer = initializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer);
16404
16338
  node.transformFlags |= propagateChildFlags(node.name) | propagateChildFlags(node.initializer) | 1 /* ContainsTypeScript */;
16405
16339
  node.jsDoc = void 0;
16406
- node.jsDocCache = void 0;
16407
16340
  return node;
16408
16341
  }
16409
16342
  function updateEnumMember(node, name, initializer) {
@@ -16649,36 +16582,32 @@ function createNodeFactory(flags, baseFactory2) {
16649
16582
  return node.expression !== expression || node.thisArg !== thisArg ? update(createSyntheticReferenceExpression(expression, thisArg), node) : node;
16650
16583
  }
16651
16584
  function cloneGeneratedIdentifier(node) {
16652
- const clone2 = createBaseIdentifier(
16653
- node.escapedText,
16654
- /*originalKeywordKind*/
16655
- void 0
16656
- );
16585
+ const clone2 = createBaseIdentifier(node.escapedText);
16657
16586
  clone2.flags |= node.flags & ~8 /* Synthesized */;
16658
- clone2.autoGenerate = { ...node.autoGenerate };
16659
16587
  clone2.transformFlags = node.transformFlags;
16660
16588
  setOriginalNode(clone2, node);
16589
+ setIdentifierAutoGenerate(clone2, { ...node.emitNode.autoGenerate });
16661
16590
  return clone2;
16662
16591
  }
16663
16592
  function cloneIdentifier(node) {
16664
- const clone2 = createBaseIdentifier(node.escapedText, node.originalKeywordKind);
16593
+ const clone2 = createBaseIdentifier(node.escapedText);
16665
16594
  clone2.flags |= node.flags & ~8 /* Synthesized */;
16666
- clone2.typeArguments = node.typeArguments;
16667
- clone2.hasExtendedUnicodeEscape = node.hasExtendedUnicodeEscape;
16668
16595
  clone2.jsDoc = node.jsDoc;
16669
- clone2.jsDocCache = node.jsDocCache;
16670
16596
  clone2.flowNode = node.flowNode;
16671
16597
  clone2.symbol = node.symbol;
16672
16598
  clone2.transformFlags = node.transformFlags;
16673
16599
  setOriginalNode(clone2, node);
16600
+ const typeArguments = getIdentifierTypeArguments(node);
16601
+ if (typeArguments)
16602
+ setIdentifierTypeArguments(clone2, typeArguments);
16674
16603
  return clone2;
16675
16604
  }
16676
16605
  function cloneGeneratedPrivateIdentifier(node) {
16677
16606
  const clone2 = createBasePrivateIdentifier(node.escapedText);
16678
16607
  clone2.flags |= node.flags & ~8 /* Synthesized */;
16679
- clone2.autoGenerate = { ...node.autoGenerate };
16680
16608
  clone2.transformFlags = node.transformFlags;
16681
16609
  setOriginalNode(clone2, node);
16610
+ setIdentifierAutoGenerate(clone2, { ...node.emitNode.autoGenerate });
16682
16611
  return clone2;
16683
16612
  }
16684
16613
  function clonePrivateIdentifier(node) {
@@ -17546,6 +17475,18 @@ function getSyntheticTrailingComments(node) {
17546
17475
  var _a2;
17547
17476
  return (_a2 = node.emitNode) == null ? void 0 : _a2.trailingComments;
17548
17477
  }
17478
+ function setIdentifierTypeArguments(node, typeArguments) {
17479
+ getOrCreateEmitNode(node).identifierTypeArguments = typeArguments;
17480
+ return node;
17481
+ }
17482
+ function getIdentifierTypeArguments(node) {
17483
+ var _a2;
17484
+ return (_a2 = node.emitNode) == null ? void 0 : _a2.identifierTypeArguments;
17485
+ }
17486
+ function setIdentifierAutoGenerate(node, autoGenerate) {
17487
+ getOrCreateEmitNode(node).autoGenerate = autoGenerate;
17488
+ return node;
17489
+ }
17549
17490
 
17550
17491
  // src/compiler/factory/emitHelpers.ts
17551
17492
  function helperString(input, ...args) {
@@ -19756,8 +19697,6 @@ var Parser;
19756
19697
  const pos = getNodePos();
19757
19698
  const result = kind === 79 /* Identifier */ ? factory2.createIdentifier(
19758
19699
  "",
19759
- /*typeArguments*/
19760
- void 0,
19761
19700
  /*originalKeywordKind*/
19762
19701
  void 0
19763
19702
  ) : isTemplateLiteralKind(kind) ? factory2.createTemplateLiteralLikeNode(
@@ -19792,13 +19731,7 @@ var Parser;
19792
19731
  const text = internIdentifier(scanner.getTokenValue());
19793
19732
  const hasExtendedUnicodeEscape = scanner.hasExtendedUnicodeEscape();
19794
19733
  nextTokenWithoutCheck();
19795
- return finishNode(factory2.createIdentifier(
19796
- text,
19797
- /*typeArguments*/
19798
- void 0,
19799
- originalKeywordKind,
19800
- hasExtendedUnicodeEscape
19801
- ), pos);
19734
+ return finishNode(factory2.createIdentifier(text, originalKeywordKind, hasExtendedUnicodeEscape), pos);
19802
19735
  }
19803
19736
  if (token() === 80 /* PrivateIdentifier */) {
19804
19737
  parseErrorAtCurrentToken(privateIdentifierDiagnosticMessage || Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies);
@@ -20140,6 +20073,7 @@ var Parser;
20140
20073
  return parseElement();
20141
20074
  }
20142
20075
  function currentNode(parsingContext2, pos) {
20076
+ var _a2;
20143
20077
  if (!syntaxCursor || !isReusableParsingContext(parsingContext2) || parseErrorBeforeNextFinishedNode) {
20144
20078
  return void 0;
20145
20079
  }
@@ -20154,8 +20088,8 @@ var Parser;
20154
20088
  if (!canReuseNode(node, parsingContext2)) {
20155
20089
  return void 0;
20156
20090
  }
20157
- if (canHaveJSDoc(node) && node.jsDocCache) {
20158
- node.jsDocCache = void 0;
20091
+ if (canHaveJSDoc(node) && ((_a2 = node.jsDoc) == null ? void 0 : _a2.jsDocCache)) {
20092
+ node.jsDoc.jsDocCache = void 0;
20159
20093
  }
20160
20094
  return node;
20161
20095
  }
@@ -20214,7 +20148,7 @@ var Parser;
20214
20148
  return true;
20215
20149
  case 171 /* MethodDeclaration */:
20216
20150
  const methodDeclaration = node;
20217
- const nameIsConstructor = methodDeclaration.name.kind === 79 /* Identifier */ && methodDeclaration.name.originalKeywordKind === 135 /* ConstructorKeyword */;
20151
+ const nameIsConstructor = methodDeclaration.name.kind === 79 /* Identifier */ && methodDeclaration.name.escapedText === "constructor";
20218
20152
  return !nameIsConstructor;
20219
20153
  }
20220
20154
  }
@@ -20436,13 +20370,10 @@ var Parser;
20436
20370
  function parseEntityName(allowReservedWords, diagnosticMessage) {
20437
20371
  const pos = getNodePos();
20438
20372
  let entity = allowReservedWords ? parseIdentifierName(diagnosticMessage) : parseIdentifier(diagnosticMessage);
20439
- let dotPos = getNodePos();
20440
20373
  while (parseOptional(24 /* DotToken */)) {
20441
20374
  if (token() === 29 /* LessThanToken */) {
20442
- entity.jsdocDotPos = dotPos;
20443
20375
  break;
20444
20376
  }
20445
- dotPos = getNodePos();
20446
20377
  entity = finishNode(
20447
20378
  factory2.createQualifiedName(
20448
20379
  entity,
@@ -25222,7 +25153,7 @@ var Parser;
25222
25153
  return finishNode(jsDocNamespaceNode, pos);
25223
25154
  }
25224
25155
  if (nested) {
25225
- typeNameOrNamespaceName.isInJSDocNamespace = true;
25156
+ typeNameOrNamespaceName.flags |= 2048 /* IdentifierIsInJSDocNamespace */;
25226
25157
  }
25227
25158
  return typeNameOrNamespaceName;
25228
25159
  }
@@ -25426,12 +25357,7 @@ var Parser;
25426
25357
  const end2 = scanner.getTextPos();
25427
25358
  const originalKeywordKind = token();
25428
25359
  const text = internIdentifier(scanner.getTokenValue());
25429
- const result = finishNode(factory2.createIdentifier(
25430
- text,
25431
- /*typeArguments*/
25432
- void 0,
25433
- originalKeywordKind
25434
- ), pos, end2);
25360
+ const result = finishNode(factory2.createIdentifier(text, originalKeywordKind), pos, end2);
25435
25361
  nextTokenJSDoc();
25436
25362
  return result;
25437
25363
  }
@@ -26053,6 +25979,7 @@ var libEntries = [
26053
25979
  ["es2020", "lib.es2020.d.ts"],
26054
25980
  ["es2021", "lib.es2021.d.ts"],
26055
25981
  ["es2022", "lib.es2022.d.ts"],
25982
+ ["es2023", "lib.es2023.d.ts"],
26056
25983
  ["esnext", "lib.esnext.d.ts"],
26057
25984
  // Host only
26058
25985
  ["dom", "lib.dom.d.ts"],
@@ -26106,7 +26033,8 @@ var libEntries = [
26106
26033
  ["es2022.sharedmemory", "lib.es2022.sharedmemory.d.ts"],
26107
26034
  ["es2022.string", "lib.es2022.string.d.ts"],
26108
26035
  ["es2022.regexp", "lib.es2022.regexp.d.ts"],
26109
- ["esnext.array", "lib.es2022.array.d.ts"],
26036
+ ["es2023.array", "lib.es2023.array.d.ts"],
26037
+ ["esnext.array", "lib.es2023.array.d.ts"],
26110
26038
  ["esnext.symbol", "lib.es2019.symbol.d.ts"],
26111
26039
  ["esnext.asynciterable", "lib.es2018.asynciterable.d.ts"],
26112
26040
  ["esnext.intl", "lib.esnext.intl.d.ts"],
@@ -28000,7 +27928,7 @@ function formatExtensions(extensions) {
28000
27928
  result.push("JSON");
28001
27929
  return result.join(", ");
28002
27930
  }
28003
- function createResolvedModuleWithFailedLookupLocations(resolved, isExternalLibraryImport, failedLookupLocations, affectingLocations, diagnostics, resultFromCache) {
27931
+ function createResolvedModuleWithFailedLookupLocations(resolved, isExternalLibraryImport, failedLookupLocations, affectingLocations, diagnostics, resultFromCache, legacyResult) {
28004
27932
  if (resultFromCache) {
28005
27933
  resultFromCache.failedLookupLocations = updateResolutionField(resultFromCache.failedLookupLocations, failedLookupLocations);
28006
27934
  resultFromCache.affectingLocations = updateResolutionField(resultFromCache.affectingLocations, affectingLocations);
@@ -28018,7 +27946,8 @@ function createResolvedModuleWithFailedLookupLocations(resolved, isExternalLibra
28018
27946
  },
28019
27947
  failedLookupLocations: initializeResolutionField(failedLookupLocations),
28020
27948
  affectingLocations: initializeResolutionField(affectingLocations),
28021
- resolutionDiagnostics: initializeResolutionField(diagnostics)
27949
+ resolutionDiagnostics: initializeResolutionField(diagnostics),
27950
+ node10Result: legacyResult
28022
27951
  };
28023
27952
  }
28024
27953
  function initializeResolutionField(value) {
@@ -28470,7 +28399,7 @@ function nodeModuleNameResolver(moduleName, containingFile, compilerOptions, hos
28470
28399
  return nodeModuleNameResolverWorker(0 /* None */, moduleName, getDirectoryPath(containingFile), compilerOptions, host, cache, extensions, !!isConfigLookup, redirectedReference);
28471
28400
  }
28472
28401
  function nodeModuleNameResolverWorker(features, moduleName, containingDirectory, compilerOptions, host, cache, extensions, isConfigLookup, redirectedReference) {
28473
- var _a2, _b;
28402
+ var _a2, _b, _c, _d;
28474
28403
  const traceEnabled = isTraceEnabled(compilerOptions, host);
28475
28404
  const failedLookupLocations = [];
28476
28405
  const affectingLocations = [];
@@ -28497,44 +28426,60 @@ function nodeModuleNameResolverWorker(features, moduleName, containingDirectory,
28497
28426
  if (getEmitModuleResolutionKind(compilerOptions) === 2 /* Node10 */) {
28498
28427
  const priorityExtensions = extensions & (1 /* TypeScript */ | 4 /* Declaration */);
28499
28428
  const secondaryExtensions = extensions & ~(1 /* TypeScript */ | 4 /* Declaration */);
28500
- result = priorityExtensions && tryResolve(priorityExtensions) || secondaryExtensions && tryResolve(secondaryExtensions) || void 0;
28429
+ result = priorityExtensions && tryResolve(priorityExtensions, state) || secondaryExtensions && tryResolve(secondaryExtensions, state) || void 0;
28501
28430
  } else {
28502
- result = tryResolve(extensions);
28431
+ result = tryResolve(extensions, state);
28432
+ }
28433
+ let legacyResult;
28434
+ if (((_a2 = result == null ? void 0 : result.value) == null ? void 0 : _a2.isExternalLibraryImport) && !isConfigLookup && extensions & (1 /* TypeScript */ | 4 /* Declaration */) && features & 8 /* Exports */ && !isExternalModuleNameRelative(moduleName) && !extensionIsOk(1 /* TypeScript */ | 4 /* Declaration */, result.value.resolved.extension) && conditions.indexOf("import") > -1) {
28435
+ traceIfEnabled(state, Diagnostics.Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_if_npm_library_needs_configuration_update);
28436
+ const diagnosticState = {
28437
+ ...state,
28438
+ features: state.features & ~8 /* Exports */,
28439
+ failedLookupLocations: [],
28440
+ affectingLocations: [],
28441
+ reportDiagnostic: noop
28442
+ };
28443
+ const diagnosticResult = tryResolve(extensions & (1 /* TypeScript */ | 4 /* Declaration */), diagnosticState);
28444
+ if ((_b = diagnosticResult == null ? void 0 : diagnosticResult.value) == null ? void 0 : _b.isExternalLibraryImport) {
28445
+ legacyResult = diagnosticResult.value.resolved.path;
28446
+ }
28503
28447
  }
28504
28448
  return createResolvedModuleWithFailedLookupLocations(
28505
- (_a2 = result == null ? void 0 : result.value) == null ? void 0 : _a2.resolved,
28506
- (_b = result == null ? void 0 : result.value) == null ? void 0 : _b.isExternalLibraryImport,
28449
+ (_c = result == null ? void 0 : result.value) == null ? void 0 : _c.resolved,
28450
+ (_d = result == null ? void 0 : result.value) == null ? void 0 : _d.isExternalLibraryImport,
28507
28451
  failedLookupLocations,
28508
28452
  affectingLocations,
28509
28453
  diagnostics,
28510
- state.resultFromCache
28454
+ state.resultFromCache,
28455
+ legacyResult
28511
28456
  );
28512
- function tryResolve(extensions2) {
28513
- const loader = (extensions3, candidate, onlyRecordFailures, state2) => nodeLoadModuleByRelativeName(
28457
+ function tryResolve(extensions2, state2) {
28458
+ const loader = (extensions3, candidate, onlyRecordFailures, state3) => nodeLoadModuleByRelativeName(
28514
28459
  extensions3,
28515
28460
  candidate,
28516
28461
  onlyRecordFailures,
28517
- state2,
28462
+ state3,
28518
28463
  /*considerPackageJson*/
28519
28464
  true
28520
28465
  );
28521
- const resolved = tryLoadModuleUsingOptionalResolutionSettings(extensions2, moduleName, containingDirectory, loader, state);
28466
+ const resolved = tryLoadModuleUsingOptionalResolutionSettings(extensions2, moduleName, containingDirectory, loader, state2);
28522
28467
  if (resolved) {
28523
28468
  return toSearchResult({ resolved, isExternalLibraryImport: pathContainsNodeModules(resolved.path) });
28524
28469
  }
28525
28470
  if (!isExternalModuleNameRelative(moduleName)) {
28526
28471
  let resolved2;
28527
28472
  if (features & 2 /* Imports */ && startsWith(moduleName, "#")) {
28528
- resolved2 = loadModuleFromImports(extensions2, moduleName, containingDirectory, state, cache, redirectedReference);
28473
+ resolved2 = loadModuleFromImports(extensions2, moduleName, containingDirectory, state2, cache, redirectedReference);
28529
28474
  }
28530
28475
  if (!resolved2 && features & 4 /* SelfName */) {
28531
- resolved2 = loadModuleFromSelfNameReference(extensions2, moduleName, containingDirectory, state, cache, redirectedReference);
28476
+ resolved2 = loadModuleFromSelfNameReference(extensions2, moduleName, containingDirectory, state2, cache, redirectedReference);
28532
28477
  }
28533
28478
  if (!resolved2) {
28534
28479
  if (traceEnabled) {
28535
28480
  trace(host, Diagnostics.Loading_module_0_from_node_modules_folder_target_file_types_Colon_1, moduleName, formatExtensions(extensions2));
28536
28481
  }
28537
- resolved2 = loadModuleFromNearestNodeModulesDirectory(extensions2, moduleName, containingDirectory, state, cache, redirectedReference);
28482
+ resolved2 = loadModuleFromNearestNodeModulesDirectory(extensions2, moduleName, containingDirectory, state2, cache, redirectedReference);
28538
28483
  }
28539
28484
  if (!resolved2)
28540
28485
  return void 0;
@@ -28553,7 +28498,7 @@ function nodeModuleNameResolverWorker(features, moduleName, containingDirectory,
28553
28498
  candidate,
28554
28499
  /*onlyRecordFailures*/
28555
28500
  false,
28556
- state,
28501
+ state2,
28557
28502
  /*considerPackageJson*/
28558
28503
  true
28559
28504
  );
@@ -29710,7 +29655,7 @@ function getModuleInstanceStateWorker(node, visited) {
29710
29655
  case 264 /* ModuleDeclaration */:
29711
29656
  return getModuleInstanceState(node, visited);
29712
29657
  case 79 /* Identifier */:
29713
- if (node.isInJSDocNamespace) {
29658
+ if (node.flags & 2048 /* IdentifierIsInJSDocNamespace */) {
29714
29659
  return 0 /* NonInstantiated */;
29715
29660
  }
29716
29661
  }
@@ -30139,6 +30084,7 @@ function createBinder() {
30139
30084
  } else if (containerFlags & 64 /* IsInterface */) {
30140
30085
  seenThisKeyword = false;
30141
30086
  bindChildren(node);
30087
+ Debug.assertNotNode(node, isIdentifier);
30142
30088
  node.flags = seenThisKeyword ? node.flags | 128 /* ContainsThis */ : node.flags & ~128 /* ContainsThis */;
30143
30089
  } else {
30144
30090
  bindChildren(node);
@@ -31298,13 +31244,14 @@ function createBinder() {
31298
31244
  }
31299
31245
  function checkContextualIdentifier(node) {
31300
31246
  if (!file.parseDiagnostics.length && !(node.flags & 16777216 /* Ambient */) && !(node.flags & 8388608 /* JSDoc */) && !isIdentifierName(node)) {
31301
- if (inStrictMode && node.originalKeywordKind >= 117 /* FirstFutureReservedWord */ && node.originalKeywordKind <= 125 /* LastFutureReservedWord */) {
31247
+ const originalKeywordKind = identifierToKeywordKind(node);
31248
+ if (inStrictMode && originalKeywordKind >= 117 /* FirstFutureReservedWord */ && originalKeywordKind <= 125 /* LastFutureReservedWord */) {
31302
31249
  file.bindDiagnostics.push(createDiagnosticForNode2(
31303
31250
  node,
31304
31251
  getStrictModeIdentifierMessage(node),
31305
31252
  declarationNameToString(node)
31306
31253
  ));
31307
- } else if (node.originalKeywordKind === 133 /* AwaitKeyword */) {
31254
+ } else if (originalKeywordKind === 133 /* AwaitKeyword */) {
31308
31255
  if (isExternalModule(file) && isInTopLevelContext(node)) {
31309
31256
  file.bindDiagnostics.push(createDiagnosticForNode2(
31310
31257
  node,
@@ -31318,7 +31265,7 @@ function createBinder() {
31318
31265
  declarationNameToString(node)
31319
31266
  ));
31320
31267
  }
31321
- } else if (node.originalKeywordKind === 125 /* YieldKeyword */ && node.flags & 8192 /* YieldContext */) {
31268
+ } else if (originalKeywordKind === 125 /* YieldKeyword */ && node.flags & 8192 /* YieldContext */) {
31322
31269
  file.bindDiagnostics.push(createDiagnosticForNode2(
31323
31270
  node,
31324
31271
  Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here,
@@ -31530,7 +31477,7 @@ function createBinder() {
31530
31477
  function bindWorker(node) {
31531
31478
  switch (node.kind) {
31532
31479
  case 79 /* Identifier */:
31533
- if (node.isInJSDocNamespace) {
31480
+ if (node.flags & 2048 /* IdentifierIsInJSDocNamespace */) {
31534
31481
  let parentNode = node.parent;
31535
31482
  while (parentNode && !isJSDocTypeAlias(parentNode)) {
31536
31483
  parentNode = parentNode.parent;
@@ -32867,12 +32814,6 @@ function visitIterationBody(body, visitor, context, nodeVisitor = visitNode) {
32867
32814
  return updated;
32868
32815
  }
32869
32816
  var visitEachChildTable = {
32870
- [79 /* Identifier */]: function visitEachChildOfIdentifier(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
32871
- return context.factory.updateIdentifier(
32872
- node,
32873
- nodesVisitor(node.typeArguments, visitor, isTypeNodeOrTypeParameterDeclaration)
32874
- );
32875
- },
32876
32817
  [163 /* QualifiedName */]: function visitEachChildOfQualifiedName(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
32877
32818
  return context.factory.updateQualifiedName(
32878
32819
  node,