typescript 5.0.0-dev.20230111 → 5.0.0-dev.20230113

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.20230111`;
57
+ var version = `${versionMajorMinor}.0-dev.20230113`;
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}'."),
@@ -7791,7 +7795,8 @@ function isIdentifierStart(ch, languageVersion) {
7791
7795
  return ch >= 65 /* A */ && ch <= 90 /* Z */ || ch >= 97 /* a */ && ch <= 122 /* z */ || ch === 36 /* $ */ || ch === 95 /* _ */ || ch > 127 /* maxAsciiCharacter */ && isUnicodeIdentifierStart(ch, languageVersion);
7792
7796
  }
7793
7797
  function isIdentifierPart(ch, languageVersion, identifierVariant) {
7794
- return ch >= 65 /* A */ && ch <= 90 /* Z */ || ch >= 97 /* a */ && ch <= 122 /* z */ || ch >= 48 /* _0 */ && ch <= 57 /* _9 */ || ch === 36 /* $ */ || ch === 95 /* _ */ || (identifierVariant === 1 /* JSX */ ? ch === 45 /* minus */ || ch === 58 /* colon */ : false) || ch > 127 /* maxAsciiCharacter */ && isUnicodeIdentifierPart(ch, languageVersion);
7798
+ return ch >= 65 /* A */ && ch <= 90 /* Z */ || ch >= 97 /* a */ && ch <= 122 /* z */ || ch >= 48 /* _0 */ && ch <= 57 /* _9 */ || ch === 36 /* $ */ || ch === 95 /* _ */ || // "-" and ":" are valid in JSX Identifiers
7799
+ (identifierVariant === 1 /* JSX */ ? ch === 45 /* minus */ || ch === 58 /* colon */ : false) || ch > 127 /* maxAsciiCharacter */ && isUnicodeIdentifierPart(ch, languageVersion);
7795
7800
  }
7796
7801
  function isIdentifierText(name, languageVersion, identifierVariant) {
7797
7802
  let ch = codePointAt(name, 0);
@@ -9401,6 +9406,10 @@ function unescapeLeadingUnderscores(identifier) {
9401
9406
  function idText(identifierOrPrivateName) {
9402
9407
  return unescapeLeadingUnderscores(identifierOrPrivateName.escapedText);
9403
9408
  }
9409
+ function identifierToKeywordKind(node) {
9410
+ const token = stringToToken(node.escapedText);
9411
+ return token ? tryCast(token, isKeyword) : void 0;
9412
+ }
9404
9413
  function symbolName(symbol) {
9405
9414
  if (symbol.valueDeclaration && isPrivateIdentifierClassElementDeclaration(symbol.valueDeclaration)) {
9406
9415
  return idText(symbol.valueDeclaration.name);
@@ -9635,15 +9644,17 @@ function getJSDocTypeTag(node) {
9635
9644
  return void 0;
9636
9645
  }
9637
9646
  function getJSDocTagsWorker(node, noCache) {
9647
+ var _a2, _b;
9638
9648
  if (!canHaveJSDoc(node))
9639
9649
  return emptyArray;
9640
- let tags = node.jsDocCache;
9650
+ let tags = (_a2 = node.jsDoc) == null ? void 0 : _a2.jsDocCache;
9641
9651
  if (tags === void 0 || noCache) {
9642
9652
  const comments = getJSDocCommentsAndTags(node, noCache);
9643
9653
  Debug.assert(comments.length < 2 || comments[0] !== comments[1]);
9644
9654
  tags = flatMap(comments, (j) => isJSDoc(j) ? j.tags : j);
9645
9655
  if (!noCache) {
9646
- node.jsDocCache = tags;
9656
+ (_b = node.jsDoc) != null ? _b : node.jsDoc = [];
9657
+ node.jsDoc.jsDocCache = tags;
9647
9658
  }
9648
9659
  }
9649
9660
  return tags;
@@ -9714,10 +9725,12 @@ function isAssertionKey(node) {
9714
9725
  return isStringLiteral(node) || isIdentifier(node);
9715
9726
  }
9716
9727
  function isGeneratedIdentifier(node) {
9717
- return isIdentifier(node) && node.autoGenerate !== void 0;
9728
+ var _a2;
9729
+ return isIdentifier(node) && ((_a2 = node.emitNode) == null ? void 0 : _a2.autoGenerate) !== void 0;
9718
9730
  }
9719
9731
  function isGeneratedPrivateIdentifier(node) {
9720
- return isPrivateIdentifier(node) && node.autoGenerate !== void 0;
9732
+ var _a2;
9733
+ return isPrivateIdentifier(node) && ((_a2 = node.emitNode) == null ? void 0 : _a2.autoGenerate) !== void 0;
9721
9734
  }
9722
9735
  function isPrivateIdentifierClassElementDeclaration(node) {
9723
9736
  return (isPropertyDeclaration(node) || isMethodOrAccessor(node)) && isPrivateIdentifier(node.name);
@@ -10374,10 +10387,11 @@ function isComputedNonLiteralName(name) {
10374
10387
  return name.kind === 164 /* ComputedPropertyName */ && !isStringOrNumericLiteralLike(name.expression);
10375
10388
  }
10376
10389
  function tryGetTextOfPropertyName(name) {
10390
+ var _a2;
10377
10391
  switch (name.kind) {
10378
10392
  case 79 /* Identifier */:
10379
10393
  case 80 /* PrivateIdentifier */:
10380
- return name.autoGenerate ? void 0 : name.escapedText;
10394
+ return ((_a2 = name.emitNode) == null ? void 0 : _a2.autoGenerate) ? void 0 : name.escapedText;
10381
10395
  case 10 /* StringLiteral */:
10382
10396
  case 8 /* NumericLiteral */:
10383
10397
  case 14 /* NoSubstitutionTemplateLiteral */:
@@ -11455,7 +11469,7 @@ function isThisIdentifier(node) {
11455
11469
  return !!node && node.kind === 79 /* Identifier */ && identifierIsThisKeyword(node);
11456
11470
  }
11457
11471
  function identifierIsThisKeyword(id) {
11458
- return id.originalKeywordKind === 108 /* ThisKeyword */;
11472
+ return id.escapedText === "this";
11459
11473
  }
11460
11474
  function hasSyntacticModifier(node, flags) {
11461
11475
  return !!getSelectedSyntacticModifierFlags(node, flags);
@@ -11523,7 +11537,7 @@ function getEffectiveModifierFlagsNoCache(node) {
11523
11537
  }
11524
11538
  function getSyntacticModifierFlagsNoCache(node) {
11525
11539
  let flags = canHaveModifiers(node) ? modifiersToFlags(node.modifiers) : 0 /* None */;
11526
- 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 */) {
11527
11541
  flags |= 1 /* Export */;
11528
11542
  }
11529
11543
  return flags;
@@ -11754,7 +11768,6 @@ function Identifier2(kind, pos, end) {
11754
11768
  this.parent = void 0;
11755
11769
  this.original = void 0;
11756
11770
  this.emitNode = void 0;
11757
- this.flowNode = void 0;
11758
11771
  }
11759
11772
  function SourceMapSource(fileName, text, skipTrivia2) {
11760
11773
  this.fileName = fileName;
@@ -12937,7 +12950,6 @@ function createNodeFactory(flags, baseFactory2) {
12937
12950
  createRegularExpressionLiteral,
12938
12951
  createLiteralLikeNode,
12939
12952
  createIdentifier,
12940
- updateIdentifier,
12941
12953
  createTempVariable,
12942
12954
  createLoopVariable,
12943
12955
  createUniqueName,
@@ -13680,55 +13692,43 @@ function createNodeFactory(flags, baseFactory2) {
13680
13692
  );
13681
13693
  }
13682
13694
  }
13683
- function createBaseIdentifier(escapedText, originalKeywordKind) {
13695
+ function createBaseIdentifier(escapedText) {
13684
13696
  const node = baseFactory2.createBaseIdentifierNode(79 /* Identifier */);
13685
- node.originalKeywordKind = originalKeywordKind;
13686
13697
  node.escapedText = escapedText;
13687
- node.autoGenerate = void 0;
13688
- node.typeArguments = void 0;
13689
- node.hasExtendedUnicodeEscape = void 0;
13690
13698
  node.jsDoc = void 0;
13691
- node.jsDocCache = void 0;
13692
13699
  node.flowNode = void 0;
13693
13700
  node.symbol = void 0;
13694
13701
  return node;
13695
13702
  }
13696
13703
  function createBaseGeneratedIdentifier(text, autoGenerateFlags, prefix, suffix) {
13697
- const node = createBaseIdentifier(
13698
- escapeLeadingUnderscores(text),
13699
- /*originalKeywordKind*/
13700
- void 0
13701
- );
13702
- node.autoGenerate = {
13704
+ const node = createBaseIdentifier(escapeLeadingUnderscores(text));
13705
+ setIdentifierAutoGenerate(node, {
13703
13706
  flags: autoGenerateFlags,
13704
13707
  id: nextAutoGenerateId,
13705
13708
  prefix,
13706
13709
  suffix
13707
- };
13710
+ });
13708
13711
  nextAutoGenerateId++;
13709
13712
  return node;
13710
13713
  }
13711
- function createIdentifier(text, typeArguments, originalKeywordKind, hasExtendedUnicodeEscape) {
13714
+ function createIdentifier(text, originalKeywordKind, hasExtendedUnicodeEscape) {
13712
13715
  if (originalKeywordKind === void 0 && text) {
13713
13716
  originalKeywordKind = stringToToken(text);
13714
13717
  }
13715
13718
  if (originalKeywordKind === 79 /* Identifier */) {
13716
13719
  originalKeywordKind = void 0;
13717
13720
  }
13718
- const node = createBaseIdentifier(escapeLeadingUnderscores(text), originalKeywordKind);
13719
- node.typeArguments = asNodeArray(typeArguments);
13720
- node.hasExtendedUnicodeEscape = hasExtendedUnicodeEscape;
13721
- if (node.originalKeywordKind === 133 /* AwaitKeyword */) {
13721
+ const node = createBaseIdentifier(escapeLeadingUnderscores(text));
13722
+ if (hasExtendedUnicodeEscape)
13723
+ node.flags |= 128 /* IdentifierHasExtendedUnicodeEscape */;
13724
+ if (node.escapedText === "await") {
13722
13725
  node.transformFlags |= 67108864 /* ContainsPossibleTopLevelAwait */;
13723
13726
  }
13724
- if (node.hasExtendedUnicodeEscape) {
13727
+ if (node.flags & 128 /* IdentifierHasExtendedUnicodeEscape */) {
13725
13728
  node.transformFlags |= 1024 /* ContainsES2015 */;
13726
13729
  }
13727
13730
  return node;
13728
13731
  }
13729
- function updateIdentifier(node, typeArguments) {
13730
- return node.typeArguments !== typeArguments ? update(createIdentifier(idText(node), typeArguments), node) : node;
13731
- }
13732
13732
  function createTempVariable(recordTempVariable, reservedInNestedScopes, prefix, suffix) {
13733
13733
  let flags2 = 1 /* Auto */;
13734
13734
  if (reservedInNestedScopes)
@@ -13776,7 +13776,6 @@ function createNodeFactory(flags, baseFactory2) {
13776
13776
  function createBasePrivateIdentifier(escapedText) {
13777
13777
  const node = baseFactory2.createBasePrivateIdentifierNode(80 /* PrivateIdentifier */);
13778
13778
  node.escapedText = escapedText;
13779
- node.autoGenerate = void 0;
13780
13779
  node.transformFlags |= 16777216 /* ContainsClassFields */;
13781
13780
  return node;
13782
13781
  }
@@ -13787,12 +13786,12 @@ function createNodeFactory(flags, baseFactory2) {
13787
13786
  }
13788
13787
  function createBaseGeneratedPrivateIdentifier(text, autoGenerateFlags, prefix, suffix) {
13789
13788
  const node = createBasePrivateIdentifier(escapeLeadingUnderscores(text));
13790
- node.autoGenerate = {
13789
+ setIdentifierAutoGenerate(node, {
13791
13790
  flags: autoGenerateFlags,
13792
13791
  id: nextAutoGenerateId,
13793
13792
  prefix,
13794
13793
  suffix
13795
- };
13794
+ });
13796
13795
  nextAutoGenerateId++;
13797
13796
  return node;
13798
13797
  }
@@ -13954,7 +13953,6 @@ function createNodeFactory(flags, baseFactory2) {
13954
13953
  node.transformFlags = 1 /* ContainsTypeScript */;
13955
13954
  node.expression = void 0;
13956
13955
  node.jsDoc = void 0;
13957
- node.jsDocCache = void 0;
13958
13956
  return node;
13959
13957
  }
13960
13958
  function updateTypeParameterDeclaration(node, modifiers, name, constraint, defaultType) {
@@ -13975,7 +13973,6 @@ function createNodeFactory(flags, baseFactory2) {
13975
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 */);
13976
13974
  }
13977
13975
  node.jsDoc = void 0;
13978
- node.jsDocCache = void 0;
13979
13976
  return node;
13980
13977
  }
13981
13978
  function updateParameterDeclaration(node, modifiers, dotDotDotToken, name, questionToken, type, initializer) {
@@ -14003,7 +14000,6 @@ function createNodeFactory(flags, baseFactory2) {
14003
14000
  node.transformFlags = 1 /* ContainsTypeScript */;
14004
14001
  node.initializer = void 0;
14005
14002
  node.jsDoc = void 0;
14006
- node.jsDocCache = void 0;
14007
14003
  return node;
14008
14004
  }
14009
14005
  function updatePropertySignature(node, modifiers, name, questionToken, type) {
@@ -14026,7 +14022,6 @@ function createNodeFactory(flags, baseFactory2) {
14026
14022
  const isAmbient = node.flags & 16777216 /* Ambient */ || modifiersToFlags(node.modifiers) & 2 /* Ambient */;
14027
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 */;
14028
14024
  node.jsDoc = void 0;
14029
- node.jsDocCache = void 0;
14030
14025
  return node;
14031
14026
  }
14032
14027
  function updatePropertyDeclaration(node, modifiers, name, questionOrExclamationToken, type, initializer) {
@@ -14042,7 +14037,6 @@ function createNodeFactory(flags, baseFactory2) {
14042
14037
  node.type = type;
14043
14038
  node.transformFlags = 1 /* ContainsTypeScript */;
14044
14039
  node.jsDoc = void 0;
14045
- node.jsDocCache = void 0;
14046
14040
  node.locals = void 0;
14047
14041
  node.nextContainer = void 0;
14048
14042
  node.typeArguments = void 0;
@@ -14072,7 +14066,6 @@ function createNodeFactory(flags, baseFactory2) {
14072
14066
  }
14073
14067
  node.typeArguments = void 0;
14074
14068
  node.jsDoc = void 0;
14075
- node.jsDocCache = void 0;
14076
14069
  node.locals = void 0;
14077
14070
  node.nextContainer = void 0;
14078
14071
  node.flowNode = void 0;
@@ -14096,7 +14089,6 @@ function createNodeFactory(flags, baseFactory2) {
14096
14089
  node.illegalDecorators = void 0;
14097
14090
  node.modifiers = void 0;
14098
14091
  node.jsDoc = void 0;
14099
- node.jsDocCache = void 0;
14100
14092
  node.locals = void 0;
14101
14093
  node.nextContainer = void 0;
14102
14094
  node.endFlowNode = void 0;
@@ -14124,7 +14116,6 @@ function createNodeFactory(flags, baseFactory2) {
14124
14116
  node.type = void 0;
14125
14117
  node.typeArguments = void 0;
14126
14118
  node.jsDoc = void 0;
14127
- node.jsDocCache = void 0;
14128
14119
  node.locals = void 0;
14129
14120
  node.nextContainer = void 0;
14130
14121
  node.endFlowNode = void 0;
@@ -14157,7 +14148,6 @@ function createNodeFactory(flags, baseFactory2) {
14157
14148
  node.typeArguments = void 0;
14158
14149
  node.typeParameters = void 0;
14159
14150
  node.jsDoc = void 0;
14160
- node.jsDocCache = void 0;
14161
14151
  node.locals = void 0;
14162
14152
  node.nextContainer = void 0;
14163
14153
  node.flowNode = void 0;
@@ -14189,7 +14179,6 @@ function createNodeFactory(flags, baseFactory2) {
14189
14179
  node.typeParameters = void 0;
14190
14180
  node.type = void 0;
14191
14181
  node.jsDoc = void 0;
14192
- node.jsDocCache = void 0;
14193
14182
  node.locals = void 0;
14194
14183
  node.nextContainer = void 0;
14195
14184
  node.flowNode = void 0;
@@ -14214,7 +14203,6 @@ function createNodeFactory(flags, baseFactory2) {
14214
14203
  node.type = type;
14215
14204
  node.transformFlags = 1 /* ContainsTypeScript */;
14216
14205
  node.jsDoc = void 0;
14217
- node.jsDocCache = void 0;
14218
14206
  node.locals = void 0;
14219
14207
  node.nextContainer = void 0;
14220
14208
  node.typeArguments = void 0;
@@ -14230,7 +14218,6 @@ function createNodeFactory(flags, baseFactory2) {
14230
14218
  node.type = type;
14231
14219
  node.transformFlags = 1 /* ContainsTypeScript */;
14232
14220
  node.jsDoc = void 0;
14233
- node.jsDocCache = void 0;
14234
14221
  node.locals = void 0;
14235
14222
  node.nextContainer = void 0;
14236
14223
  node.typeArguments = void 0;
@@ -14247,7 +14234,6 @@ function createNodeFactory(flags, baseFactory2) {
14247
14234
  node.transformFlags = 1 /* ContainsTypeScript */;
14248
14235
  node.illegalDecorators = void 0;
14249
14236
  node.jsDoc = void 0;
14250
- node.jsDocCache = void 0;
14251
14237
  node.locals = void 0;
14252
14238
  node.nextContainer = void 0;
14253
14239
  node.typeArguments = void 0;
@@ -14298,7 +14284,6 @@ function createNodeFactory(flags, baseFactory2) {
14298
14284
  node.transformFlags = 1 /* ContainsTypeScript */;
14299
14285
  node.modifiers = void 0;
14300
14286
  node.jsDoc = void 0;
14301
- node.jsDocCache = void 0;
14302
14287
  node.locals = void 0;
14303
14288
  node.nextContainer = void 0;
14304
14289
  node.typeArguments = void 0;
@@ -14324,7 +14309,6 @@ function createNodeFactory(flags, baseFactory2) {
14324
14309
  node.type = type;
14325
14310
  node.transformFlags = 1 /* ContainsTypeScript */;
14326
14311
  node.jsDoc = void 0;
14327
- node.jsDocCache = void 0;
14328
14312
  node.locals = void 0;
14329
14313
  node.nextContainer = void 0;
14330
14314
  node.typeArguments = void 0;
@@ -14393,7 +14377,6 @@ function createNodeFactory(flags, baseFactory2) {
14393
14377
  node.type = type;
14394
14378
  node.transformFlags = 1 /* ContainsTypeScript */;
14395
14379
  node.jsDoc = void 0;
14396
- node.jsDocCache = void 0;
14397
14380
  return node;
14398
14381
  }
14399
14382
  function updateNamedTupleMember(node, dotDotDotToken, name, questionToken, type) {
@@ -14595,7 +14578,6 @@ function createNodeFactory(flags, baseFactory2) {
14595
14578
  node.multiLine = multiLine;
14596
14579
  node.transformFlags |= propagateChildrenFlags(node.properties);
14597
14580
  node.jsDoc = void 0;
14598
- node.jsDocCache = void 0;
14599
14581
  return node;
14600
14582
  }
14601
14583
  function updateObjectLiteralExpression(node, properties) {
@@ -14608,7 +14590,6 @@ function createNodeFactory(flags, baseFactory2) {
14608
14590
  node.name = name;
14609
14591
  node.transformFlags = propagateChildFlags(node.expression) | propagateChildFlags(node.questionDotToken) | (isIdentifier(node.name) ? propagateIdentifierNameFlags(node.name) : propagateChildFlags(node.name) | 536870912 /* ContainsPrivateIdentifierInExpression */);
14610
14592
  node.jsDoc = void 0;
14611
- node.jsDocCache = void 0;
14612
14593
  node.flowNode = void 0;
14613
14594
  return node;
14614
14595
  }
@@ -14659,7 +14640,6 @@ function createNodeFactory(flags, baseFactory2) {
14659
14640
  node.argumentExpression = argumentExpression;
14660
14641
  node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.questionDotToken) | propagateChildFlags(node.argumentExpression);
14661
14642
  node.jsDoc = void 0;
14662
- node.jsDocCache = void 0;
14663
14643
  node.flowNode = void 0;
14664
14644
  return node;
14665
14645
  }
@@ -14810,7 +14790,6 @@ function createNodeFactory(flags, baseFactory2) {
14810
14790
  node.expression = expression;
14811
14791
  node.transformFlags = propagateChildFlags(node.expression);
14812
14792
  node.jsDoc = void 0;
14813
- node.jsDocCache = void 0;
14814
14793
  return node;
14815
14794
  }
14816
14795
  function updateParenthesizedExpression(node, expression) {
@@ -14831,7 +14810,6 @@ function createNodeFactory(flags, baseFactory2) {
14831
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 */;
14832
14811
  node.typeArguments = void 0;
14833
14812
  node.jsDoc = void 0;
14834
- node.jsDocCache = void 0;
14835
14813
  node.locals = void 0;
14836
14814
  node.nextContainer = void 0;
14837
14815
  node.flowNode = void 0;
@@ -14854,7 +14832,6 @@ function createNodeFactory(flags, baseFactory2) {
14854
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 */;
14855
14833
  node.typeArguments = void 0;
14856
14834
  node.jsDoc = void 0;
14857
- node.jsDocCache = void 0;
14858
14835
  node.locals = void 0;
14859
14836
  node.nextContainer = void 0;
14860
14837
  node.flowNode = void 0;
@@ -14952,7 +14929,6 @@ function createNodeFactory(flags, baseFactory2) {
14952
14929
  node.transformFlags |= 536870912 /* ContainsPrivateIdentifierInExpression */;
14953
14930
  }
14954
14931
  node.jsDoc = void 0;
14955
- node.jsDocCache = void 0;
14956
14932
  return node;
14957
14933
  }
14958
14934
  function propagateAssignmentPatternFlags(node) {
@@ -15094,7 +15070,6 @@ function createNodeFactory(flags, baseFactory2) {
15094
15070
  node.members = createNodeArray(members);
15095
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 */;
15096
15072
  node.jsDoc = void 0;
15097
- node.jsDocCache = void 0;
15098
15073
  return node;
15099
15074
  }
15100
15075
  function updateClassExpression(node, modifiers, name, typeParameters, heritageClauses, members) {
@@ -15210,7 +15185,6 @@ function createNodeFactory(flags, baseFactory2) {
15210
15185
  node.multiLine = multiLine;
15211
15186
  node.transformFlags |= propagateChildrenFlags(node.statements);
15212
15187
  node.jsDoc = void 0;
15213
- node.jsDocCache = void 0;
15214
15188
  node.locals = void 0;
15215
15189
  node.nextContainer = void 0;
15216
15190
  return node;
@@ -15228,7 +15202,6 @@ function createNodeFactory(flags, baseFactory2) {
15228
15202
  }
15229
15203
  node.illegalDecorators = void 0;
15230
15204
  node.jsDoc = void 0;
15231
- node.jsDocCache = void 0;
15232
15205
  node.flowNode = void 0;
15233
15206
  return node;
15234
15207
  }
@@ -15238,7 +15211,6 @@ function createNodeFactory(flags, baseFactory2) {
15238
15211
  function createEmptyStatement() {
15239
15212
  const node = createBaseNode(239 /* EmptyStatement */);
15240
15213
  node.jsDoc = void 0;
15241
- node.jsDocCache = void 0;
15242
15214
  return node;
15243
15215
  }
15244
15216
  function createExpressionStatement(expression) {
@@ -15246,7 +15218,6 @@ function createNodeFactory(flags, baseFactory2) {
15246
15218
  node.expression = parenthesizerRules().parenthesizeExpressionOfExpressionStatement(expression);
15247
15219
  node.transformFlags |= propagateChildFlags(node.expression);
15248
15220
  node.jsDoc = void 0;
15249
- node.jsDocCache = void 0;
15250
15221
  node.flowNode = void 0;
15251
15222
  return node;
15252
15223
  }
@@ -15260,7 +15231,6 @@ function createNodeFactory(flags, baseFactory2) {
15260
15231
  node.elseStatement = asEmbeddedStatement(elseStatement);
15261
15232
  node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.thenStatement) | propagateChildFlags(node.elseStatement);
15262
15233
  node.jsDoc = void 0;
15263
- node.jsDocCache = void 0;
15264
15234
  node.flowNode = void 0;
15265
15235
  return node;
15266
15236
  }
@@ -15273,7 +15243,6 @@ function createNodeFactory(flags, baseFactory2) {
15273
15243
  node.expression = expression;
15274
15244
  node.transformFlags |= propagateChildFlags(node.statement) | propagateChildFlags(node.expression);
15275
15245
  node.jsDoc = void 0;
15276
- node.jsDocCache = void 0;
15277
15246
  node.flowNode = void 0;
15278
15247
  return node;
15279
15248
  }
@@ -15286,7 +15255,6 @@ function createNodeFactory(flags, baseFactory2) {
15286
15255
  node.statement = asEmbeddedStatement(statement);
15287
15256
  node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.statement);
15288
15257
  node.jsDoc = void 0;
15289
- node.jsDocCache = void 0;
15290
15258
  node.flowNode = void 0;
15291
15259
  return node;
15292
15260
  }
@@ -15301,7 +15269,6 @@ function createNodeFactory(flags, baseFactory2) {
15301
15269
  node.statement = asEmbeddedStatement(statement);
15302
15270
  node.transformFlags |= propagateChildFlags(node.initializer) | propagateChildFlags(node.condition) | propagateChildFlags(node.incrementor) | propagateChildFlags(node.statement);
15303
15271
  node.jsDoc = void 0;
15304
- node.jsDocCache = void 0;
15305
15272
  node.locals = void 0;
15306
15273
  node.nextContainer = void 0;
15307
15274
  node.flowNode = void 0;
@@ -15317,7 +15284,6 @@ function createNodeFactory(flags, baseFactory2) {
15317
15284
  node.statement = asEmbeddedStatement(statement);
15318
15285
  node.transformFlags |= propagateChildFlags(node.initializer) | propagateChildFlags(node.expression) | propagateChildFlags(node.statement);
15319
15286
  node.jsDoc = void 0;
15320
- node.jsDocCache = void 0;
15321
15287
  node.locals = void 0;
15322
15288
  node.nextContainer = void 0;
15323
15289
  node.flowNode = void 0;
@@ -15336,7 +15302,6 @@ function createNodeFactory(flags, baseFactory2) {
15336
15302
  if (awaitModifier)
15337
15303
  node.transformFlags |= 128 /* ContainsES2018 */;
15338
15304
  node.jsDoc = void 0;
15339
- node.jsDocCache = void 0;
15340
15305
  node.locals = void 0;
15341
15306
  node.nextContainer = void 0;
15342
15307
  node.flowNode = void 0;
@@ -15350,7 +15315,6 @@ function createNodeFactory(flags, baseFactory2) {
15350
15315
  node.label = asName(label);
15351
15316
  node.transformFlags |= propagateChildFlags(node.label) | 4194304 /* ContainsHoistedDeclarationOrCompletion */;
15352
15317
  node.jsDoc = void 0;
15353
- node.jsDocCache = void 0;
15354
15318
  node.flowNode = void 0;
15355
15319
  return node;
15356
15320
  }
@@ -15362,7 +15326,6 @@ function createNodeFactory(flags, baseFactory2) {
15362
15326
  node.label = asName(label);
15363
15327
  node.transformFlags |= propagateChildFlags(node.label) | 4194304 /* ContainsHoistedDeclarationOrCompletion */;
15364
15328
  node.jsDoc = void 0;
15365
- node.jsDocCache = void 0;
15366
15329
  node.flowNode = void 0;
15367
15330
  return node;
15368
15331
  }
@@ -15374,7 +15337,6 @@ function createNodeFactory(flags, baseFactory2) {
15374
15337
  node.expression = expression;
15375
15338
  node.transformFlags |= propagateChildFlags(node.expression) | 128 /* ContainsES2018 */ | 4194304 /* ContainsHoistedDeclarationOrCompletion */;
15376
15339
  node.jsDoc = void 0;
15377
- node.jsDocCache = void 0;
15378
15340
  node.flowNode = void 0;
15379
15341
  return node;
15380
15342
  }
@@ -15387,7 +15349,6 @@ function createNodeFactory(flags, baseFactory2) {
15387
15349
  node.statement = asEmbeddedStatement(statement);
15388
15350
  node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.statement);
15389
15351
  node.jsDoc = void 0;
15390
- node.jsDocCache = void 0;
15391
15352
  node.flowNode = void 0;
15392
15353
  return node;
15393
15354
  }
@@ -15400,7 +15361,6 @@ function createNodeFactory(flags, baseFactory2) {
15400
15361
  node.caseBlock = caseBlock;
15401
15362
  node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.caseBlock);
15402
15363
  node.jsDoc = void 0;
15403
- node.jsDocCache = void 0;
15404
15364
  node.flowNode = void 0;
15405
15365
  node.possiblyExhaustive = false;
15406
15366
  return node;
@@ -15414,7 +15374,6 @@ function createNodeFactory(flags, baseFactory2) {
15414
15374
  node.statement = asEmbeddedStatement(statement);
15415
15375
  node.transformFlags |= propagateChildFlags(node.label) | propagateChildFlags(node.statement);
15416
15376
  node.jsDoc = void 0;
15417
- node.jsDocCache = void 0;
15418
15377
  node.flowNode = void 0;
15419
15378
  return node;
15420
15379
  }
@@ -15426,7 +15385,6 @@ function createNodeFactory(flags, baseFactory2) {
15426
15385
  node.expression = expression;
15427
15386
  node.transformFlags |= propagateChildFlags(node.expression);
15428
15387
  node.jsDoc = void 0;
15429
- node.jsDocCache = void 0;
15430
15388
  node.flowNode = void 0;
15431
15389
  return node;
15432
15390
  }
@@ -15440,7 +15398,6 @@ function createNodeFactory(flags, baseFactory2) {
15440
15398
  node.finallyBlock = finallyBlock;
15441
15399
  node.transformFlags |= propagateChildFlags(node.tryBlock) | propagateChildFlags(node.catchClause) | propagateChildFlags(node.finallyBlock);
15442
15400
  node.jsDoc = void 0;
15443
- node.jsDocCache = void 0;
15444
15401
  node.flowNode = void 0;
15445
15402
  return node;
15446
15403
  }
@@ -15450,7 +15407,6 @@ function createNodeFactory(flags, baseFactory2) {
15450
15407
  function createDebuggerStatement() {
15451
15408
  const node = createBaseNode(256 /* DebuggerStatement */);
15452
15409
  node.jsDoc = void 0;
15453
- node.jsDocCache = void 0;
15454
15410
  node.flowNode = void 0;
15455
15411
  return node;
15456
15412
  }
@@ -15463,7 +15419,6 @@ function createNodeFactory(flags, baseFactory2) {
15463
15419
  node.initializer = asInitializer(initializer);
15464
15420
  node.transformFlags |= propagateNameFlags(node.name) | propagateChildFlags(node.initializer) | (((_a2 = node.exclamationToken) != null ? _a2 : node.type) ? 1 /* ContainsTypeScript */ : 0 /* None */);
15465
15421
  node.jsDoc = void 0;
15466
- node.jsDocCache = void 0;
15467
15422
  return node;
15468
15423
  }
15469
15424
  function updateVariableDeclaration(node, name, exclamationToken, type, initializer) {
@@ -15502,7 +15457,6 @@ function createNodeFactory(flags, baseFactory2) {
15502
15457
  node.illegalDecorators = void 0;
15503
15458
  node.typeArguments = void 0;
15504
15459
  node.jsDoc = void 0;
15505
- node.jsDocCache = void 0;
15506
15460
  node.locals = void 0;
15507
15461
  node.nextContainer = void 0;
15508
15462
  node.endFlowNode = void 0;
@@ -15534,7 +15488,6 @@ function createNodeFactory(flags, baseFactory2) {
15534
15488
  }
15535
15489
  }
15536
15490
  node.jsDoc = void 0;
15537
- node.jsDocCache = void 0;
15538
15491
  return node;
15539
15492
  }
15540
15493
  function updateClassDeclaration(node, modifiers, name, typeParameters, heritageClauses, members) {
@@ -15550,7 +15503,6 @@ function createNodeFactory(flags, baseFactory2) {
15550
15503
  node.transformFlags = 1 /* ContainsTypeScript */;
15551
15504
  node.illegalDecorators = void 0;
15552
15505
  node.jsDoc = void 0;
15553
- node.jsDocCache = void 0;
15554
15506
  return node;
15555
15507
  }
15556
15508
  function updateInterfaceDeclaration(node, modifiers, name, typeParameters, heritageClauses, members) {
@@ -15571,7 +15523,6 @@ function createNodeFactory(flags, baseFactory2) {
15571
15523
  node.transformFlags = 1 /* ContainsTypeScript */;
15572
15524
  node.illegalDecorators = void 0;
15573
15525
  node.jsDoc = void 0;
15574
- node.jsDocCache = void 0;
15575
15526
  node.locals = void 0;
15576
15527
  node.nextContainer = void 0;
15577
15528
  return node;
@@ -15594,7 +15545,6 @@ function createNodeFactory(flags, baseFactory2) {
15594
15545
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */;
15595
15546
  node.illegalDecorators = void 0;
15596
15547
  node.jsDoc = void 0;
15597
- node.jsDocCache = void 0;
15598
15548
  return node;
15599
15549
  }
15600
15550
  function updateEnumDeclaration(node, modifiers, name, members) {
@@ -15620,7 +15570,6 @@ function createNodeFactory(flags, baseFactory2) {
15620
15570
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */;
15621
15571
  node.illegalDecorators = void 0;
15622
15572
  node.jsDoc = void 0;
15623
- node.jsDocCache = void 0;
15624
15573
  node.locals = void 0;
15625
15574
  node.nextContainer = void 0;
15626
15575
  return node;
@@ -15639,7 +15588,6 @@ function createNodeFactory(flags, baseFactory2) {
15639
15588
  node.statements = createNodeArray(statements);
15640
15589
  node.transformFlags |= propagateChildrenFlags(node.statements);
15641
15590
  node.jsDoc = void 0;
15642
- node.jsDocCache = void 0;
15643
15591
  return node;
15644
15592
  }
15645
15593
  function updateModuleBlock(node, statements) {
@@ -15663,7 +15611,6 @@ function createNodeFactory(flags, baseFactory2) {
15663
15611
  node.illegalDecorators = void 0;
15664
15612
  node.modifiers = void 0;
15665
15613
  node.jsDoc = void 0;
15666
- node.jsDocCache = void 0;
15667
15614
  return node;
15668
15615
  }
15669
15616
  function updateNamespaceExportDeclaration(node, name) {
@@ -15689,7 +15636,6 @@ function createNodeFactory(flags, baseFactory2) {
15689
15636
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */;
15690
15637
  node.illegalDecorators = void 0;
15691
15638
  node.jsDoc = void 0;
15692
- node.jsDocCache = void 0;
15693
15639
  return node;
15694
15640
  }
15695
15641
  function updateImportEqualsDeclaration(node, modifiers, isTypeOnly, name, moduleReference) {
@@ -15711,7 +15657,6 @@ function createNodeFactory(flags, baseFactory2) {
15711
15657
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */;
15712
15658
  node.illegalDecorators = void 0;
15713
15659
  node.jsDoc = void 0;
15714
- node.jsDocCache = void 0;
15715
15660
  return node;
15716
15661
  }
15717
15662
  function updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause) {
@@ -15823,7 +15768,6 @@ function createNodeFactory(flags, baseFactory2) {
15823
15768
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */;
15824
15769
  node.illegalDecorators = void 0;
15825
15770
  node.jsDoc = void 0;
15826
- node.jsDocCache = void 0;
15827
15771
  return node;
15828
15772
  }
15829
15773
  function updateExportAssignment(node, modifiers, expression) {
@@ -15846,7 +15790,6 @@ function createNodeFactory(flags, baseFactory2) {
15846
15790
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */;
15847
15791
  node.illegalDecorators = void 0;
15848
15792
  node.jsDoc = void 0;
15849
- node.jsDocCache = void 0;
15850
15793
  return node;
15851
15794
  }
15852
15795
  function updateExportDeclaration(node, modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause) {
@@ -15876,7 +15819,6 @@ function createNodeFactory(flags, baseFactory2) {
15876
15819
  node.transformFlags |= propagateChildFlags(node.propertyName) | propagateChildFlags(node.name);
15877
15820
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */;
15878
15821
  node.jsDoc = void 0;
15879
- node.jsDocCache = void 0;
15880
15822
  return node;
15881
15823
  }
15882
15824
  function updateExportSpecifier(node, isTypeOnly, propertyName, name) {
@@ -15885,7 +15827,6 @@ function createNodeFactory(flags, baseFactory2) {
15885
15827
  function createMissingDeclaration() {
15886
15828
  const node = createBaseDeclaration(279 /* MissingDeclaration */);
15887
15829
  node.jsDoc = void 0;
15888
- node.jsDocCache = void 0;
15889
15830
  return node;
15890
15831
  }
15891
15832
  function createExternalModuleReference(expression) {
@@ -15926,7 +15867,6 @@ function createNodeFactory(flags, baseFactory2) {
15926
15867
  node.type = type;
15927
15868
  node.transformFlags = propagateChildrenFlags(node.parameters) | (node.type ? 1 /* ContainsTypeScript */ : 0 /* None */);
15928
15869
  node.jsDoc = void 0;
15929
- node.jsDocCache = void 0;
15930
15870
  node.locals = void 0;
15931
15871
  node.nextContainer = void 0;
15932
15872
  node.typeArguments = void 0;
@@ -15958,7 +15898,6 @@ function createNodeFactory(flags, baseFactory2) {
15958
15898
  node.parameters = createNodeArray(parameters);
15959
15899
  node.type = type;
15960
15900
  node.jsDoc = void 0;
15961
- node.jsDocCache = void 0;
15962
15901
  node.locals = void 0;
15963
15902
  node.nextContainer = void 0;
15964
15903
  return node;
@@ -16286,7 +16225,6 @@ function createNodeFactory(flags, baseFactory2) {
16286
16225
  node.statements = createNodeArray(statements);
16287
16226
  node.transformFlags |= propagateChildFlags(node.expression) | propagateChildrenFlags(node.statements);
16288
16227
  node.jsDoc = void 0;
16289
- node.jsDocCache = void 0;
16290
16228
  return node;
16291
16229
  }
16292
16230
  function updateCaseClause(node, expression, statements) {
@@ -16343,7 +16281,6 @@ function createNodeFactory(flags, baseFactory2) {
16343
16281
  node.questionToken = void 0;
16344
16282
  node.exclamationToken = void 0;
16345
16283
  node.jsDoc = void 0;
16346
- node.jsDocCache = void 0;
16347
16284
  return node;
16348
16285
  }
16349
16286
  function updatePropertyAssignment(node, name, initializer) {
@@ -16369,7 +16306,6 @@ function createNodeFactory(flags, baseFactory2) {
16369
16306
  node.questionToken = void 0;
16370
16307
  node.exclamationToken = void 0;
16371
16308
  node.jsDoc = void 0;
16372
- node.jsDocCache = void 0;
16373
16309
  return node;
16374
16310
  }
16375
16311
  function updateShorthandPropertyAssignment(node, name, objectAssignmentInitializer) {
@@ -16390,7 +16326,6 @@ function createNodeFactory(flags, baseFactory2) {
16390
16326
  node.expression = parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression);
16391
16327
  node.transformFlags |= propagateChildFlags(node.expression) | 128 /* ContainsES2018 */ | 65536 /* ContainsObjectRestOrSpread */;
16392
16328
  node.jsDoc = void 0;
16393
- node.jsDocCache = void 0;
16394
16329
  return node;
16395
16330
  }
16396
16331
  function updateSpreadAssignment(node, expression) {
@@ -16402,7 +16337,6 @@ function createNodeFactory(flags, baseFactory2) {
16402
16337
  node.initializer = initializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer);
16403
16338
  node.transformFlags |= propagateChildFlags(node.name) | propagateChildFlags(node.initializer) | 1 /* ContainsTypeScript */;
16404
16339
  node.jsDoc = void 0;
16405
- node.jsDocCache = void 0;
16406
16340
  return node;
16407
16341
  }
16408
16342
  function updateEnumMember(node, name, initializer) {
@@ -16648,36 +16582,32 @@ function createNodeFactory(flags, baseFactory2) {
16648
16582
  return node.expression !== expression || node.thisArg !== thisArg ? update(createSyntheticReferenceExpression(expression, thisArg), node) : node;
16649
16583
  }
16650
16584
  function cloneGeneratedIdentifier(node) {
16651
- const clone2 = createBaseIdentifier(
16652
- node.escapedText,
16653
- /*originalKeywordKind*/
16654
- void 0
16655
- );
16585
+ const clone2 = createBaseIdentifier(node.escapedText);
16656
16586
  clone2.flags |= node.flags & ~8 /* Synthesized */;
16657
- clone2.autoGenerate = { ...node.autoGenerate };
16658
16587
  clone2.transformFlags = node.transformFlags;
16659
16588
  setOriginalNode(clone2, node);
16589
+ setIdentifierAutoGenerate(clone2, { ...node.emitNode.autoGenerate });
16660
16590
  return clone2;
16661
16591
  }
16662
16592
  function cloneIdentifier(node) {
16663
- const clone2 = createBaseIdentifier(node.escapedText, node.originalKeywordKind);
16593
+ const clone2 = createBaseIdentifier(node.escapedText);
16664
16594
  clone2.flags |= node.flags & ~8 /* Synthesized */;
16665
- clone2.typeArguments = node.typeArguments;
16666
- clone2.hasExtendedUnicodeEscape = node.hasExtendedUnicodeEscape;
16667
16595
  clone2.jsDoc = node.jsDoc;
16668
- clone2.jsDocCache = node.jsDocCache;
16669
16596
  clone2.flowNode = node.flowNode;
16670
16597
  clone2.symbol = node.symbol;
16671
16598
  clone2.transformFlags = node.transformFlags;
16672
16599
  setOriginalNode(clone2, node);
16600
+ const typeArguments = getIdentifierTypeArguments(node);
16601
+ if (typeArguments)
16602
+ setIdentifierTypeArguments(clone2, typeArguments);
16673
16603
  return clone2;
16674
16604
  }
16675
16605
  function cloneGeneratedPrivateIdentifier(node) {
16676
16606
  const clone2 = createBasePrivateIdentifier(node.escapedText);
16677
16607
  clone2.flags |= node.flags & ~8 /* Synthesized */;
16678
- clone2.autoGenerate = { ...node.autoGenerate };
16679
16608
  clone2.transformFlags = node.transformFlags;
16680
16609
  setOriginalNode(clone2, node);
16610
+ setIdentifierAutoGenerate(clone2, { ...node.emitNode.autoGenerate });
16681
16611
  return clone2;
16682
16612
  }
16683
16613
  function clonePrivateIdentifier(node) {
@@ -17545,6 +17475,18 @@ function getSyntheticTrailingComments(node) {
17545
17475
  var _a2;
17546
17476
  return (_a2 = node.emitNode) == null ? void 0 : _a2.trailingComments;
17547
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
+ }
17548
17490
 
17549
17491
  // src/compiler/factory/emitHelpers.ts
17550
17492
  function helperString(input, ...args) {
@@ -19755,8 +19697,6 @@ var Parser;
19755
19697
  const pos = getNodePos();
19756
19698
  const result = kind === 79 /* Identifier */ ? factory2.createIdentifier(
19757
19699
  "",
19758
- /*typeArguments*/
19759
- void 0,
19760
19700
  /*originalKeywordKind*/
19761
19701
  void 0
19762
19702
  ) : isTemplateLiteralKind(kind) ? factory2.createTemplateLiteralLikeNode(
@@ -19791,13 +19731,7 @@ var Parser;
19791
19731
  const text = internIdentifier(scanner.getTokenValue());
19792
19732
  const hasExtendedUnicodeEscape = scanner.hasExtendedUnicodeEscape();
19793
19733
  nextTokenWithoutCheck();
19794
- return finishNode(factory2.createIdentifier(
19795
- text,
19796
- /*typeArguments*/
19797
- void 0,
19798
- originalKeywordKind,
19799
- hasExtendedUnicodeEscape
19800
- ), pos);
19734
+ return finishNode(factory2.createIdentifier(text, originalKeywordKind, hasExtendedUnicodeEscape), pos);
19801
19735
  }
19802
19736
  if (token() === 80 /* PrivateIdentifier */) {
19803
19737
  parseErrorAtCurrentToken(privateIdentifierDiagnosticMessage || Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies);
@@ -20139,6 +20073,7 @@ var Parser;
20139
20073
  return parseElement();
20140
20074
  }
20141
20075
  function currentNode(parsingContext2, pos) {
20076
+ var _a2;
20142
20077
  if (!syntaxCursor || !isReusableParsingContext(parsingContext2) || parseErrorBeforeNextFinishedNode) {
20143
20078
  return void 0;
20144
20079
  }
@@ -20153,8 +20088,8 @@ var Parser;
20153
20088
  if (!canReuseNode(node, parsingContext2)) {
20154
20089
  return void 0;
20155
20090
  }
20156
- if (canHaveJSDoc(node) && node.jsDocCache) {
20157
- node.jsDocCache = void 0;
20091
+ if (canHaveJSDoc(node) && ((_a2 = node.jsDoc) == null ? void 0 : _a2.jsDocCache)) {
20092
+ node.jsDoc.jsDocCache = void 0;
20158
20093
  }
20159
20094
  return node;
20160
20095
  }
@@ -20213,7 +20148,7 @@ var Parser;
20213
20148
  return true;
20214
20149
  case 171 /* MethodDeclaration */:
20215
20150
  const methodDeclaration = node;
20216
- const nameIsConstructor = methodDeclaration.name.kind === 79 /* Identifier */ && methodDeclaration.name.originalKeywordKind === 135 /* ConstructorKeyword */;
20151
+ const nameIsConstructor = methodDeclaration.name.kind === 79 /* Identifier */ && methodDeclaration.name.escapedText === "constructor";
20217
20152
  return !nameIsConstructor;
20218
20153
  }
20219
20154
  }
@@ -20435,13 +20370,10 @@ var Parser;
20435
20370
  function parseEntityName(allowReservedWords, diagnosticMessage) {
20436
20371
  const pos = getNodePos();
20437
20372
  let entity = allowReservedWords ? parseIdentifierName(diagnosticMessage) : parseIdentifier(diagnosticMessage);
20438
- let dotPos = getNodePos();
20439
20373
  while (parseOptional(24 /* DotToken */)) {
20440
20374
  if (token() === 29 /* LessThanToken */) {
20441
- entity.jsdocDotPos = dotPos;
20442
20375
  break;
20443
20376
  }
20444
- dotPos = getNodePos();
20445
20377
  entity = finishNode(
20446
20378
  factory2.createQualifiedName(
20447
20379
  entity,
@@ -25221,7 +25153,7 @@ var Parser;
25221
25153
  return finishNode(jsDocNamespaceNode, pos);
25222
25154
  }
25223
25155
  if (nested) {
25224
- typeNameOrNamespaceName.isInJSDocNamespace = true;
25156
+ typeNameOrNamespaceName.flags |= 2048 /* IdentifierIsInJSDocNamespace */;
25225
25157
  }
25226
25158
  return typeNameOrNamespaceName;
25227
25159
  }
@@ -25425,12 +25357,7 @@ var Parser;
25425
25357
  const end2 = scanner.getTextPos();
25426
25358
  const originalKeywordKind = token();
25427
25359
  const text = internIdentifier(scanner.getTokenValue());
25428
- const result = finishNode(factory2.createIdentifier(
25429
- text,
25430
- /*typeArguments*/
25431
- void 0,
25432
- originalKeywordKind
25433
- ), pos, end2);
25360
+ const result = finishNode(factory2.createIdentifier(text, originalKeywordKind), pos, end2);
25434
25361
  nextTokenJSDoc();
25435
25362
  return result;
25436
25363
  }
@@ -27760,7 +27687,8 @@ function convertToObjectWorker(sourceFile, rootExpression, errors, returnValue,
27760
27687
  if (returnValue) {
27761
27688
  result[keyText] = value;
27762
27689
  }
27763
- if (jsonConversionNotifier && (parentOption || isRootOptionMap(knownOptions))) {
27690
+ if (jsonConversionNotifier && // Current callbacks are only on known parent option or if we are setting values in the root
27691
+ (parentOption || isRootOptionMap(knownOptions))) {
27764
27692
  const isValidOptionValue = isCompilerOptionsValue(option, value);
27765
27693
  if (parentOption) {
27766
27694
  if (isValidOptionValue) {
@@ -27998,7 +27926,7 @@ function formatExtensions(extensions) {
27998
27926
  result.push("JSON");
27999
27927
  return result.join(", ");
28000
27928
  }
28001
- function createResolvedModuleWithFailedLookupLocations(resolved, isExternalLibraryImport, failedLookupLocations, affectingLocations, diagnostics, resultFromCache) {
27929
+ function createResolvedModuleWithFailedLookupLocations(resolved, isExternalLibraryImport, failedLookupLocations, affectingLocations, diagnostics, resultFromCache, legacyResult) {
28002
27930
  if (resultFromCache) {
28003
27931
  resultFromCache.failedLookupLocations = updateResolutionField(resultFromCache.failedLookupLocations, failedLookupLocations);
28004
27932
  resultFromCache.affectingLocations = updateResolutionField(resultFromCache.affectingLocations, affectingLocations);
@@ -28016,7 +27944,8 @@ function createResolvedModuleWithFailedLookupLocations(resolved, isExternalLibra
28016
27944
  },
28017
27945
  failedLookupLocations: initializeResolutionField(failedLookupLocations),
28018
27946
  affectingLocations: initializeResolutionField(affectingLocations),
28019
- resolutionDiagnostics: initializeResolutionField(diagnostics)
27947
+ resolutionDiagnostics: initializeResolutionField(diagnostics),
27948
+ node10Result: legacyResult
28020
27949
  };
28021
27950
  }
28022
27951
  function initializeResolutionField(value) {
@@ -28468,7 +28397,7 @@ function nodeModuleNameResolver(moduleName, containingFile, compilerOptions, hos
28468
28397
  return nodeModuleNameResolverWorker(0 /* None */, moduleName, getDirectoryPath(containingFile), compilerOptions, host, cache, extensions, !!isConfigLookup, redirectedReference);
28469
28398
  }
28470
28399
  function nodeModuleNameResolverWorker(features, moduleName, containingDirectory, compilerOptions, host, cache, extensions, isConfigLookup, redirectedReference) {
28471
- var _a2, _b;
28400
+ var _a2, _b, _c, _d;
28472
28401
  const traceEnabled = isTraceEnabled(compilerOptions, host);
28473
28402
  const failedLookupLocations = [];
28474
28403
  const affectingLocations = [];
@@ -28495,44 +28424,60 @@ function nodeModuleNameResolverWorker(features, moduleName, containingDirectory,
28495
28424
  if (getEmitModuleResolutionKind(compilerOptions) === 2 /* Node10 */) {
28496
28425
  const priorityExtensions = extensions & (1 /* TypeScript */ | 4 /* Declaration */);
28497
28426
  const secondaryExtensions = extensions & ~(1 /* TypeScript */ | 4 /* Declaration */);
28498
- result = priorityExtensions && tryResolve(priorityExtensions) || secondaryExtensions && tryResolve(secondaryExtensions) || void 0;
28427
+ result = priorityExtensions && tryResolve(priorityExtensions, state) || secondaryExtensions && tryResolve(secondaryExtensions, state) || void 0;
28499
28428
  } else {
28500
- result = tryResolve(extensions);
28429
+ result = tryResolve(extensions, state);
28430
+ }
28431
+ let legacyResult;
28432
+ 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) {
28433
+ traceIfEnabled(state, Diagnostics.Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_if_npm_library_needs_configuration_update);
28434
+ const diagnosticState = {
28435
+ ...state,
28436
+ features: state.features & ~8 /* Exports */,
28437
+ failedLookupLocations: [],
28438
+ affectingLocations: [],
28439
+ reportDiagnostic: noop
28440
+ };
28441
+ const diagnosticResult = tryResolve(extensions & (1 /* TypeScript */ | 4 /* Declaration */), diagnosticState);
28442
+ if ((_b = diagnosticResult == null ? void 0 : diagnosticResult.value) == null ? void 0 : _b.isExternalLibraryImport) {
28443
+ legacyResult = diagnosticResult.value.resolved.path;
28444
+ }
28501
28445
  }
28502
28446
  return createResolvedModuleWithFailedLookupLocations(
28503
- (_a2 = result == null ? void 0 : result.value) == null ? void 0 : _a2.resolved,
28504
- (_b = result == null ? void 0 : result.value) == null ? void 0 : _b.isExternalLibraryImport,
28447
+ (_c = result == null ? void 0 : result.value) == null ? void 0 : _c.resolved,
28448
+ (_d = result == null ? void 0 : result.value) == null ? void 0 : _d.isExternalLibraryImport,
28505
28449
  failedLookupLocations,
28506
28450
  affectingLocations,
28507
28451
  diagnostics,
28508
- state.resultFromCache
28452
+ state.resultFromCache,
28453
+ legacyResult
28509
28454
  );
28510
- function tryResolve(extensions2) {
28511
- const loader = (extensions3, candidate, onlyRecordFailures, state2) => nodeLoadModuleByRelativeName(
28455
+ function tryResolve(extensions2, state2) {
28456
+ const loader = (extensions3, candidate, onlyRecordFailures, state3) => nodeLoadModuleByRelativeName(
28512
28457
  extensions3,
28513
28458
  candidate,
28514
28459
  onlyRecordFailures,
28515
- state2,
28460
+ state3,
28516
28461
  /*considerPackageJson*/
28517
28462
  true
28518
28463
  );
28519
- const resolved = tryLoadModuleUsingOptionalResolutionSettings(extensions2, moduleName, containingDirectory, loader, state);
28464
+ const resolved = tryLoadModuleUsingOptionalResolutionSettings(extensions2, moduleName, containingDirectory, loader, state2);
28520
28465
  if (resolved) {
28521
28466
  return toSearchResult({ resolved, isExternalLibraryImport: pathContainsNodeModules(resolved.path) });
28522
28467
  }
28523
28468
  if (!isExternalModuleNameRelative(moduleName)) {
28524
28469
  let resolved2;
28525
28470
  if (features & 2 /* Imports */ && startsWith(moduleName, "#")) {
28526
- resolved2 = loadModuleFromImports(extensions2, moduleName, containingDirectory, state, cache, redirectedReference);
28471
+ resolved2 = loadModuleFromImports(extensions2, moduleName, containingDirectory, state2, cache, redirectedReference);
28527
28472
  }
28528
28473
  if (!resolved2 && features & 4 /* SelfName */) {
28529
- resolved2 = loadModuleFromSelfNameReference(extensions2, moduleName, containingDirectory, state, cache, redirectedReference);
28474
+ resolved2 = loadModuleFromSelfNameReference(extensions2, moduleName, containingDirectory, state2, cache, redirectedReference);
28530
28475
  }
28531
28476
  if (!resolved2) {
28532
28477
  if (traceEnabled) {
28533
28478
  trace(host, Diagnostics.Loading_module_0_from_node_modules_folder_target_file_types_Colon_1, moduleName, formatExtensions(extensions2));
28534
28479
  }
28535
- resolved2 = loadModuleFromNearestNodeModulesDirectory(extensions2, moduleName, containingDirectory, state, cache, redirectedReference);
28480
+ resolved2 = loadModuleFromNearestNodeModulesDirectory(extensions2, moduleName, containingDirectory, state2, cache, redirectedReference);
28536
28481
  }
28537
28482
  if (!resolved2)
28538
28483
  return void 0;
@@ -28551,7 +28496,7 @@ function nodeModuleNameResolverWorker(features, moduleName, containingDirectory,
28551
28496
  candidate,
28552
28497
  /*onlyRecordFailures*/
28553
28498
  false,
28554
- state,
28499
+ state2,
28555
28500
  /*considerPackageJson*/
28556
28501
  true
28557
28502
  );
@@ -29708,7 +29653,7 @@ function getModuleInstanceStateWorker(node, visited) {
29708
29653
  case 264 /* ModuleDeclaration */:
29709
29654
  return getModuleInstanceState(node, visited);
29710
29655
  case 79 /* Identifier */:
29711
- if (node.isInJSDocNamespace) {
29656
+ if (node.flags & 2048 /* IdentifierIsInJSDocNamespace */) {
29712
29657
  return 0 /* NonInstantiated */;
29713
29658
  }
29714
29659
  }
@@ -30137,6 +30082,7 @@ function createBinder() {
30137
30082
  } else if (containerFlags & 64 /* IsInterface */) {
30138
30083
  seenThisKeyword = false;
30139
30084
  bindChildren(node);
30085
+ Debug.assertNotNode(node, isIdentifier);
30140
30086
  node.flags = seenThisKeyword ? node.flags | 128 /* ContainsThis */ : node.flags & ~128 /* ContainsThis */;
30141
30087
  } else {
30142
30088
  bindChildren(node);
@@ -31296,13 +31242,14 @@ function createBinder() {
31296
31242
  }
31297
31243
  function checkContextualIdentifier(node) {
31298
31244
  if (!file.parseDiagnostics.length && !(node.flags & 16777216 /* Ambient */) && !(node.flags & 8388608 /* JSDoc */) && !isIdentifierName(node)) {
31299
- if (inStrictMode && node.originalKeywordKind >= 117 /* FirstFutureReservedWord */ && node.originalKeywordKind <= 125 /* LastFutureReservedWord */) {
31245
+ const originalKeywordKind = identifierToKeywordKind(node);
31246
+ if (inStrictMode && originalKeywordKind >= 117 /* FirstFutureReservedWord */ && originalKeywordKind <= 125 /* LastFutureReservedWord */) {
31300
31247
  file.bindDiagnostics.push(createDiagnosticForNode2(
31301
31248
  node,
31302
31249
  getStrictModeIdentifierMessage(node),
31303
31250
  declarationNameToString(node)
31304
31251
  ));
31305
- } else if (node.originalKeywordKind === 133 /* AwaitKeyword */) {
31252
+ } else if (originalKeywordKind === 133 /* AwaitKeyword */) {
31306
31253
  if (isExternalModule(file) && isInTopLevelContext(node)) {
31307
31254
  file.bindDiagnostics.push(createDiagnosticForNode2(
31308
31255
  node,
@@ -31316,7 +31263,7 @@ function createBinder() {
31316
31263
  declarationNameToString(node)
31317
31264
  ));
31318
31265
  }
31319
- } else if (node.originalKeywordKind === 125 /* YieldKeyword */ && node.flags & 8192 /* YieldContext */) {
31266
+ } else if (originalKeywordKind === 125 /* YieldKeyword */ && node.flags & 8192 /* YieldContext */) {
31320
31267
  file.bindDiagnostics.push(createDiagnosticForNode2(
31321
31268
  node,
31322
31269
  Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here,
@@ -31528,7 +31475,7 @@ function createBinder() {
31528
31475
  function bindWorker(node) {
31529
31476
  switch (node.kind) {
31530
31477
  case 79 /* Identifier */:
31531
- if (node.isInJSDocNamespace) {
31478
+ if (node.flags & 2048 /* IdentifierIsInJSDocNamespace */) {
31532
31479
  let parentNode = node.parent;
31533
31480
  while (parentNode && !isJSDocTypeAlias(parentNode)) {
31534
31481
  parentNode = parentNode.parent;
@@ -32352,8 +32299,12 @@ function createBinder() {
32352
32299
  return false;
32353
32300
  }
32354
32301
  if (currentFlow === unreachableFlow) {
32355
- const reportError = isStatementButNotDeclaration(node) && node.kind !== 239 /* EmptyStatement */ || // report error on class declarations
32356
- node.kind === 260 /* ClassDeclaration */ || node.kind === 264 /* ModuleDeclaration */ && shouldReportErrorOnModuleDeclaration(node);
32302
+ const reportError = (
32303
+ // report error on all statements except empty ones
32304
+ isStatementButNotDeclaration(node) && node.kind !== 239 /* EmptyStatement */ || // report error on class declarations
32305
+ node.kind === 260 /* ClassDeclaration */ || // report error on instantiated modules or const-enums only modules if preserveConstEnums is set
32306
+ node.kind === 264 /* ModuleDeclaration */ && shouldReportErrorOnModuleDeclaration(node)
32307
+ );
32357
32308
  if (reportError) {
32358
32309
  currentFlow = reportedUnreachableFlow;
32359
32310
  if (!options.allowUnreachableCode) {
@@ -32861,12 +32812,6 @@ function visitIterationBody(body, visitor, context, nodeVisitor = visitNode) {
32861
32812
  return updated;
32862
32813
  }
32863
32814
  var visitEachChildTable = {
32864
- [79 /* Identifier */]: function visitEachChildOfIdentifier(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
32865
- return context.factory.updateIdentifier(
32866
- node,
32867
- nodesVisitor(node.typeArguments, visitor, isTypeNodeOrTypeParameterDeclaration)
32868
- );
32869
- },
32870
32815
  [163 /* QualifiedName */]: function visitEachChildOfQualifiedName(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
32871
32816
  return context.factory.updateQualifiedName(
32872
32817
  node,