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.
package/lib/typescript.js CHANGED
@@ -42,7 +42,7 @@ var ts = (() => {
42
42
  "src/compiler/corePublic.ts"() {
43
43
  "use strict";
44
44
  versionMajorMinor = "5.0";
45
- version = `${versionMajorMinor}.0-dev.20230111`;
45
+ version = `${versionMajorMinor}.0-dev.20230113`;
46
46
  Comparison = /* @__PURE__ */ ((Comparison3) => {
47
47
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
48
48
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -3980,6 +3980,8 @@ ${lanes.join("\n")}
3980
3980
  NodeFlags4[NodeFlags4["ContextFlags"] = 50720768] = "ContextFlags";
3981
3981
  NodeFlags4[NodeFlags4["TypeExcludesFlags"] = 40960] = "TypeExcludesFlags";
3982
3982
  NodeFlags4[NodeFlags4["PermanentlySetIncrementalFlags"] = 6291456] = "PermanentlySetIncrementalFlags";
3983
+ NodeFlags4[NodeFlags4["IdentifierHasExtendedUnicodeEscape"] = 128 /* ContainsThis */] = "IdentifierHasExtendedUnicodeEscape";
3984
+ NodeFlags4[NodeFlags4["IdentifierIsInJSDocNamespace"] = 2048 /* HasAsyncFunctions */] = "IdentifierIsInJSDocNamespace";
3983
3985
  return NodeFlags4;
3984
3986
  })(NodeFlags || {});
3985
3987
  ModifierFlags = /* @__PURE__ */ ((ModifierFlags3) => {
@@ -8405,6 +8407,8 @@ ${lanes.join("\n")}
8405
8407
  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."),
8406
8408
  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}'"),
8407
8409
  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}'."),
8410
+ 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."),
8411
+ 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.`),
8408
8412
  Enable_project_compilation: diag(6302, 3 /* Message */, "Enable_project_compilation_6302", "Enable project compilation"),
8409
8413
  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."),
8410
8414
  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}'."),
@@ -9527,7 +9531,8 @@ ${lanes.join("\n")}
9527
9531
  return ch >= 65 /* A */ && ch <= 90 /* Z */ || ch >= 97 /* a */ && ch <= 122 /* z */ || ch === 36 /* $ */ || ch === 95 /* _ */ || ch > 127 /* maxAsciiCharacter */ && isUnicodeIdentifierStart(ch, languageVersion);
9528
9532
  }
9529
9533
  function isIdentifierPart(ch, languageVersion, identifierVariant) {
9530
- 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);
9534
+ 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
9535
+ (identifierVariant === 1 /* JSX */ ? ch === 45 /* minus */ || ch === 58 /* colon */ : false) || ch > 127 /* maxAsciiCharacter */ && isUnicodeIdentifierPart(ch, languageVersion);
9531
9536
  }
9532
9537
  function isIdentifierText(name, languageVersion, identifierVariant) {
9533
9538
  let ch = codePointAt(name, 0);
@@ -11477,6 +11482,10 @@ ${lanes.join("\n")}
11477
11482
  function idText(identifierOrPrivateName) {
11478
11483
  return unescapeLeadingUnderscores(identifierOrPrivateName.escapedText);
11479
11484
  }
11485
+ function identifierToKeywordKind(node) {
11486
+ const token = stringToToken(node.escapedText);
11487
+ return token ? tryCast(token, isKeyword) : void 0;
11488
+ }
11480
11489
  function symbolName(symbol) {
11481
11490
  if (symbol.valueDeclaration && isPrivateIdentifierClassElementDeclaration(symbol.valueDeclaration)) {
11482
11491
  return idText(symbol.valueDeclaration.name);
@@ -11784,15 +11793,17 @@ ${lanes.join("\n")}
11784
11793
  }
11785
11794
  }
11786
11795
  function getJSDocTagsWorker(node, noCache) {
11796
+ var _a2, _b;
11787
11797
  if (!canHaveJSDoc(node))
11788
11798
  return emptyArray;
11789
- let tags = node.jsDocCache;
11799
+ let tags = (_a2 = node.jsDoc) == null ? void 0 : _a2.jsDocCache;
11790
11800
  if (tags === void 0 || noCache) {
11791
11801
  const comments = getJSDocCommentsAndTags(node, noCache);
11792
11802
  Debug.assert(comments.length < 2 || comments[0] !== comments[1]);
11793
11803
  tags = flatMap(comments, (j) => isJSDoc(j) ? j.tags : j);
11794
11804
  if (!noCache) {
11795
- node.jsDocCache = tags;
11805
+ (_b = node.jsDoc) != null ? _b : node.jsDoc = [];
11806
+ node.jsDoc.jsDocCache = tags;
11796
11807
  }
11797
11808
  }
11798
11809
  return tags;
@@ -11991,10 +12002,12 @@ ${lanes.join("\n")}
11991
12002
  return node.kind === 10 /* StringLiteral */ || isTemplateLiteralKind(node.kind);
11992
12003
  }
11993
12004
  function isGeneratedIdentifier(node) {
11994
- return isIdentifier(node) && node.autoGenerate !== void 0;
12005
+ var _a2;
12006
+ return isIdentifier(node) && ((_a2 = node.emitNode) == null ? void 0 : _a2.autoGenerate) !== void 0;
11995
12007
  }
11996
12008
  function isGeneratedPrivateIdentifier(node) {
11997
- return isPrivateIdentifier(node) && node.autoGenerate !== void 0;
12009
+ var _a2;
12010
+ return isPrivateIdentifier(node) && ((_a2 = node.emitNode) == null ? void 0 : _a2.autoGenerate) !== void 0;
11998
12011
  }
11999
12012
  function isPrivateIdentifierClassElementDeclaration(node) {
12000
12013
  return (isPropertyDeclaration(node) || isMethodOrAccessor(node)) && isPrivateIdentifier(node.name);
@@ -13372,10 +13385,11 @@ ${lanes.join("\n")}
13372
13385
  return name.kind === 164 /* ComputedPropertyName */ && !isStringOrNumericLiteralLike(name.expression);
13373
13386
  }
13374
13387
  function tryGetTextOfPropertyName(name) {
13388
+ var _a2;
13375
13389
  switch (name.kind) {
13376
13390
  case 79 /* Identifier */:
13377
13391
  case 80 /* PrivateIdentifier */:
13378
- return name.autoGenerate ? void 0 : name.escapedText;
13392
+ return ((_a2 = name.emitNode) == null ? void 0 : _a2.autoGenerate) ? void 0 : name.escapedText;
13379
13393
  case 10 /* StringLiteral */:
13380
13394
  case 8 /* NumericLiteral */:
13381
13395
  case 14 /* NoSubstitutionTemplateLiteral */:
@@ -13493,6 +13507,20 @@ ${lanes.join("\n")}
13493
13507
  const start = scanner2.getTokenPos();
13494
13508
  return createTextSpanFromBounds(start, scanner2.getTextPos());
13495
13509
  }
13510
+ function scanTokenAtPosition(sourceFile, pos) {
13511
+ const scanner2 = createScanner(
13512
+ sourceFile.languageVersion,
13513
+ /*skipTrivia*/
13514
+ true,
13515
+ sourceFile.languageVariant,
13516
+ sourceFile.text,
13517
+ /*onError:*/
13518
+ void 0,
13519
+ pos
13520
+ );
13521
+ scanner2.scan();
13522
+ return scanner2.getToken();
13523
+ }
13496
13524
  function getErrorSpanForArrowFunction(sourceFile, node) {
13497
13525
  const pos = skipTrivia(sourceFile.text, node.pos);
13498
13526
  if (node.body && node.body.kind === 238 /* Block */) {
@@ -15175,7 +15203,8 @@ ${lanes.join("\n")}
15175
15203
  const token = stringToToken(name);
15176
15204
  return token !== void 0 && isKeyword(token);
15177
15205
  }
15178
- function isIdentifierANonContextualKeyword({ originalKeywordKind }) {
15206
+ function isIdentifierANonContextualKeyword(node) {
15207
+ const originalKeywordKind = identifierToKeywordKind(node);
15179
15208
  return !!originalKeywordKind && !isContextualKeyword(originalKeywordKind);
15180
15209
  }
15181
15210
  function isTrivia(token) {
@@ -15974,7 +16003,7 @@ ${lanes.join("\n")}
15974
16003
  return node.parent.kind === 183 /* TypeQuery */;
15975
16004
  }
15976
16005
  function identifierIsThisKeyword(id) {
15977
- return id.originalKeywordKind === 108 /* ThisKeyword */;
16006
+ return id.escapedText === "this";
15978
16007
  }
15979
16008
  function getAllAccessorDeclarations(declarations, accessor) {
15980
16009
  let firstAccessor;
@@ -16285,7 +16314,7 @@ ${lanes.join("\n")}
16285
16314
  }
16286
16315
  function getSyntacticModifierFlagsNoCache(node) {
16287
16316
  let flags = canHaveModifiers(node) ? modifiersToFlags(node.modifiers) : 0 /* None */;
16288
- if (node.flags & 4 /* NestedNamespace */ || node.kind === 79 /* Identifier */ && node.isInJSDocNamespace) {
16317
+ if (node.flags & 4 /* NestedNamespace */ || node.kind === 79 /* Identifier */ && node.flags & 2048 /* IdentifierIsInJSDocNamespace */) {
16289
16318
  flags |= 1 /* Export */;
16290
16319
  }
16291
16320
  return flags;
@@ -17048,15 +17077,19 @@ ${lanes.join("\n")}
17048
17077
  this.parent = void 0;
17049
17078
  this.original = void 0;
17050
17079
  this.emitNode = void 0;
17051
- this.flowNode = void 0;
17052
17080
  }
17053
17081
  function SourceMapSource(fileName, text, skipTrivia2) {
17054
17082
  this.fileName = fileName;
17055
17083
  this.text = text;
17056
17084
  this.skipTrivia = skipTrivia2 || ((pos) => pos);
17057
17085
  }
17086
+ function addObjectAllocatorPatcher(fn) {
17087
+ objectAllocatorPatchers.push(fn);
17088
+ fn(objectAllocator);
17089
+ }
17058
17090
  function setObjectAllocator(alloc) {
17059
17091
  Object.assign(objectAllocator, alloc);
17092
+ forEach(objectAllocatorPatchers, (fn) => fn(objectAllocator));
17060
17093
  }
17061
17094
  function formatStringFromArgs(text, args, baseIndex = 0) {
17062
17095
  return text.replace(/{(\d+)}/g, (_match, index) => "" + Debug.checkDefined(args[+index + baseIndex]));
@@ -18402,7 +18435,7 @@ ${lanes.join("\n")}
18402
18435
  const kind = node.kind;
18403
18436
  return (kind === 208 /* PropertyAccessExpression */ || kind === 209 /* ElementAccessExpression */) && isNonNullExpression(node.expression);
18404
18437
  }
18405
- var resolvingEmptyArray, externalHelpersModuleNameText, defaultMaximumTruncationLength, noTruncationMaximumTruncationLength, stringWriter, GetLiteralTextFlags, fullTripleSlashReferencePathRegEx, fullTripleSlashReferenceTypeReferenceDirectiveRegEx, fullTripleSlashAMDReferencePathRegEx, defaultLibReferenceRegEx, AssignmentKind, FunctionFlags, Associativity, OperatorPrecedence, templateSubstitutionRegExp, doubleQuoteEscapedCharsRegExp, singleQuoteEscapedCharsRegExp, backtickQuoteEscapedCharsRegExp, escapedCharsMap, nonAsciiCharacters, jsxDoubleQuoteEscapedCharsRegExp, jsxSingleQuoteEscapedCharsRegExp, jsxEscapedCharsMap, indentStrings, base64Digits, carriageReturnLineFeed, lineFeed, AccessKind, objectAllocator, localizedDiagnosticMessages, reservedCharacterPattern, wildcardCharCodes, commonPackageFolders, implicitExcludePathRegexPattern, filesMatcher, directoriesMatcher, excludeMatcher, wildcardMatchers, supportedTSExtensions, supportedTSExtensionsFlat, supportedTSExtensionsWithJson, supportedTSExtensionsForExtractExtension, supportedJSExtensions, supportedJSExtensionsFlat, allSupportedExtensions, allSupportedExtensionsWithJson, supportedDeclarationExtensions, supportedTSImplementationExtensions, ModuleSpecifierEnding, extensionsToRemove, emptyFileSystemEntries;
18438
+ var resolvingEmptyArray, externalHelpersModuleNameText, defaultMaximumTruncationLength, noTruncationMaximumTruncationLength, stringWriter, GetLiteralTextFlags, fullTripleSlashReferencePathRegEx, fullTripleSlashReferenceTypeReferenceDirectiveRegEx, fullTripleSlashAMDReferencePathRegEx, defaultLibReferenceRegEx, AssignmentKind, FunctionFlags, Associativity, OperatorPrecedence, templateSubstitutionRegExp, doubleQuoteEscapedCharsRegExp, singleQuoteEscapedCharsRegExp, backtickQuoteEscapedCharsRegExp, escapedCharsMap, nonAsciiCharacters, jsxDoubleQuoteEscapedCharsRegExp, jsxSingleQuoteEscapedCharsRegExp, jsxEscapedCharsMap, indentStrings, base64Digits, carriageReturnLineFeed, lineFeed, AccessKind, objectAllocator, objectAllocatorPatchers, localizedDiagnosticMessages, reservedCharacterPattern, wildcardCharCodes, commonPackageFolders, implicitExcludePathRegexPattern, filesMatcher, directoriesMatcher, excludeMatcher, wildcardMatchers, supportedTSExtensions, supportedTSExtensionsFlat, supportedTSExtensionsWithJson, supportedTSExtensionsForExtractExtension, supportedJSExtensions, supportedJSExtensionsFlat, allSupportedExtensions, allSupportedExtensionsWithJson, supportedDeclarationExtensions, supportedTSImplementationExtensions, ModuleSpecifierEnding, extensionsToRemove, emptyFileSystemEntries;
18406
18439
  var init_utilities = __esm({
18407
18440
  "src/compiler/utilities.ts"() {
18408
18441
  "use strict";
@@ -18523,6 +18556,7 @@ ${lanes.join("\n")}
18523
18556
  getSignatureConstructor: () => Signature2,
18524
18557
  getSourceMapSourceConstructor: () => SourceMapSource
18525
18558
  };
18559
+ objectAllocatorPatchers = [];
18526
18560
  reservedCharacterPattern = /[^\w\s\/]/g;
18527
18561
  wildcardCharCodes = [42 /* asterisk */, 63 /* question */];
18528
18562
  commonPackageFolders = ["node_modules", "bower_components", "jspm_packages"];
@@ -19210,7 +19244,6 @@ ${lanes.join("\n")}
19210
19244
  createRegularExpressionLiteral: createRegularExpressionLiteral2,
19211
19245
  createLiteralLikeNode,
19212
19246
  createIdentifier: createIdentifier3,
19213
- updateIdentifier,
19214
19247
  createTempVariable: createTempVariable3,
19215
19248
  createLoopVariable: createLoopVariable2,
19216
19249
  createUniqueName: createUniqueName2,
@@ -19953,55 +19986,43 @@ ${lanes.join("\n")}
19953
19986
  );
19954
19987
  }
19955
19988
  }
19956
- function createBaseIdentifier(escapedText, originalKeywordKind) {
19989
+ function createBaseIdentifier(escapedText) {
19957
19990
  const node = baseFactory2.createBaseIdentifierNode(79 /* Identifier */);
19958
- node.originalKeywordKind = originalKeywordKind;
19959
19991
  node.escapedText = escapedText;
19960
- node.autoGenerate = void 0;
19961
- node.typeArguments = void 0;
19962
- node.hasExtendedUnicodeEscape = void 0;
19963
19992
  node.jsDoc = void 0;
19964
- node.jsDocCache = void 0;
19965
19993
  node.flowNode = void 0;
19966
19994
  node.symbol = void 0;
19967
19995
  return node;
19968
19996
  }
19969
19997
  function createBaseGeneratedIdentifier(text, autoGenerateFlags, prefix, suffix) {
19970
- const node = createBaseIdentifier(
19971
- escapeLeadingUnderscores(text),
19972
- /*originalKeywordKind*/
19973
- void 0
19974
- );
19975
- node.autoGenerate = {
19998
+ const node = createBaseIdentifier(escapeLeadingUnderscores(text));
19999
+ setIdentifierAutoGenerate(node, {
19976
20000
  flags: autoGenerateFlags,
19977
20001
  id: nextAutoGenerateId,
19978
20002
  prefix,
19979
20003
  suffix
19980
- };
20004
+ });
19981
20005
  nextAutoGenerateId++;
19982
20006
  return node;
19983
20007
  }
19984
- function createIdentifier3(text, typeArguments, originalKeywordKind, hasExtendedUnicodeEscape) {
20008
+ function createIdentifier3(text, originalKeywordKind, hasExtendedUnicodeEscape) {
19985
20009
  if (originalKeywordKind === void 0 && text) {
19986
20010
  originalKeywordKind = stringToToken(text);
19987
20011
  }
19988
20012
  if (originalKeywordKind === 79 /* Identifier */) {
19989
20013
  originalKeywordKind = void 0;
19990
20014
  }
19991
- const node = createBaseIdentifier(escapeLeadingUnderscores(text), originalKeywordKind);
19992
- node.typeArguments = asNodeArray(typeArguments);
19993
- node.hasExtendedUnicodeEscape = hasExtendedUnicodeEscape;
19994
- if (node.originalKeywordKind === 133 /* AwaitKeyword */) {
20015
+ const node = createBaseIdentifier(escapeLeadingUnderscores(text));
20016
+ if (hasExtendedUnicodeEscape)
20017
+ node.flags |= 128 /* IdentifierHasExtendedUnicodeEscape */;
20018
+ if (node.escapedText === "await") {
19995
20019
  node.transformFlags |= 67108864 /* ContainsPossibleTopLevelAwait */;
19996
20020
  }
19997
- if (node.hasExtendedUnicodeEscape) {
20021
+ if (node.flags & 128 /* IdentifierHasExtendedUnicodeEscape */) {
19998
20022
  node.transformFlags |= 1024 /* ContainsES2015 */;
19999
20023
  }
20000
20024
  return node;
20001
20025
  }
20002
- function updateIdentifier(node, typeArguments) {
20003
- return node.typeArguments !== typeArguments ? update(createIdentifier3(idText(node), typeArguments), node) : node;
20004
- }
20005
20026
  function createTempVariable3(recordTempVariable, reservedInNestedScopes, prefix, suffix) {
20006
20027
  let flags2 = 1 /* Auto */;
20007
20028
  if (reservedInNestedScopes)
@@ -20049,7 +20070,6 @@ ${lanes.join("\n")}
20049
20070
  function createBasePrivateIdentifier(escapedText) {
20050
20071
  const node = baseFactory2.createBasePrivateIdentifierNode(80 /* PrivateIdentifier */);
20051
20072
  node.escapedText = escapedText;
20052
- node.autoGenerate = void 0;
20053
20073
  node.transformFlags |= 16777216 /* ContainsClassFields */;
20054
20074
  return node;
20055
20075
  }
@@ -20060,12 +20080,12 @@ ${lanes.join("\n")}
20060
20080
  }
20061
20081
  function createBaseGeneratedPrivateIdentifier(text, autoGenerateFlags, prefix, suffix) {
20062
20082
  const node = createBasePrivateIdentifier(escapeLeadingUnderscores(text));
20063
- node.autoGenerate = {
20083
+ setIdentifierAutoGenerate(node, {
20064
20084
  flags: autoGenerateFlags,
20065
20085
  id: nextAutoGenerateId,
20066
20086
  prefix,
20067
20087
  suffix
20068
- };
20088
+ });
20069
20089
  nextAutoGenerateId++;
20070
20090
  return node;
20071
20091
  }
@@ -20227,7 +20247,6 @@ ${lanes.join("\n")}
20227
20247
  node.transformFlags = 1 /* ContainsTypeScript */;
20228
20248
  node.expression = void 0;
20229
20249
  node.jsDoc = void 0;
20230
- node.jsDocCache = void 0;
20231
20250
  return node;
20232
20251
  }
20233
20252
  function updateTypeParameterDeclaration2(node, modifiers, name, constraint, defaultType) {
@@ -20248,7 +20267,6 @@ ${lanes.join("\n")}
20248
20267
  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 */);
20249
20268
  }
20250
20269
  node.jsDoc = void 0;
20251
- node.jsDocCache = void 0;
20252
20270
  return node;
20253
20271
  }
20254
20272
  function updateParameterDeclaration(node, modifiers, dotDotDotToken, name, questionToken, type, initializer) {
@@ -20276,7 +20294,6 @@ ${lanes.join("\n")}
20276
20294
  node.transformFlags = 1 /* ContainsTypeScript */;
20277
20295
  node.initializer = void 0;
20278
20296
  node.jsDoc = void 0;
20279
- node.jsDocCache = void 0;
20280
20297
  return node;
20281
20298
  }
20282
20299
  function updatePropertySignature3(node, modifiers, name, questionToken, type) {
@@ -20299,7 +20316,6 @@ ${lanes.join("\n")}
20299
20316
  const isAmbient = node.flags & 16777216 /* Ambient */ || modifiersToFlags(node.modifiers) & 2 /* Ambient */;
20300
20317
  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 */;
20301
20318
  node.jsDoc = void 0;
20302
- node.jsDocCache = void 0;
20303
20319
  return node;
20304
20320
  }
20305
20321
  function updatePropertyDeclaration2(node, modifiers, name, questionOrExclamationToken, type, initializer) {
@@ -20315,7 +20331,6 @@ ${lanes.join("\n")}
20315
20331
  node.type = type;
20316
20332
  node.transformFlags = 1 /* ContainsTypeScript */;
20317
20333
  node.jsDoc = void 0;
20318
- node.jsDocCache = void 0;
20319
20334
  node.locals = void 0;
20320
20335
  node.nextContainer = void 0;
20321
20336
  node.typeArguments = void 0;
@@ -20345,7 +20360,6 @@ ${lanes.join("\n")}
20345
20360
  }
20346
20361
  node.typeArguments = void 0;
20347
20362
  node.jsDoc = void 0;
20348
- node.jsDocCache = void 0;
20349
20363
  node.locals = void 0;
20350
20364
  node.nextContainer = void 0;
20351
20365
  node.flowNode = void 0;
@@ -20369,7 +20383,6 @@ ${lanes.join("\n")}
20369
20383
  node.illegalDecorators = void 0;
20370
20384
  node.modifiers = void 0;
20371
20385
  node.jsDoc = void 0;
20372
- node.jsDocCache = void 0;
20373
20386
  node.locals = void 0;
20374
20387
  node.nextContainer = void 0;
20375
20388
  node.endFlowNode = void 0;
@@ -20397,7 +20410,6 @@ ${lanes.join("\n")}
20397
20410
  node.type = void 0;
20398
20411
  node.typeArguments = void 0;
20399
20412
  node.jsDoc = void 0;
20400
- node.jsDocCache = void 0;
20401
20413
  node.locals = void 0;
20402
20414
  node.nextContainer = void 0;
20403
20415
  node.endFlowNode = void 0;
@@ -20430,7 +20442,6 @@ ${lanes.join("\n")}
20430
20442
  node.typeArguments = void 0;
20431
20443
  node.typeParameters = void 0;
20432
20444
  node.jsDoc = void 0;
20433
- node.jsDocCache = void 0;
20434
20445
  node.locals = void 0;
20435
20446
  node.nextContainer = void 0;
20436
20447
  node.flowNode = void 0;
@@ -20462,7 +20473,6 @@ ${lanes.join("\n")}
20462
20473
  node.typeParameters = void 0;
20463
20474
  node.type = void 0;
20464
20475
  node.jsDoc = void 0;
20465
- node.jsDocCache = void 0;
20466
20476
  node.locals = void 0;
20467
20477
  node.nextContainer = void 0;
20468
20478
  node.flowNode = void 0;
@@ -20487,7 +20497,6 @@ ${lanes.join("\n")}
20487
20497
  node.type = type;
20488
20498
  node.transformFlags = 1 /* ContainsTypeScript */;
20489
20499
  node.jsDoc = void 0;
20490
- node.jsDocCache = void 0;
20491
20500
  node.locals = void 0;
20492
20501
  node.nextContainer = void 0;
20493
20502
  node.typeArguments = void 0;
@@ -20503,7 +20512,6 @@ ${lanes.join("\n")}
20503
20512
  node.type = type;
20504
20513
  node.transformFlags = 1 /* ContainsTypeScript */;
20505
20514
  node.jsDoc = void 0;
20506
- node.jsDocCache = void 0;
20507
20515
  node.locals = void 0;
20508
20516
  node.nextContainer = void 0;
20509
20517
  node.typeArguments = void 0;
@@ -20520,7 +20528,6 @@ ${lanes.join("\n")}
20520
20528
  node.transformFlags = 1 /* ContainsTypeScript */;
20521
20529
  node.illegalDecorators = void 0;
20522
20530
  node.jsDoc = void 0;
20523
- node.jsDocCache = void 0;
20524
20531
  node.locals = void 0;
20525
20532
  node.nextContainer = void 0;
20526
20533
  node.typeArguments = void 0;
@@ -20571,7 +20578,6 @@ ${lanes.join("\n")}
20571
20578
  node.transformFlags = 1 /* ContainsTypeScript */;
20572
20579
  node.modifiers = void 0;
20573
20580
  node.jsDoc = void 0;
20574
- node.jsDocCache = void 0;
20575
20581
  node.locals = void 0;
20576
20582
  node.nextContainer = void 0;
20577
20583
  node.typeArguments = void 0;
@@ -20597,7 +20603,6 @@ ${lanes.join("\n")}
20597
20603
  node.type = type;
20598
20604
  node.transformFlags = 1 /* ContainsTypeScript */;
20599
20605
  node.jsDoc = void 0;
20600
- node.jsDocCache = void 0;
20601
20606
  node.locals = void 0;
20602
20607
  node.nextContainer = void 0;
20603
20608
  node.typeArguments = void 0;
@@ -20666,7 +20671,6 @@ ${lanes.join("\n")}
20666
20671
  node.type = type;
20667
20672
  node.transformFlags = 1 /* ContainsTypeScript */;
20668
20673
  node.jsDoc = void 0;
20669
- node.jsDocCache = void 0;
20670
20674
  return node;
20671
20675
  }
20672
20676
  function updateNamedTupleMember(node, dotDotDotToken, name, questionToken, type) {
@@ -20868,7 +20872,6 @@ ${lanes.join("\n")}
20868
20872
  node.multiLine = multiLine;
20869
20873
  node.transformFlags |= propagateChildrenFlags(node.properties);
20870
20874
  node.jsDoc = void 0;
20871
- node.jsDocCache = void 0;
20872
20875
  return node;
20873
20876
  }
20874
20877
  function updateObjectLiteralExpression(node, properties) {
@@ -20881,7 +20884,6 @@ ${lanes.join("\n")}
20881
20884
  node.name = name;
20882
20885
  node.transformFlags = propagateChildFlags(node.expression) | propagateChildFlags(node.questionDotToken) | (isIdentifier(node.name) ? propagateIdentifierNameFlags(node.name) : propagateChildFlags(node.name) | 536870912 /* ContainsPrivateIdentifierInExpression */);
20883
20886
  node.jsDoc = void 0;
20884
- node.jsDocCache = void 0;
20885
20887
  node.flowNode = void 0;
20886
20888
  return node;
20887
20889
  }
@@ -20932,7 +20934,6 @@ ${lanes.join("\n")}
20932
20934
  node.argumentExpression = argumentExpression;
20933
20935
  node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.questionDotToken) | propagateChildFlags(node.argumentExpression);
20934
20936
  node.jsDoc = void 0;
20935
- node.jsDocCache = void 0;
20936
20937
  node.flowNode = void 0;
20937
20938
  return node;
20938
20939
  }
@@ -21083,7 +21084,6 @@ ${lanes.join("\n")}
21083
21084
  node.expression = expression;
21084
21085
  node.transformFlags = propagateChildFlags(node.expression);
21085
21086
  node.jsDoc = void 0;
21086
- node.jsDocCache = void 0;
21087
21087
  return node;
21088
21088
  }
21089
21089
  function updateParenthesizedExpression(node, expression) {
@@ -21104,7 +21104,6 @@ ${lanes.join("\n")}
21104
21104
  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 */;
21105
21105
  node.typeArguments = void 0;
21106
21106
  node.jsDoc = void 0;
21107
- node.jsDocCache = void 0;
21108
21107
  node.locals = void 0;
21109
21108
  node.nextContainer = void 0;
21110
21109
  node.flowNode = void 0;
@@ -21127,7 +21126,6 @@ ${lanes.join("\n")}
21127
21126
  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 */;
21128
21127
  node.typeArguments = void 0;
21129
21128
  node.jsDoc = void 0;
21130
- node.jsDocCache = void 0;
21131
21129
  node.locals = void 0;
21132
21130
  node.nextContainer = void 0;
21133
21131
  node.flowNode = void 0;
@@ -21225,7 +21223,6 @@ ${lanes.join("\n")}
21225
21223
  node.transformFlags |= 536870912 /* ContainsPrivateIdentifierInExpression */;
21226
21224
  }
21227
21225
  node.jsDoc = void 0;
21228
- node.jsDocCache = void 0;
21229
21226
  return node;
21230
21227
  }
21231
21228
  function propagateAssignmentPatternFlags(node) {
@@ -21367,7 +21364,6 @@ ${lanes.join("\n")}
21367
21364
  node.members = createNodeArray2(members);
21368
21365
  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 */;
21369
21366
  node.jsDoc = void 0;
21370
- node.jsDocCache = void 0;
21371
21367
  return node;
21372
21368
  }
21373
21369
  function updateClassExpression3(node, modifiers, name, typeParameters, heritageClauses, members) {
@@ -21483,7 +21479,6 @@ ${lanes.join("\n")}
21483
21479
  node.multiLine = multiLine;
21484
21480
  node.transformFlags |= propagateChildrenFlags(node.statements);
21485
21481
  node.jsDoc = void 0;
21486
- node.jsDocCache = void 0;
21487
21482
  node.locals = void 0;
21488
21483
  node.nextContainer = void 0;
21489
21484
  return node;
@@ -21501,7 +21496,6 @@ ${lanes.join("\n")}
21501
21496
  }
21502
21497
  node.illegalDecorators = void 0;
21503
21498
  node.jsDoc = void 0;
21504
- node.jsDocCache = void 0;
21505
21499
  node.flowNode = void 0;
21506
21500
  return node;
21507
21501
  }
@@ -21511,7 +21505,6 @@ ${lanes.join("\n")}
21511
21505
  function createEmptyStatement2() {
21512
21506
  const node = createBaseNode(239 /* EmptyStatement */);
21513
21507
  node.jsDoc = void 0;
21514
- node.jsDocCache = void 0;
21515
21508
  return node;
21516
21509
  }
21517
21510
  function createExpressionStatement2(expression) {
@@ -21519,7 +21512,6 @@ ${lanes.join("\n")}
21519
21512
  node.expression = parenthesizerRules().parenthesizeExpressionOfExpressionStatement(expression);
21520
21513
  node.transformFlags |= propagateChildFlags(node.expression);
21521
21514
  node.jsDoc = void 0;
21522
- node.jsDocCache = void 0;
21523
21515
  node.flowNode = void 0;
21524
21516
  return node;
21525
21517
  }
@@ -21533,7 +21525,6 @@ ${lanes.join("\n")}
21533
21525
  node.elseStatement = asEmbeddedStatement(elseStatement);
21534
21526
  node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.thenStatement) | propagateChildFlags(node.elseStatement);
21535
21527
  node.jsDoc = void 0;
21536
- node.jsDocCache = void 0;
21537
21528
  node.flowNode = void 0;
21538
21529
  return node;
21539
21530
  }
@@ -21546,7 +21537,6 @@ ${lanes.join("\n")}
21546
21537
  node.expression = expression;
21547
21538
  node.transformFlags |= propagateChildFlags(node.statement) | propagateChildFlags(node.expression);
21548
21539
  node.jsDoc = void 0;
21549
- node.jsDocCache = void 0;
21550
21540
  node.flowNode = void 0;
21551
21541
  return node;
21552
21542
  }
@@ -21559,7 +21549,6 @@ ${lanes.join("\n")}
21559
21549
  node.statement = asEmbeddedStatement(statement);
21560
21550
  node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.statement);
21561
21551
  node.jsDoc = void 0;
21562
- node.jsDocCache = void 0;
21563
21552
  node.flowNode = void 0;
21564
21553
  return node;
21565
21554
  }
@@ -21574,7 +21563,6 @@ ${lanes.join("\n")}
21574
21563
  node.statement = asEmbeddedStatement(statement);
21575
21564
  node.transformFlags |= propagateChildFlags(node.initializer) | propagateChildFlags(node.condition) | propagateChildFlags(node.incrementor) | propagateChildFlags(node.statement);
21576
21565
  node.jsDoc = void 0;
21577
- node.jsDocCache = void 0;
21578
21566
  node.locals = void 0;
21579
21567
  node.nextContainer = void 0;
21580
21568
  node.flowNode = void 0;
@@ -21590,7 +21578,6 @@ ${lanes.join("\n")}
21590
21578
  node.statement = asEmbeddedStatement(statement);
21591
21579
  node.transformFlags |= propagateChildFlags(node.initializer) | propagateChildFlags(node.expression) | propagateChildFlags(node.statement);
21592
21580
  node.jsDoc = void 0;
21593
- node.jsDocCache = void 0;
21594
21581
  node.locals = void 0;
21595
21582
  node.nextContainer = void 0;
21596
21583
  node.flowNode = void 0;
@@ -21609,7 +21596,6 @@ ${lanes.join("\n")}
21609
21596
  if (awaitModifier)
21610
21597
  node.transformFlags |= 128 /* ContainsES2018 */;
21611
21598
  node.jsDoc = void 0;
21612
- node.jsDocCache = void 0;
21613
21599
  node.locals = void 0;
21614
21600
  node.nextContainer = void 0;
21615
21601
  node.flowNode = void 0;
@@ -21623,7 +21609,6 @@ ${lanes.join("\n")}
21623
21609
  node.label = asName(label);
21624
21610
  node.transformFlags |= propagateChildFlags(node.label) | 4194304 /* ContainsHoistedDeclarationOrCompletion */;
21625
21611
  node.jsDoc = void 0;
21626
- node.jsDocCache = void 0;
21627
21612
  node.flowNode = void 0;
21628
21613
  return node;
21629
21614
  }
@@ -21635,7 +21620,6 @@ ${lanes.join("\n")}
21635
21620
  node.label = asName(label);
21636
21621
  node.transformFlags |= propagateChildFlags(node.label) | 4194304 /* ContainsHoistedDeclarationOrCompletion */;
21637
21622
  node.jsDoc = void 0;
21638
- node.jsDocCache = void 0;
21639
21623
  node.flowNode = void 0;
21640
21624
  return node;
21641
21625
  }
@@ -21647,7 +21631,6 @@ ${lanes.join("\n")}
21647
21631
  node.expression = expression;
21648
21632
  node.transformFlags |= propagateChildFlags(node.expression) | 128 /* ContainsES2018 */ | 4194304 /* ContainsHoistedDeclarationOrCompletion */;
21649
21633
  node.jsDoc = void 0;
21650
- node.jsDocCache = void 0;
21651
21634
  node.flowNode = void 0;
21652
21635
  return node;
21653
21636
  }
@@ -21660,7 +21643,6 @@ ${lanes.join("\n")}
21660
21643
  node.statement = asEmbeddedStatement(statement);
21661
21644
  node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.statement);
21662
21645
  node.jsDoc = void 0;
21663
- node.jsDocCache = void 0;
21664
21646
  node.flowNode = void 0;
21665
21647
  return node;
21666
21648
  }
@@ -21673,7 +21655,6 @@ ${lanes.join("\n")}
21673
21655
  node.caseBlock = caseBlock;
21674
21656
  node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.caseBlock);
21675
21657
  node.jsDoc = void 0;
21676
- node.jsDocCache = void 0;
21677
21658
  node.flowNode = void 0;
21678
21659
  node.possiblyExhaustive = false;
21679
21660
  return node;
@@ -21687,7 +21668,6 @@ ${lanes.join("\n")}
21687
21668
  node.statement = asEmbeddedStatement(statement);
21688
21669
  node.transformFlags |= propagateChildFlags(node.label) | propagateChildFlags(node.statement);
21689
21670
  node.jsDoc = void 0;
21690
- node.jsDocCache = void 0;
21691
21671
  node.flowNode = void 0;
21692
21672
  return node;
21693
21673
  }
@@ -21699,7 +21679,6 @@ ${lanes.join("\n")}
21699
21679
  node.expression = expression;
21700
21680
  node.transformFlags |= propagateChildFlags(node.expression);
21701
21681
  node.jsDoc = void 0;
21702
- node.jsDocCache = void 0;
21703
21682
  node.flowNode = void 0;
21704
21683
  return node;
21705
21684
  }
@@ -21713,7 +21692,6 @@ ${lanes.join("\n")}
21713
21692
  node.finallyBlock = finallyBlock;
21714
21693
  node.transformFlags |= propagateChildFlags(node.tryBlock) | propagateChildFlags(node.catchClause) | propagateChildFlags(node.finallyBlock);
21715
21694
  node.jsDoc = void 0;
21716
- node.jsDocCache = void 0;
21717
21695
  node.flowNode = void 0;
21718
21696
  return node;
21719
21697
  }
@@ -21723,7 +21701,6 @@ ${lanes.join("\n")}
21723
21701
  function createDebuggerStatement2() {
21724
21702
  const node = createBaseNode(256 /* DebuggerStatement */);
21725
21703
  node.jsDoc = void 0;
21726
- node.jsDocCache = void 0;
21727
21704
  node.flowNode = void 0;
21728
21705
  return node;
21729
21706
  }
@@ -21736,7 +21713,6 @@ ${lanes.join("\n")}
21736
21713
  node.initializer = asInitializer(initializer);
21737
21714
  node.transformFlags |= propagateNameFlags(node.name) | propagateChildFlags(node.initializer) | (((_a2 = node.exclamationToken) != null ? _a2 : node.type) ? 1 /* ContainsTypeScript */ : 0 /* None */);
21738
21715
  node.jsDoc = void 0;
21739
- node.jsDocCache = void 0;
21740
21716
  return node;
21741
21717
  }
21742
21718
  function updateVariableDeclaration3(node, name, exclamationToken, type, initializer) {
@@ -21775,7 +21751,6 @@ ${lanes.join("\n")}
21775
21751
  node.illegalDecorators = void 0;
21776
21752
  node.typeArguments = void 0;
21777
21753
  node.jsDoc = void 0;
21778
- node.jsDocCache = void 0;
21779
21754
  node.locals = void 0;
21780
21755
  node.nextContainer = void 0;
21781
21756
  node.endFlowNode = void 0;
@@ -21807,7 +21782,6 @@ ${lanes.join("\n")}
21807
21782
  }
21808
21783
  }
21809
21784
  node.jsDoc = void 0;
21810
- node.jsDocCache = void 0;
21811
21785
  return node;
21812
21786
  }
21813
21787
  function updateClassDeclaration2(node, modifiers, name, typeParameters, heritageClauses, members) {
@@ -21823,7 +21797,6 @@ ${lanes.join("\n")}
21823
21797
  node.transformFlags = 1 /* ContainsTypeScript */;
21824
21798
  node.illegalDecorators = void 0;
21825
21799
  node.jsDoc = void 0;
21826
- node.jsDocCache = void 0;
21827
21800
  return node;
21828
21801
  }
21829
21802
  function updateInterfaceDeclaration2(node, modifiers, name, typeParameters, heritageClauses, members) {
@@ -21844,7 +21817,6 @@ ${lanes.join("\n")}
21844
21817
  node.transformFlags = 1 /* ContainsTypeScript */;
21845
21818
  node.illegalDecorators = void 0;
21846
21819
  node.jsDoc = void 0;
21847
- node.jsDocCache = void 0;
21848
21820
  node.locals = void 0;
21849
21821
  node.nextContainer = void 0;
21850
21822
  return node;
@@ -21867,7 +21839,6 @@ ${lanes.join("\n")}
21867
21839
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */;
21868
21840
  node.illegalDecorators = void 0;
21869
21841
  node.jsDoc = void 0;
21870
- node.jsDocCache = void 0;
21871
21842
  return node;
21872
21843
  }
21873
21844
  function updateEnumDeclaration2(node, modifiers, name, members) {
@@ -21893,7 +21864,6 @@ ${lanes.join("\n")}
21893
21864
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */;
21894
21865
  node.illegalDecorators = void 0;
21895
21866
  node.jsDoc = void 0;
21896
- node.jsDocCache = void 0;
21897
21867
  node.locals = void 0;
21898
21868
  node.nextContainer = void 0;
21899
21869
  return node;
@@ -21912,7 +21882,6 @@ ${lanes.join("\n")}
21912
21882
  node.statements = createNodeArray2(statements);
21913
21883
  node.transformFlags |= propagateChildrenFlags(node.statements);
21914
21884
  node.jsDoc = void 0;
21915
- node.jsDocCache = void 0;
21916
21885
  return node;
21917
21886
  }
21918
21887
  function updateModuleBlock2(node, statements) {
@@ -21936,7 +21905,6 @@ ${lanes.join("\n")}
21936
21905
  node.illegalDecorators = void 0;
21937
21906
  node.modifiers = void 0;
21938
21907
  node.jsDoc = void 0;
21939
- node.jsDocCache = void 0;
21940
21908
  return node;
21941
21909
  }
21942
21910
  function updateNamespaceExportDeclaration2(node, name) {
@@ -21962,7 +21930,6 @@ ${lanes.join("\n")}
21962
21930
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */;
21963
21931
  node.illegalDecorators = void 0;
21964
21932
  node.jsDoc = void 0;
21965
- node.jsDocCache = void 0;
21966
21933
  return node;
21967
21934
  }
21968
21935
  function updateImportEqualsDeclaration2(node, modifiers, isTypeOnly, name, moduleReference) {
@@ -21984,7 +21951,6 @@ ${lanes.join("\n")}
21984
21951
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */;
21985
21952
  node.illegalDecorators = void 0;
21986
21953
  node.jsDoc = void 0;
21987
- node.jsDocCache = void 0;
21988
21954
  return node;
21989
21955
  }
21990
21956
  function updateImportDeclaration2(node, modifiers, importClause, moduleSpecifier, assertClause) {
@@ -22096,7 +22062,6 @@ ${lanes.join("\n")}
22096
22062
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */;
22097
22063
  node.illegalDecorators = void 0;
22098
22064
  node.jsDoc = void 0;
22099
- node.jsDocCache = void 0;
22100
22065
  return node;
22101
22066
  }
22102
22067
  function updateExportAssignment2(node, modifiers, expression) {
@@ -22119,7 +22084,6 @@ ${lanes.join("\n")}
22119
22084
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */;
22120
22085
  node.illegalDecorators = void 0;
22121
22086
  node.jsDoc = void 0;
22122
- node.jsDocCache = void 0;
22123
22087
  return node;
22124
22088
  }
22125
22089
  function updateExportDeclaration3(node, modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause) {
@@ -22149,7 +22113,6 @@ ${lanes.join("\n")}
22149
22113
  node.transformFlags |= propagateChildFlags(node.propertyName) | propagateChildFlags(node.name);
22150
22114
  node.transformFlags &= ~67108864 /* ContainsPossibleTopLevelAwait */;
22151
22115
  node.jsDoc = void 0;
22152
- node.jsDocCache = void 0;
22153
22116
  return node;
22154
22117
  }
22155
22118
  function updateExportSpecifier2(node, isTypeOnly, propertyName, name) {
@@ -22158,7 +22121,6 @@ ${lanes.join("\n")}
22158
22121
  function createMissingDeclaration() {
22159
22122
  const node = createBaseDeclaration(279 /* MissingDeclaration */);
22160
22123
  node.jsDoc = void 0;
22161
- node.jsDocCache = void 0;
22162
22124
  return node;
22163
22125
  }
22164
22126
  function createExternalModuleReference2(expression) {
@@ -22199,7 +22161,6 @@ ${lanes.join("\n")}
22199
22161
  node.type = type;
22200
22162
  node.transformFlags = propagateChildrenFlags(node.parameters) | (node.type ? 1 /* ContainsTypeScript */ : 0 /* None */);
22201
22163
  node.jsDoc = void 0;
22202
- node.jsDocCache = void 0;
22203
22164
  node.locals = void 0;
22204
22165
  node.nextContainer = void 0;
22205
22166
  node.typeArguments = void 0;
@@ -22231,7 +22192,6 @@ ${lanes.join("\n")}
22231
22192
  node.parameters = createNodeArray2(parameters);
22232
22193
  node.type = type;
22233
22194
  node.jsDoc = void 0;
22234
- node.jsDocCache = void 0;
22235
22195
  node.locals = void 0;
22236
22196
  node.nextContainer = void 0;
22237
22197
  return node;
@@ -22559,7 +22519,6 @@ ${lanes.join("\n")}
22559
22519
  node.statements = createNodeArray2(statements);
22560
22520
  node.transformFlags |= propagateChildFlags(node.expression) | propagateChildrenFlags(node.statements);
22561
22521
  node.jsDoc = void 0;
22562
- node.jsDocCache = void 0;
22563
22522
  return node;
22564
22523
  }
22565
22524
  function updateCaseClause2(node, expression, statements) {
@@ -22616,7 +22575,6 @@ ${lanes.join("\n")}
22616
22575
  node.questionToken = void 0;
22617
22576
  node.exclamationToken = void 0;
22618
22577
  node.jsDoc = void 0;
22619
- node.jsDocCache = void 0;
22620
22578
  return node;
22621
22579
  }
22622
22580
  function updatePropertyAssignment2(node, name, initializer) {
@@ -22642,7 +22600,6 @@ ${lanes.join("\n")}
22642
22600
  node.questionToken = void 0;
22643
22601
  node.exclamationToken = void 0;
22644
22602
  node.jsDoc = void 0;
22645
- node.jsDocCache = void 0;
22646
22603
  return node;
22647
22604
  }
22648
22605
  function updateShorthandPropertyAssignment2(node, name, objectAssignmentInitializer) {
@@ -22663,7 +22620,6 @@ ${lanes.join("\n")}
22663
22620
  node.expression = parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression);
22664
22621
  node.transformFlags |= propagateChildFlags(node.expression) | 128 /* ContainsES2018 */ | 65536 /* ContainsObjectRestOrSpread */;
22665
22622
  node.jsDoc = void 0;
22666
- node.jsDocCache = void 0;
22667
22623
  return node;
22668
22624
  }
22669
22625
  function updateSpreadAssignment2(node, expression) {
@@ -22675,7 +22631,6 @@ ${lanes.join("\n")}
22675
22631
  node.initializer = initializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer);
22676
22632
  node.transformFlags |= propagateChildFlags(node.name) | propagateChildFlags(node.initializer) | 1 /* ContainsTypeScript */;
22677
22633
  node.jsDoc = void 0;
22678
- node.jsDocCache = void 0;
22679
22634
  return node;
22680
22635
  }
22681
22636
  function updateEnumMember2(node, name, initializer) {
@@ -22921,36 +22876,32 @@ ${lanes.join("\n")}
22921
22876
  return node.expression !== expression || node.thisArg !== thisArg ? update(createSyntheticReferenceExpression(expression, thisArg), node) : node;
22922
22877
  }
22923
22878
  function cloneGeneratedIdentifier(node) {
22924
- const clone2 = createBaseIdentifier(
22925
- node.escapedText,
22926
- /*originalKeywordKind*/
22927
- void 0
22928
- );
22879
+ const clone2 = createBaseIdentifier(node.escapedText);
22929
22880
  clone2.flags |= node.flags & ~8 /* Synthesized */;
22930
- clone2.autoGenerate = { ...node.autoGenerate };
22931
22881
  clone2.transformFlags = node.transformFlags;
22932
22882
  setOriginalNode(clone2, node);
22883
+ setIdentifierAutoGenerate(clone2, { ...node.emitNode.autoGenerate });
22933
22884
  return clone2;
22934
22885
  }
22935
22886
  function cloneIdentifier(node) {
22936
- const clone2 = createBaseIdentifier(node.escapedText, node.originalKeywordKind);
22887
+ const clone2 = createBaseIdentifier(node.escapedText);
22937
22888
  clone2.flags |= node.flags & ~8 /* Synthesized */;
22938
- clone2.typeArguments = node.typeArguments;
22939
- clone2.hasExtendedUnicodeEscape = node.hasExtendedUnicodeEscape;
22940
22889
  clone2.jsDoc = node.jsDoc;
22941
- clone2.jsDocCache = node.jsDocCache;
22942
22890
  clone2.flowNode = node.flowNode;
22943
22891
  clone2.symbol = node.symbol;
22944
22892
  clone2.transformFlags = node.transformFlags;
22945
22893
  setOriginalNode(clone2, node);
22894
+ const typeArguments = getIdentifierTypeArguments(node);
22895
+ if (typeArguments)
22896
+ setIdentifierTypeArguments(clone2, typeArguments);
22946
22897
  return clone2;
22947
22898
  }
22948
22899
  function cloneGeneratedPrivateIdentifier(node) {
22949
22900
  const clone2 = createBasePrivateIdentifier(node.escapedText);
22950
22901
  clone2.flags |= node.flags & ~8 /* Synthesized */;
22951
- clone2.autoGenerate = { ...node.autoGenerate };
22952
22902
  clone2.transformFlags = node.transformFlags;
22953
22903
  setOriginalNode(clone2, node);
22904
+ setIdentifierAutoGenerate(clone2, { ...node.emitNode.autoGenerate });
22954
22905
  return clone2;
22955
22906
  }
22956
22907
  function clonePrivateIdentifier(node) {
@@ -24219,6 +24170,30 @@ ${lanes.join("\n")}
24219
24170
  var _a2;
24220
24171
  return (_a2 = node.emitNode) == null ? void 0 : _a2.typeNode;
24221
24172
  }
24173
+ function setIdentifierTypeArguments(node, typeArguments) {
24174
+ getOrCreateEmitNode(node).identifierTypeArguments = typeArguments;
24175
+ return node;
24176
+ }
24177
+ function getIdentifierTypeArguments(node) {
24178
+ var _a2;
24179
+ return (_a2 = node.emitNode) == null ? void 0 : _a2.identifierTypeArguments;
24180
+ }
24181
+ function setIdentifierAutoGenerate(node, autoGenerate) {
24182
+ getOrCreateEmitNode(node).autoGenerate = autoGenerate;
24183
+ return node;
24184
+ }
24185
+ function getIdentifierAutoGenerate(node) {
24186
+ var _a2;
24187
+ return (_a2 = node.emitNode) == null ? void 0 : _a2.autoGenerate;
24188
+ }
24189
+ function setIdentifierGeneratedImportReference(node, value) {
24190
+ getOrCreateEmitNode(node).generatedImportReference = value;
24191
+ return node;
24192
+ }
24193
+ function getIdentifierGeneratedImportReference(node) {
24194
+ var _a2;
24195
+ return (_a2 = node.emitNode) == null ? void 0 : _a2.generatedImportReference;
24196
+ }
24222
24197
  var init_emitNode = __esm({
24223
24198
  "src/compiler/factory/emitNode.ts"() {
24224
24199
  "use strict";
@@ -26467,13 +26442,16 @@ ${lanes.join("\n")}
26467
26442
  return setTextRange(factory2.createNodeArray([], nodes.hasTrailingComma), nodes);
26468
26443
  }
26469
26444
  function getNodeForGeneratedName(name) {
26470
- if (name.autoGenerate.flags & 4 /* Node */) {
26471
- const autoGenerateId = name.autoGenerate.id;
26445
+ var _a2;
26446
+ const autoGenerate = name.emitNode.autoGenerate;
26447
+ if (autoGenerate.flags & 4 /* Node */) {
26448
+ const autoGenerateId = autoGenerate.id;
26472
26449
  let node = name;
26473
26450
  let original = node.original;
26474
26451
  while (original) {
26475
26452
  node = original;
26476
- if (isMemberName(node) && (node.autoGenerate === void 0 || !!(node.autoGenerate.flags & 4 /* Node */) && node.autoGenerate.id !== autoGenerateId)) {
26453
+ const autoGenerate2 = (_a2 = node.emitNode) == null ? void 0 : _a2.autoGenerate;
26454
+ if (isMemberName(node) && (autoGenerate2 === void 0 || !!(autoGenerate2.flags & 4 /* Node */) && autoGenerate2.id !== autoGenerateId)) {
26477
26455
  break;
26478
26456
  }
26479
26457
  original = node.original;
@@ -28427,8 +28405,6 @@ ${lanes.join("\n")}
28427
28405
  const pos = getNodePos();
28428
28406
  const result = kind === 79 /* Identifier */ ? factory2.createIdentifier(
28429
28407
  "",
28430
- /*typeArguments*/
28431
- void 0,
28432
28408
  /*originalKeywordKind*/
28433
28409
  void 0
28434
28410
  ) : isTemplateLiteralKind(kind) ? factory2.createTemplateLiteralLikeNode(
@@ -28463,13 +28439,7 @@ ${lanes.join("\n")}
28463
28439
  const text = internIdentifier(scanner2.getTokenValue());
28464
28440
  const hasExtendedUnicodeEscape = scanner2.hasExtendedUnicodeEscape();
28465
28441
  nextTokenWithoutCheck();
28466
- return finishNode(factory2.createIdentifier(
28467
- text,
28468
- /*typeArguments*/
28469
- void 0,
28470
- originalKeywordKind,
28471
- hasExtendedUnicodeEscape
28472
- ), pos);
28442
+ return finishNode(factory2.createIdentifier(text, originalKeywordKind, hasExtendedUnicodeEscape), pos);
28473
28443
  }
28474
28444
  if (token() === 80 /* PrivateIdentifier */) {
28475
28445
  parseErrorAtCurrentToken(privateIdentifierDiagnosticMessage || Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies);
@@ -28811,6 +28781,7 @@ ${lanes.join("\n")}
28811
28781
  return parseElement();
28812
28782
  }
28813
28783
  function currentNode(parsingContext2, pos) {
28784
+ var _a2;
28814
28785
  if (!syntaxCursor || !isReusableParsingContext(parsingContext2) || parseErrorBeforeNextFinishedNode) {
28815
28786
  return void 0;
28816
28787
  }
@@ -28825,8 +28796,8 @@ ${lanes.join("\n")}
28825
28796
  if (!canReuseNode(node, parsingContext2)) {
28826
28797
  return void 0;
28827
28798
  }
28828
- if (canHaveJSDoc(node) && node.jsDocCache) {
28829
- node.jsDocCache = void 0;
28799
+ if (canHaveJSDoc(node) && ((_a2 = node.jsDoc) == null ? void 0 : _a2.jsDocCache)) {
28800
+ node.jsDoc.jsDocCache = void 0;
28830
28801
  }
28831
28802
  return node;
28832
28803
  }
@@ -28885,7 +28856,7 @@ ${lanes.join("\n")}
28885
28856
  return true;
28886
28857
  case 171 /* MethodDeclaration */:
28887
28858
  const methodDeclaration = node;
28888
- const nameIsConstructor = methodDeclaration.name.kind === 79 /* Identifier */ && methodDeclaration.name.originalKeywordKind === 135 /* ConstructorKeyword */;
28859
+ const nameIsConstructor = methodDeclaration.name.kind === 79 /* Identifier */ && methodDeclaration.name.escapedText === "constructor";
28889
28860
  return !nameIsConstructor;
28890
28861
  }
28891
28862
  }
@@ -29107,13 +29078,10 @@ ${lanes.join("\n")}
29107
29078
  function parseEntityName(allowReservedWords, diagnosticMessage) {
29108
29079
  const pos = getNodePos();
29109
29080
  let entity = allowReservedWords ? parseIdentifierName(diagnosticMessage) : parseIdentifier(diagnosticMessage);
29110
- let dotPos = getNodePos();
29111
29081
  while (parseOptional(24 /* DotToken */)) {
29112
29082
  if (token() === 29 /* LessThanToken */) {
29113
- entity.jsdocDotPos = dotPos;
29114
29083
  break;
29115
29084
  }
29116
- dotPos = getNodePos();
29117
29085
  entity = finishNode(
29118
29086
  factory2.createQualifiedName(
29119
29087
  entity,
@@ -33893,7 +33861,7 @@ ${lanes.join("\n")}
33893
33861
  return finishNode(jsDocNamespaceNode, pos);
33894
33862
  }
33895
33863
  if (nested) {
33896
- typeNameOrNamespaceName.isInJSDocNamespace = true;
33864
+ typeNameOrNamespaceName.flags |= 2048 /* IdentifierIsInJSDocNamespace */;
33897
33865
  }
33898
33866
  return typeNameOrNamespaceName;
33899
33867
  }
@@ -34097,12 +34065,7 @@ ${lanes.join("\n")}
34097
34065
  const end2 = scanner2.getTextPos();
34098
34066
  const originalKeywordKind = token();
34099
34067
  const text = internIdentifier(scanner2.getTokenValue());
34100
- const result = finishNode(factory2.createIdentifier(
34101
- text,
34102
- /*typeArguments*/
34103
- void 0,
34104
- originalKeywordKind
34105
- ), pos, end2);
34068
+ const result = finishNode(factory2.createIdentifier(text, originalKeywordKind), pos, end2);
34106
34069
  nextTokenJSDoc();
34107
34070
  return result;
34108
34071
  }
@@ -34991,7 +34954,8 @@ ${lanes.join("\n")}
34991
34954
  if (returnValue) {
34992
34955
  result[keyText] = value;
34993
34956
  }
34994
- if (jsonConversionNotifier && (parentOption || isRootOptionMap(knownOptions))) {
34957
+ if (jsonConversionNotifier && // Current callbacks are only on known parent option or if we are setting values in the root
34958
+ (parentOption || isRootOptionMap(knownOptions))) {
34995
34959
  const isValidOptionValue = isCompilerOptionsValue(option, value);
34996
34960
  if (parentOption) {
34997
34961
  if (isValidOptionValue) {
@@ -37820,7 +37784,7 @@ ${lanes.join("\n")}
37820
37784
  Debug.assert(extensionIsTS(resolved.extension));
37821
37785
  return { fileName: resolved.path, packageId: resolved.packageId };
37822
37786
  }
37823
- function createResolvedModuleWithFailedLookupLocations(resolved, isExternalLibraryImport, failedLookupLocations, affectingLocations, diagnostics, resultFromCache) {
37787
+ function createResolvedModuleWithFailedLookupLocations(resolved, isExternalLibraryImport, failedLookupLocations, affectingLocations, diagnostics, resultFromCache, legacyResult) {
37824
37788
  if (resultFromCache) {
37825
37789
  resultFromCache.failedLookupLocations = updateResolutionField(resultFromCache.failedLookupLocations, failedLookupLocations);
37826
37790
  resultFromCache.affectingLocations = updateResolutionField(resultFromCache.affectingLocations, affectingLocations);
@@ -37838,7 +37802,8 @@ ${lanes.join("\n")}
37838
37802
  },
37839
37803
  failedLookupLocations: initializeResolutionField(failedLookupLocations),
37840
37804
  affectingLocations: initializeResolutionField(affectingLocations),
37841
- resolutionDiagnostics: initializeResolutionField(diagnostics)
37805
+ resolutionDiagnostics: initializeResolutionField(diagnostics),
37806
+ node10Result: legacyResult
37842
37807
  };
37843
37808
  }
37844
37809
  function initializeResolutionField(value) {
@@ -38878,7 +38843,7 @@ ${lanes.join("\n")}
38878
38843
  );
38879
38844
  }
38880
38845
  function nodeModuleNameResolverWorker(features, moduleName, containingDirectory, compilerOptions, host, cache, extensions, isConfigLookup, redirectedReference) {
38881
- var _a2, _b;
38846
+ var _a2, _b, _c, _d;
38882
38847
  const traceEnabled = isTraceEnabled(compilerOptions, host);
38883
38848
  const failedLookupLocations = [];
38884
38849
  const affectingLocations = [];
@@ -38905,44 +38870,60 @@ ${lanes.join("\n")}
38905
38870
  if (getEmitModuleResolutionKind(compilerOptions) === 2 /* Node10 */) {
38906
38871
  const priorityExtensions = extensions & (1 /* TypeScript */ | 4 /* Declaration */);
38907
38872
  const secondaryExtensions = extensions & ~(1 /* TypeScript */ | 4 /* Declaration */);
38908
- result = priorityExtensions && tryResolve(priorityExtensions) || secondaryExtensions && tryResolve(secondaryExtensions) || void 0;
38873
+ result = priorityExtensions && tryResolve(priorityExtensions, state) || secondaryExtensions && tryResolve(secondaryExtensions, state) || void 0;
38909
38874
  } else {
38910
- result = tryResolve(extensions);
38875
+ result = tryResolve(extensions, state);
38876
+ }
38877
+ let legacyResult;
38878
+ 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) {
38879
+ traceIfEnabled(state, Diagnostics.Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_if_npm_library_needs_configuration_update);
38880
+ const diagnosticState = {
38881
+ ...state,
38882
+ features: state.features & ~8 /* Exports */,
38883
+ failedLookupLocations: [],
38884
+ affectingLocations: [],
38885
+ reportDiagnostic: noop
38886
+ };
38887
+ const diagnosticResult = tryResolve(extensions & (1 /* TypeScript */ | 4 /* Declaration */), diagnosticState);
38888
+ if ((_b = diagnosticResult == null ? void 0 : diagnosticResult.value) == null ? void 0 : _b.isExternalLibraryImport) {
38889
+ legacyResult = diagnosticResult.value.resolved.path;
38890
+ }
38911
38891
  }
38912
38892
  return createResolvedModuleWithFailedLookupLocations(
38913
- (_a2 = result == null ? void 0 : result.value) == null ? void 0 : _a2.resolved,
38914
- (_b = result == null ? void 0 : result.value) == null ? void 0 : _b.isExternalLibraryImport,
38893
+ (_c = result == null ? void 0 : result.value) == null ? void 0 : _c.resolved,
38894
+ (_d = result == null ? void 0 : result.value) == null ? void 0 : _d.isExternalLibraryImport,
38915
38895
  failedLookupLocations,
38916
38896
  affectingLocations,
38917
38897
  diagnostics,
38918
- state.resultFromCache
38898
+ state.resultFromCache,
38899
+ legacyResult
38919
38900
  );
38920
- function tryResolve(extensions2) {
38921
- const loader = (extensions3, candidate, onlyRecordFailures, state2) => nodeLoadModuleByRelativeName(
38901
+ function tryResolve(extensions2, state2) {
38902
+ const loader = (extensions3, candidate, onlyRecordFailures, state3) => nodeLoadModuleByRelativeName(
38922
38903
  extensions3,
38923
38904
  candidate,
38924
38905
  onlyRecordFailures,
38925
- state2,
38906
+ state3,
38926
38907
  /*considerPackageJson*/
38927
38908
  true
38928
38909
  );
38929
- const resolved = tryLoadModuleUsingOptionalResolutionSettings(extensions2, moduleName, containingDirectory, loader, state);
38910
+ const resolved = tryLoadModuleUsingOptionalResolutionSettings(extensions2, moduleName, containingDirectory, loader, state2);
38930
38911
  if (resolved) {
38931
38912
  return toSearchResult({ resolved, isExternalLibraryImport: pathContainsNodeModules(resolved.path) });
38932
38913
  }
38933
38914
  if (!isExternalModuleNameRelative(moduleName)) {
38934
38915
  let resolved2;
38935
38916
  if (features & 2 /* Imports */ && startsWith(moduleName, "#")) {
38936
- resolved2 = loadModuleFromImports(extensions2, moduleName, containingDirectory, state, cache, redirectedReference);
38917
+ resolved2 = loadModuleFromImports(extensions2, moduleName, containingDirectory, state2, cache, redirectedReference);
38937
38918
  }
38938
38919
  if (!resolved2 && features & 4 /* SelfName */) {
38939
- resolved2 = loadModuleFromSelfNameReference(extensions2, moduleName, containingDirectory, state, cache, redirectedReference);
38920
+ resolved2 = loadModuleFromSelfNameReference(extensions2, moduleName, containingDirectory, state2, cache, redirectedReference);
38940
38921
  }
38941
38922
  if (!resolved2) {
38942
38923
  if (traceEnabled) {
38943
38924
  trace(host, Diagnostics.Loading_module_0_from_node_modules_folder_target_file_types_Colon_1, moduleName, formatExtensions(extensions2));
38944
38925
  }
38945
- resolved2 = loadModuleFromNearestNodeModulesDirectory(extensions2, moduleName, containingDirectory, state, cache, redirectedReference);
38926
+ resolved2 = loadModuleFromNearestNodeModulesDirectory(extensions2, moduleName, containingDirectory, state2, cache, redirectedReference);
38946
38927
  }
38947
38928
  if (!resolved2)
38948
38929
  return void 0;
@@ -38961,7 +38942,7 @@ ${lanes.join("\n")}
38961
38942
  candidate,
38962
38943
  /*onlyRecordFailures*/
38963
38944
  false,
38964
- state,
38945
+ state2,
38965
38946
  /*considerPackageJson*/
38966
38947
  true
38967
38948
  );
@@ -40316,7 +40297,7 @@ ${lanes.join("\n")}
40316
40297
  case 264 /* ModuleDeclaration */:
40317
40298
  return getModuleInstanceState(node, visited);
40318
40299
  case 79 /* Identifier */:
40319
- if (node.isInJSDocNamespace) {
40300
+ if (node.flags & 2048 /* IdentifierIsInJSDocNamespace */) {
40320
40301
  return 0 /* NonInstantiated */;
40321
40302
  }
40322
40303
  }
@@ -40752,6 +40733,7 @@ ${lanes.join("\n")}
40752
40733
  } else if (containerFlags & 64 /* IsInterface */) {
40753
40734
  seenThisKeyword = false;
40754
40735
  bindChildren(node);
40736
+ Debug.assertNotNode(node, isIdentifier);
40755
40737
  node.flags = seenThisKeyword ? node.flags | 128 /* ContainsThis */ : node.flags & ~128 /* ContainsThis */;
40756
40738
  } else {
40757
40739
  bindChildren(node);
@@ -41911,13 +41893,14 @@ ${lanes.join("\n")}
41911
41893
  }
41912
41894
  function checkContextualIdentifier(node) {
41913
41895
  if (!file.parseDiagnostics.length && !(node.flags & 16777216 /* Ambient */) && !(node.flags & 8388608 /* JSDoc */) && !isIdentifierName(node)) {
41914
- if (inStrictMode && node.originalKeywordKind >= 117 /* FirstFutureReservedWord */ && node.originalKeywordKind <= 125 /* LastFutureReservedWord */) {
41896
+ const originalKeywordKind = identifierToKeywordKind(node);
41897
+ if (inStrictMode && originalKeywordKind >= 117 /* FirstFutureReservedWord */ && originalKeywordKind <= 125 /* LastFutureReservedWord */) {
41915
41898
  file.bindDiagnostics.push(createDiagnosticForNode2(
41916
41899
  node,
41917
41900
  getStrictModeIdentifierMessage(node),
41918
41901
  declarationNameToString(node)
41919
41902
  ));
41920
- } else if (node.originalKeywordKind === 133 /* AwaitKeyword */) {
41903
+ } else if (originalKeywordKind === 133 /* AwaitKeyword */) {
41921
41904
  if (isExternalModule(file) && isInTopLevelContext(node)) {
41922
41905
  file.bindDiagnostics.push(createDiagnosticForNode2(
41923
41906
  node,
@@ -41931,7 +41914,7 @@ ${lanes.join("\n")}
41931
41914
  declarationNameToString(node)
41932
41915
  ));
41933
41916
  }
41934
- } else if (node.originalKeywordKind === 125 /* YieldKeyword */ && node.flags & 8192 /* YieldContext */) {
41917
+ } else if (originalKeywordKind === 125 /* YieldKeyword */ && node.flags & 8192 /* YieldContext */) {
41935
41918
  file.bindDiagnostics.push(createDiagnosticForNode2(
41936
41919
  node,
41937
41920
  Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here,
@@ -42143,7 +42126,7 @@ ${lanes.join("\n")}
42143
42126
  function bindWorker(node) {
42144
42127
  switch (node.kind) {
42145
42128
  case 79 /* Identifier */:
42146
- if (node.isInJSDocNamespace) {
42129
+ if (node.flags & 2048 /* IdentifierIsInJSDocNamespace */) {
42147
42130
  let parentNode = node.parent;
42148
42131
  while (parentNode && !isJSDocTypeAlias(parentNode)) {
42149
42132
  parentNode = parentNode.parent;
@@ -42967,8 +42950,12 @@ ${lanes.join("\n")}
42967
42950
  return false;
42968
42951
  }
42969
42952
  if (currentFlow === unreachableFlow) {
42970
- const reportError = isStatementButNotDeclaration(node) && node.kind !== 239 /* EmptyStatement */ || // report error on class declarations
42971
- node.kind === 260 /* ClassDeclaration */ || node.kind === 264 /* ModuleDeclaration */ && shouldReportErrorOnModuleDeclaration(node);
42953
+ const reportError = (
42954
+ // report error on all statements except empty ones
42955
+ isStatementButNotDeclaration(node) && node.kind !== 239 /* EmptyStatement */ || // report error on class declarations
42956
+ node.kind === 260 /* ClassDeclaration */ || // report error on instantiated modules or const-enums only modules if preserveConstEnums is set
42957
+ node.kind === 264 /* ModuleDeclaration */ && shouldReportErrorOnModuleDeclaration(node)
42958
+ );
42972
42959
  if (reportError) {
42973
42960
  currentFlow = reportedUnreachableFlow;
42974
42961
  if (!options.allowUnreachableCode) {
@@ -47110,6 +47097,8 @@ ${lanes.join("\n")}
47110
47097
  /*isError*/
47111
47098
  false,
47112
47099
  errorNode,
47100
+ currentSourceFile,
47101
+ mode,
47113
47102
  resolvedModule,
47114
47103
  moduleReference
47115
47104
  );
@@ -47195,6 +47184,8 @@ ${lanes.join("\n")}
47195
47184
  /*isError*/
47196
47185
  noImplicitAny && !!moduleNotFoundError,
47197
47186
  errorNode,
47187
+ currentSourceFile,
47188
+ mode,
47198
47189
  resolvedModule,
47199
47190
  moduleReference
47200
47191
  );
@@ -47249,26 +47240,37 @@ ${lanes.join("\n")}
47249
47240
  return importSourceWithoutExtension;
47250
47241
  }
47251
47242
  }
47252
- function errorOnImplicitAnyModule(isError, errorNode, { packageId, resolvedFileName }, moduleReference) {
47253
- const errorInfo = !isExternalModuleNameRelative(moduleReference) && packageId ? typesPackageExists(packageId.name) ? chainDiagnosticMessages(
47254
- /*details*/
47255
- void 0,
47256
- Diagnostics.If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1,
47257
- packageId.name,
47258
- mangleScopedPackageName(packageId.name)
47259
- ) : packageBundlesTypes(packageId.name) ? chainDiagnosticMessages(
47260
- /*details*/
47261
- void 0,
47262
- Diagnostics.If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_declare_module_1,
47263
- packageId.name,
47264
- moduleReference
47265
- ) : chainDiagnosticMessages(
47266
- /*details*/
47267
- void 0,
47268
- Diagnostics.Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0,
47269
- moduleReference,
47270
- mangleScopedPackageName(packageId.name)
47271
- ) : void 0;
47243
+ function errorOnImplicitAnyModule(isError, errorNode, sourceFile, mode, { packageId, resolvedFileName }, moduleReference) {
47244
+ var _a2, _b;
47245
+ let errorInfo;
47246
+ if (!isExternalModuleNameRelative(moduleReference) && packageId) {
47247
+ const node10Result = (_b = (_a2 = sourceFile.resolvedModules) == null ? void 0 : _a2.get(moduleReference, mode)) == null ? void 0 : _b.node10Result;
47248
+ errorInfo = node10Result ? chainDiagnosticMessages(
47249
+ /*details*/
47250
+ void 0,
47251
+ Diagnostics.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,
47252
+ node10Result,
47253
+ node10Result.indexOf(nodeModulesPathPart + "@types/") > -1 ? `@types/${mangleScopedPackageName(packageId.name)}` : packageId.name
47254
+ ) : typesPackageExists(packageId.name) ? chainDiagnosticMessages(
47255
+ /*details*/
47256
+ void 0,
47257
+ Diagnostics.If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1,
47258
+ packageId.name,
47259
+ mangleScopedPackageName(packageId.name)
47260
+ ) : packageBundlesTypes(packageId.name) ? chainDiagnosticMessages(
47261
+ /*details*/
47262
+ void 0,
47263
+ Diagnostics.If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_declare_module_1,
47264
+ packageId.name,
47265
+ moduleReference
47266
+ ) : chainDiagnosticMessages(
47267
+ /*details*/
47268
+ void 0,
47269
+ Diagnostics.Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0,
47270
+ moduleReference,
47271
+ mangleScopedPackageName(packageId.name)
47272
+ );
47273
+ }
47272
47274
  errorOrSuggestion(isError, errorNode, chainDiagnosticMessages(
47273
47275
  errorInfo,
47274
47276
  Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type,
@@ -48731,7 +48733,8 @@ ${lanes.join("\n")}
48731
48733
  const isNonLocalFunctionSymbol = !!(symbol.flags & 16 /* Function */) && (symbol.parent || // is exported function symbol
48732
48734
  forEach(symbol.declarations, (declaration) => declaration.parent.kind === 308 /* SourceFile */ || declaration.parent.kind === 265 /* ModuleBlock */));
48733
48735
  if (isStaticMethodSymbol || isNonLocalFunctionSymbol) {
48734
- return (!!(context.flags & 4096 /* UseTypeOfFunction */) || ((_a4 = context.visitedTypes) == null ? void 0 : _a4.has(typeId))) && (!(context.flags & 8 /* UseStructuralFallback */) || isValueSymbolAccessible(symbol, context.enclosingDeclaration));
48736
+ return (!!(context.flags & 4096 /* UseTypeOfFunction */) || ((_a4 = context.visitedTypes) == null ? void 0 : _a4.has(typeId))) && // it is type of the symbol uses itself recursively
48737
+ (!(context.flags & 8 /* UseStructuralFallback */) || isValueSymbolAccessible(symbol, context.enclosingDeclaration));
48735
48738
  }
48736
48739
  }
48737
48740
  }
@@ -48823,7 +48826,9 @@ ${lanes.join("\n")}
48823
48826
  const abstractSignatures = filter(resolved.constructSignatures, (signature) => !!(signature.flags & 4 /* Abstract */));
48824
48827
  if (some(abstractSignatures)) {
48825
48828
  const types = map(abstractSignatures, getOrCreateTypeFromSignature);
48826
- const typeElementCount = resolved.callSignatures.length + (resolved.constructSignatures.length - abstractSignatures.length) + resolved.indexInfos.length + (context.flags & 2048 /* WriteClassExpressionAsTypeLiteral */ ? countWhere(resolved.properties, (p) => !(p.flags & 4194304 /* Prototype */)) : length(resolved.properties));
48829
+ const typeElementCount = resolved.callSignatures.length + (resolved.constructSignatures.length - abstractSignatures.length) + resolved.indexInfos.length + // exclude `prototype` when writing a class expression as a type literal, as per
48830
+ // the logic in `createTypeNodesFromResolvedType`.
48831
+ (context.flags & 2048 /* WriteClassExpressionAsTypeLiteral */ ? countWhere(resolved.properties, (p) => !(p.flags & 4194304 /* Prototype */)) : length(resolved.properties));
48827
48832
  if (typeElementCount) {
48828
48833
  types.push(getResolvedTypeWithoutAbstractConstructSignatures(resolved));
48829
48834
  }
@@ -48922,13 +48927,17 @@ ${lanes.join("\n")}
48922
48927
  let qualifier = root.qualifier;
48923
48928
  if (qualifier) {
48924
48929
  if (isIdentifier(qualifier)) {
48925
- qualifier = factory.updateIdentifier(qualifier, typeArguments);
48930
+ if (typeArguments !== getIdentifierTypeArguments(qualifier)) {
48931
+ qualifier = setIdentifierTypeArguments(factory.cloneNode(qualifier), typeArguments);
48932
+ }
48926
48933
  } else {
48927
- qualifier = factory.updateQualifiedName(
48928
- qualifier,
48929
- qualifier.left,
48930
- factory.updateIdentifier(qualifier.right, typeArguments)
48931
- );
48934
+ if (typeArguments !== getIdentifierTypeArguments(qualifier.right)) {
48935
+ qualifier = factory.updateQualifiedName(
48936
+ qualifier,
48937
+ qualifier.left,
48938
+ setIdentifierTypeArguments(factory.cloneNode(qualifier.right), typeArguments)
48939
+ );
48940
+ }
48932
48941
  }
48933
48942
  }
48934
48943
  typeArguments = ref.typeArguments;
@@ -48948,13 +48957,17 @@ ${lanes.join("\n")}
48948
48957
  let typeArguments = root.typeArguments;
48949
48958
  let typeName = root.typeName;
48950
48959
  if (isIdentifier(typeName)) {
48951
- typeName = factory.updateIdentifier(typeName, typeArguments);
48960
+ if (typeArguments !== getIdentifierTypeArguments(typeName)) {
48961
+ typeName = setIdentifierTypeArguments(factory.cloneNode(typeName), typeArguments);
48962
+ }
48952
48963
  } else {
48953
- typeName = factory.updateQualifiedName(
48954
- typeName,
48955
- typeName.left,
48956
- factory.updateIdentifier(typeName.right, typeArguments)
48957
- );
48964
+ if (typeArguments !== getIdentifierTypeArguments(typeName.right)) {
48965
+ typeName = factory.updateQualifiedName(
48966
+ typeName,
48967
+ typeName.left,
48968
+ setIdentifierTypeArguments(factory.cloneNode(typeName.right), typeArguments)
48969
+ );
48970
+ }
48958
48971
  }
48959
48972
  typeArguments = ref.typeArguments;
48960
48973
  const ids = getAccessStack(ref);
@@ -49485,9 +49498,11 @@ ${lanes.join("\n")}
49485
49498
  if (accessibleSymbolChain) {
49486
49499
  return accessibleSymbolChain;
49487
49500
  }
49488
- if (// If this is the last part of outputting the symbol, always output. The cases apply only to parent symbols.
49489
- endOfChain || // If a parent symbol is an anonymous type, don't write it.
49490
- !(symbol2.flags & (2048 /* TypeLiteral */ | 4096 /* ObjectLiteral */))) {
49501
+ if (
49502
+ // If this is the last part of outputting the symbol, always output. The cases apply only to parent symbols.
49503
+ endOfChain || // If a parent symbol is an anonymous type, don't write it.
49504
+ !(symbol2.flags & (2048 /* TypeLiteral */ | 4096 /* ObjectLiteral */))
49505
+ ) {
49491
49506
  if (!endOfChain && !yieldModuleSymbol && !!forEach(symbol2.declarations, hasNonGlobalAugmentationExternalModuleSymbol)) {
49492
49507
  return;
49493
49508
  }
@@ -49666,7 +49681,11 @@ ${lanes.join("\n")}
49666
49681
  if (!nonRootParts || isEntityName(nonRootParts)) {
49667
49682
  if (nonRootParts) {
49668
49683
  const lastId = isIdentifier(nonRootParts) ? nonRootParts : nonRootParts.right;
49669
- lastId.typeArguments = void 0;
49684
+ setIdentifierTypeArguments(
49685
+ lastId,
49686
+ /*typeArguments*/
49687
+ void 0
49688
+ );
49670
49689
  }
49671
49690
  return factory.createImportTypeNode(lit, assertion, nonRootParts, typeParameterNodes, isTypeOf);
49672
49691
  } else {
@@ -49683,8 +49702,12 @@ ${lanes.join("\n")}
49683
49702
  return factory.createTypeQueryNode(entityName);
49684
49703
  } else {
49685
49704
  const lastId = isIdentifier(entityName) ? entityName : entityName.right;
49686
- const lastTypeArgs = lastId.typeArguments;
49687
- lastId.typeArguments = void 0;
49705
+ const lastTypeArgs = getIdentifierTypeArguments(lastId);
49706
+ setIdentifierTypeArguments(
49707
+ lastId,
49708
+ /*typeArguments*/
49709
+ void 0
49710
+ );
49688
49711
  return factory.createTypeReferenceNode(entityName, lastTypeArgs);
49689
49712
  }
49690
49713
  function createAccessFromSymbolChain(chain2, index, stopper) {
@@ -49728,7 +49751,9 @@ ${lanes.join("\n")}
49728
49751
  return factory.createIndexedAccessTypeNode(factory.createTypeReferenceNode(LHS, typeParameterNodes), factory.createLiteralTypeNode(factory.createStringLiteral(symbolName2)));
49729
49752
  }
49730
49753
  }
49731
- const identifier = setEmitFlags(factory.createIdentifier(symbolName2, typeParameterNodes), 33554432 /* NoAsciiEscaping */);
49754
+ const identifier = setEmitFlags(factory.createIdentifier(symbolName2), 33554432 /* NoAsciiEscaping */);
49755
+ if (typeParameterNodes)
49756
+ setIdentifierTypeArguments(identifier, factory.createNodeArray(typeParameterNodes));
49732
49757
  identifier.symbol = symbol2;
49733
49758
  if (index > stopper) {
49734
49759
  const LHS = createAccessFromSymbolChain(chain2, index - 1, stopper);
@@ -49786,7 +49811,9 @@ ${lanes.join("\n")}
49786
49811
  text = `${rawtext}_${i}`;
49787
49812
  }
49788
49813
  if (text !== rawtext) {
49789
- result = factory.createIdentifier(text, result.typeArguments);
49814
+ const typeArguments = getIdentifierTypeArguments(result);
49815
+ result = factory.createIdentifier(text);
49816
+ setIdentifierTypeArguments(result, typeArguments);
49790
49817
  }
49791
49818
  (context.typeParameterNamesByTextNextNameCount || (context.typeParameterNamesByTextNextNameCount = /* @__PURE__ */ new Map())).set(rawtext, i);
49792
49819
  (context.typeParameterNames || (context.typeParameterNames = /* @__PURE__ */ new Map())).set(getTypeId(type), result);
@@ -49810,7 +49837,9 @@ ${lanes.join("\n")}
49810
49837
  if (index === 0) {
49811
49838
  context.flags ^= 16777216 /* InInitialEntityName */;
49812
49839
  }
49813
- const identifier = setEmitFlags(factory.createIdentifier(symbolName2, typeParameterNodes), 33554432 /* NoAsciiEscaping */);
49840
+ const identifier = setEmitFlags(factory.createIdentifier(symbolName2), 33554432 /* NoAsciiEscaping */);
49841
+ if (typeParameterNodes)
49842
+ setIdentifierTypeArguments(identifier, factory.createNodeArray(typeParameterNodes));
49814
49843
  identifier.symbol = symbol2;
49815
49844
  return index > 0 ? factory.createQualifiedName(createEntityNameFromSymbolChain(chain2, index - 1), identifier) : identifier;
49816
49845
  }
@@ -49833,7 +49862,9 @@ ${lanes.join("\n")}
49833
49862
  return factory.createStringLiteral(getSpecifierForModuleSymbol(symbol2, context));
49834
49863
  }
49835
49864
  if (index === 0 || canUsePropertyAccess(symbolName2, languageVersion)) {
49836
- const identifier = setEmitFlags(factory.createIdentifier(symbolName2, typeParameterNodes), 33554432 /* NoAsciiEscaping */);
49865
+ const identifier = setEmitFlags(factory.createIdentifier(symbolName2), 33554432 /* NoAsciiEscaping */);
49866
+ if (typeParameterNodes)
49867
+ setIdentifierTypeArguments(identifier, factory.createNodeArray(typeParameterNodes));
49837
49868
  identifier.symbol = symbol2;
49838
49869
  return index > 0 ? factory.createPropertyAccessExpression(createExpressionFromSymbolChain(chain2, index - 1), identifier) : identifier;
49839
49870
  } else {
@@ -49848,8 +49879,11 @@ ${lanes.join("\n")}
49848
49879
  expression = factory.createNumericLiteral(+symbolName2);
49849
49880
  }
49850
49881
  if (!expression) {
49851
- expression = setEmitFlags(factory.createIdentifier(symbolName2, typeParameterNodes), 33554432 /* NoAsciiEscaping */);
49852
- expression.symbol = symbol2;
49882
+ const identifier = setEmitFlags(factory.createIdentifier(symbolName2), 33554432 /* NoAsciiEscaping */);
49883
+ if (typeParameterNodes)
49884
+ setIdentifierTypeArguments(identifier, factory.createNodeArray(typeParameterNodes));
49885
+ identifier.symbol = symbol2;
49886
+ expression = identifier;
49853
49887
  }
49854
49888
  return factory.createElementAccessExpression(createExpressionFromSymbolChain(chain2, index - 1), expression);
49855
49889
  }
@@ -50109,7 +50143,8 @@ ${lanes.join("\n")}
50109
50143
  }
50110
50144
  if (isLiteralImportTypeNode(node)) {
50111
50145
  const nodeSymbol = getNodeLinks(node).resolvedSymbol;
50112
- if (isInJSDoc(node) && nodeSymbol && (!node.isTypeOf && !(nodeSymbol.flags & 788968 /* Type */) || // The import type had type arguments autofilled by js fallback logic
50146
+ if (isInJSDoc(node) && nodeSymbol && // The import type resolved using jsdoc fallback logic
50147
+ (!node.isTypeOf && !(nodeSymbol.flags & 788968 /* Type */) || // The import type had type arguments autofilled by js fallback logic
50113
50148
  !(length(node.typeArguments) >= getMinTypeArgumentCount(getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(nodeSymbol))))) {
50114
50149
  return setOriginalNode(typeToTypeNodeHelper(getTypeFromTypeNode(node), context), node);
50115
50150
  }
@@ -51626,8 +51661,10 @@ ${lanes.join("\n")}
51626
51661
  }
51627
51662
  }
51628
51663
  function getNameOfSymbolAsWritten(symbol, context) {
51629
- if (context && symbol.escapedName === "default" /* Default */ && !(context.flags & 16384 /* UseAliasDefinedOutsideCurrentScope */) && (!(context.flags & 16777216 /* InInitialEntityName */) || // if the symbol is synthesized, it will only be referenced externally it must print as `default`
51630
- !symbol.declarations || context.enclosingDeclaration && findAncestor(symbol.declarations[0], isDefaultBindingContext) !== findAncestor(context.enclosingDeclaration, isDefaultBindingContext))) {
51664
+ if (context && symbol.escapedName === "default" /* Default */ && !(context.flags & 16384 /* UseAliasDefinedOutsideCurrentScope */) && // If it's not the first part of an entity name, it must print as `default`
51665
+ (!(context.flags & 16777216 /* InInitialEntityName */) || // if the symbol is synthesized, it will only be referenced externally it must print as `default`
51666
+ !symbol.declarations || // if not in the same binding context (source file, module declaration), it must print as `default`
51667
+ context.enclosingDeclaration && findAncestor(symbol.declarations[0], isDefaultBindingContext) !== findAncestor(context.enclosingDeclaration, isDefaultBindingContext))) {
51631
51668
  return "default";
51632
51669
  }
51633
51670
  if (symbol.declarations && symbol.declarations.length) {
@@ -52954,7 +52991,10 @@ ${lanes.join("\n")}
52954
52991
  function getWriteTypeOfSymbol(symbol) {
52955
52992
  const checkFlags = getCheckFlags(symbol);
52956
52993
  if (symbol.flags & 4 /* Property */) {
52957
- return checkFlags & 2 /* SyntheticProperty */ ? checkFlags & 65536 /* DeferredType */ ? getWriteTypeOfSymbolWithDeferredType(symbol) || getTypeOfSymbolWithDeferredType(symbol) : symbol.links.writeType || symbol.links.type : getTypeOfSymbol(symbol);
52994
+ return checkFlags & 2 /* SyntheticProperty */ ? checkFlags & 65536 /* DeferredType */ ? getWriteTypeOfSymbolWithDeferredType(symbol) || getTypeOfSymbolWithDeferredType(symbol) : (
52995
+ // NOTE: cast to TransientSymbol should be safe because only TransientSymbols can have CheckFlags.SyntheticProperty
52996
+ symbol.links.writeType || symbol.links.type
52997
+ ) : getTypeOfSymbol(symbol);
52958
52998
  }
52959
52999
  if (symbol.flags & 98304 /* Accessor */) {
52960
53000
  return checkFlags & 1 /* Instantiated */ ? getWriteTypeOfInstantiatedSymbol(symbol) : getWriteTypeOfAccessors(symbol);
@@ -61371,7 +61411,11 @@ ${lanes.join("\n")}
61371
61411
  if (variances === emptyArray) {
61372
61412
  return 1 /* Unknown */;
61373
61413
  }
61374
- const varianceResult = relateVariances(source2.aliasTypeArguments, target2.aliasTypeArguments, variances, intersectionState);
61414
+ const params = getSymbolLinks(source2.aliasSymbol).typeParameters;
61415
+ const minParams = getMinTypeArgumentCount(params);
61416
+ const sourceTypes = fillMissingTypeArguments(source2.aliasTypeArguments, params, minParams, isInJSFile(source2.aliasSymbol.valueDeclaration));
61417
+ const targetTypes = fillMissingTypeArguments(target2.aliasTypeArguments, params, minParams, isInJSFile(source2.aliasSymbol.valueDeclaration));
61418
+ const varianceResult = relateVariances(sourceTypes, targetTypes, variances, intersectionState);
61375
61419
  if (varianceResult !== void 0) {
61376
61420
  return varianceResult;
61377
61421
  }
@@ -63354,19 +63398,22 @@ ${lanes.join("\n")}
63354
63398
  break;
63355
63399
  case 166 /* Parameter */:
63356
63400
  const param = declaration;
63357
- if (isIdentifier(param.name) && (isCallSignatureDeclaration(param.parent) || isMethodSignature(param.parent) || isFunctionTypeNode(param.parent)) && param.parent.parameters.indexOf(param) > -1 && (resolveName(
63358
- param,
63359
- param.name.escapedText,
63360
- 788968 /* Type */,
63361
- void 0,
63362
- param.name.escapedText,
63363
- /*isUse*/
63364
- true
63365
- ) || param.name.originalKeywordKind && isTypeNodeKind(param.name.originalKeywordKind))) {
63366
- const newName = "arg" + param.parent.parameters.indexOf(param);
63367
- const typeName = declarationNameToString(param.name) + (param.dotDotDotToken ? "[]" : "");
63368
- errorOrSuggestion(noImplicitAny, declaration, Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1, newName, typeName);
63369
- return;
63401
+ if (isIdentifier(param.name)) {
63402
+ const originalKeywordKind = identifierToKeywordKind(param.name);
63403
+ if ((isCallSignatureDeclaration(param.parent) || isMethodSignature(param.parent) || isFunctionTypeNode(param.parent)) && param.parent.parameters.indexOf(param) > -1 && (resolveName(
63404
+ param,
63405
+ param.name.escapedText,
63406
+ 788968 /* Type */,
63407
+ void 0,
63408
+ param.name.escapedText,
63409
+ /*isUse*/
63410
+ true
63411
+ ) || originalKeywordKind && isTypeNodeKind(originalKeywordKind))) {
63412
+ const newName = "arg" + param.parent.parameters.indexOf(param);
63413
+ const typeName = declarationNameToString(param.name) + (param.dotDotDotToken ? "[]" : "");
63414
+ errorOrSuggestion(noImplicitAny, declaration, Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1, newName, typeName);
63415
+ return;
63416
+ }
63370
63417
  }
63371
63418
  diagnostic = declaration.dotDotDotToken ? noImplicitAny ? Diagnostics.Rest_parameter_0_implicitly_has_an_any_type : Diagnostics.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage : noImplicitAny ? Diagnostics.Parameter_0_implicitly_has_an_1_type : Diagnostics.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage;
63372
63419
  break;
@@ -63554,6 +63601,10 @@ ${lanes.join("\n")}
63554
63601
  function isTypeParameterAtTopLevel(type, typeParameter) {
63555
63602
  return !!(type === typeParameter || type.flags & 3145728 /* UnionOrIntersection */ && some(type.types, (t) => isTypeParameterAtTopLevel(t, typeParameter)) || type.flags & 16777216 /* Conditional */ && (getTrueTypeFromConditionalType(type) === typeParameter || getFalseTypeFromConditionalType(type) === typeParameter));
63556
63603
  }
63604
+ function isTypeParameterAtTopLevelInReturnType(signature, typeParameter) {
63605
+ const typePredicate = getTypePredicateOfSignature(signature);
63606
+ return typePredicate ? !!typePredicate.type && isTypeParameterAtTopLevel(typePredicate.type, typeParameter) : isTypeParameterAtTopLevel(getReturnTypeOfSignature(signature), typeParameter);
63607
+ }
63557
63608
  function createEmptyObjectTypeFromStringLiteral(type) {
63558
63609
  const members = createSymbolTable();
63559
63610
  forEachType(type, (t) => {
@@ -63828,7 +63879,11 @@ ${lanes.join("\n")}
63828
63879
  }
63829
63880
  if (source.aliasSymbol && source.aliasSymbol === target.aliasSymbol) {
63830
63881
  if (source.aliasTypeArguments) {
63831
- inferFromTypeArguments(source.aliasTypeArguments, target.aliasTypeArguments, getAliasVariances(source.aliasSymbol));
63882
+ const params = getSymbolLinks(source.aliasSymbol).typeParameters;
63883
+ const minParams = getMinTypeArgumentCount(params);
63884
+ const sourceTypes = fillMissingTypeArguments(source.aliasTypeArguments, params, minParams, isInJSFile(source.aliasSymbol.valueDeclaration));
63885
+ const targetTypes = fillMissingTypeArguments(target.aliasTypeArguments, params, minParams, isInJSFile(source.aliasSymbol.valueDeclaration));
63886
+ inferFromTypeArguments(sourceTypes, targetTypes, getAliasVariances(source.aliasSymbol));
63832
63887
  }
63833
63888
  return;
63834
63889
  }
@@ -64421,7 +64476,7 @@ ${lanes.join("\n")}
64421
64476
  function getCovariantInference(inference, signature) {
64422
64477
  const candidates = unionObjectAndArrayLiteralCandidates(inference.candidates);
64423
64478
  const primitiveConstraint = hasPrimitiveConstraint(inference.typeParameter) || isConstTypeVariable(inference.typeParameter);
64424
- const widenLiteralTypes = !primitiveConstraint && inference.topLevel && (inference.isFixed || !isTypeParameterAtTopLevel(getReturnTypeOfSignature(signature), inference.typeParameter));
64479
+ const widenLiteralTypes = !primitiveConstraint && inference.topLevel && (inference.isFixed || !isTypeParameterAtTopLevelInReturnType(signature, inference.typeParameter));
64425
64480
  const baseCandidates = primitiveConstraint ? sameMap(candidates, getRegularTypeOfLiteralType) : widenLiteralTypes ? sameMap(candidates, getWidenedLiteralType) : candidates;
64426
64481
  const unwidenedType = inference.priority & 416 /* PriorityImpliesCombination */ ? getUnionType(baseCandidates, 2 /* Subtype */) : getCommonSupertype(baseCandidates);
64427
64482
  return getWidenedType(unwidenedType);
@@ -66235,18 +66290,20 @@ ${lanes.join("\n")}
66235
66290
  return narrowTypeByTypeFacts(type, nonPrimitiveType, 128 /* TypeofEQHostObject */);
66236
66291
  }
66237
66292
  function narrowTypeByTypeFacts(type, impliedType, facts) {
66238
- return mapType(type, (t) => // We first check if a constituent is a subtype of the implied type. If so, we either keep or eliminate
66239
- // the constituent based on its type facts. We use the strict subtype relation because it treats `object`
66240
- // as a subtype of `{}`, and we need the type facts check because function types are subtypes of `object`,
66241
- // but are classified as "function" according to `typeof`.
66242
- isTypeRelatedTo(t, impliedType, strictSubtypeRelation) ? getTypeFacts(t) & facts ? t : neverType : (
66243
- // We next check if the consituent is a supertype of the implied type. If so, we substitute the implied
66244
- // type. This handles top types like `unknown` and `{}`, and supertypes like `{ toString(): string }`.
66245
- isTypeSubtypeOf(impliedType, t) ? impliedType : (
66246
- // Neither the constituent nor the implied type is a subtype of the other, however their domains may still
66247
- // overlap. For example, an unconstrained type parameter and type `string`. If the type facts indicate
66248
- // possible overlap, we form an intersection. Otherwise, we eliminate the constituent.
66249
- getTypeFacts(t) & facts ? getIntersectionType([t, impliedType]) : neverType
66293
+ return mapType(type, (t) => (
66294
+ // We first check if a constituent is a subtype of the implied type. If so, we either keep or eliminate
66295
+ // the constituent based on its type facts. We use the strict subtype relation because it treats `object`
66296
+ // as a subtype of `{}`, and we need the type facts check because function types are subtypes of `object`,
66297
+ // but are classified as "function" according to `typeof`.
66298
+ isTypeRelatedTo(t, impliedType, strictSubtypeRelation) ? getTypeFacts(t) & facts ? t : neverType : (
66299
+ // We next check if the consituent is a supertype of the implied type. If so, we substitute the implied
66300
+ // type. This handles top types like `unknown` and `{}`, and supertypes like `{ toString(): string }`.
66301
+ isTypeSubtypeOf(impliedType, t) ? impliedType : (
66302
+ // Neither the constituent nor the implied type is a subtype of the other, however their domains may still
66303
+ // overlap. For example, an unconstrained type parameter and type `string`. If the type facts indicate
66304
+ // possible overlap, we form an intersection. Otherwise, we eliminate the constituent.
66305
+ getTypeFacts(t) & facts ? getIntersectionType([t, impliedType]) : neverType
66306
+ )
66250
66307
  )
66251
66308
  ));
66252
66309
  }
@@ -73817,7 +73874,8 @@ ${lanes.join("\n")}
73817
73874
  }
73818
73875
  }
73819
73876
  function isIndirectCall(node) {
73820
- return node.parent.kind === 214 /* ParenthesizedExpression */ && isNumericLiteral(node.left) && node.left.text === "0" && (isCallExpression(node.parent.parent) && node.parent.parent.expression === node.parent || node.parent.parent.kind === 212 /* TaggedTemplateExpression */) && (isAccessExpression(node.right) || isIdentifier(node.right) && node.right.escapedText === "eval");
73877
+ return node.parent.kind === 214 /* ParenthesizedExpression */ && isNumericLiteral(node.left) && node.left.text === "0" && (isCallExpression(node.parent.parent) && node.parent.parent.expression === node.parent || node.parent.parent.kind === 212 /* TaggedTemplateExpression */) && // special-case for "eval" because it's the only non-access case where an indirect call actually affects behavior.
73878
+ (isAccessExpression(node.right) || isIdentifier(node.right) && node.right.escapedText === "eval");
73821
73879
  }
73822
73880
  function checkForDisallowedESSymbolOperand(operator2) {
73823
73881
  const offendingSymbolOperand = maybeTypeOfKindConsideringBaseConstraint(leftType, 12288 /* ESSymbolLike */) ? left : maybeTypeOfKindConsideringBaseConstraint(rightType, 12288 /* ESSymbolLike */) ? right : void 0;
@@ -75147,8 +75205,11 @@ ${lanes.join("\n")}
75147
75205
  }
75148
75206
  function checkTypeReferenceNode(node) {
75149
75207
  checkGrammarTypeArguments(node, node.typeArguments);
75150
- if (node.kind === 180 /* TypeReference */ && node.typeName.jsdocDotPos !== void 0 && !isInJSFile(node) && !isInJSDoc(node)) {
75151
- grammarErrorAtPos(node, node.typeName.jsdocDotPos, 1, Diagnostics.JSDoc_types_can_only_be_used_inside_documentation_comments);
75208
+ if (node.kind === 180 /* TypeReference */ && !isInJSFile(node) && !isInJSDoc(node) && node.typeArguments && node.typeName.end !== node.typeArguments.pos) {
75209
+ const sourceFile = getSourceFileOfNode(node);
75210
+ if (scanTokenAtPosition(sourceFile, node.typeName.end) === 24 /* DotToken */) {
75211
+ grammarErrorAtPos(node, skipTrivia(sourceFile.text, node.typeName.end), 1, Diagnostics.JSDoc_types_can_only_be_used_inside_documentation_comments);
75212
+ }
75152
75213
  }
75153
75214
  forEach(node.typeArguments, checkSourceElement);
75154
75215
  const type = getTypeFromTypeReference(node);
@@ -80757,8 +80818,9 @@ ${lanes.join("\n")}
80757
80818
  }
80758
80819
  }
80759
80820
  function getReferencedImportDeclaration(nodeIn) {
80760
- if (nodeIn.generatedImportReference) {
80761
- return nodeIn.generatedImportReference;
80821
+ const specifier = getIdentifierGeneratedImportReference(nodeIn);
80822
+ if (specifier) {
80823
+ return specifier;
80762
80824
  }
80763
80825
  const node = getParseTreeNode(nodeIn, isIdentifier);
80764
80826
  if (node) {
@@ -80902,7 +80964,12 @@ ${lanes.join("\n")}
80902
80964
  return false;
80903
80965
  const symbol = getSymbolOfDeclaration(node);
80904
80966
  const signaturesOfSymbol = getSignaturesOfSymbol(symbol);
80905
- return signaturesOfSymbol.length > 1 || signaturesOfSymbol.length === 1 && signaturesOfSymbol[0].declaration !== node;
80967
+ return signaturesOfSymbol.length > 1 || // If there is single signature for the symbol, it is overload if that signature isn't coming from the node
80968
+ // e.g.: function foo(a: string): string;
80969
+ // function foo(a: any) { // This is implementation of the overloads
80970
+ // return a;
80971
+ // }
80972
+ signaturesOfSymbol.length === 1 && signaturesOfSymbol[0].declaration !== node;
80906
80973
  }
80907
80974
  return false;
80908
80975
  }
@@ -82731,7 +82798,7 @@ ${lanes.join("\n")}
82731
82798
  }
82732
82799
  function checkGrammarNameInLetOrConstDeclarations(name) {
82733
82800
  if (name.kind === 79 /* Identifier */) {
82734
- if (name.originalKeywordKind === 119 /* LetKeyword */) {
82801
+ if (name.escapedText === "let") {
82735
82802
  return grammarErrorOnNode(name, Diagnostics.let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations);
82736
82803
  }
82737
82804
  } else {
@@ -83677,12 +83744,6 @@ ${lanes.join("\n")}
83677
83744
  "use strict";
83678
83745
  init_ts2();
83679
83746
  visitEachChildTable = {
83680
- [79 /* Identifier */]: function visitEachChildOfIdentifier(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
83681
- return context.factory.updateIdentifier(
83682
- node,
83683
- nodesVisitor(node.typeArguments, visitor, isTypeNodeOrTypeParameterDeclaration)
83684
- );
83685
- },
83686
83747
  [163 /* QualifiedName */]: function visitEachChildOfQualifiedName(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
83687
83748
  return context.factory.updateQualifiedName(
83688
83749
  node,
@@ -88922,7 +88983,7 @@ ${lanes.join("\n")}
88922
88983
  if (isClassWithConstructorReference) {
88923
88984
  enableSubstitutionForClassAliases();
88924
88985
  const alias = factory2.cloneNode(temp);
88925
- alias.autoGenerate.flags &= ~8 /* ReservedInNestedScopes */;
88986
+ alias.emitNode.autoGenerate.flags &= ~8 /* ReservedInNestedScopes */;
88926
88987
  classAliases[getOriginalNodeId(node)] = alias;
88927
88988
  }
88928
88989
  setEmitFlags(classExpression, 131072 /* Indented */ | getEmitFlags(classExpression));
@@ -93119,7 +93180,7 @@ ${lanes.join("\n")}
93119
93180
  factory2.createIdentifier(name),
93120
93181
  generatedName
93121
93182
  );
93122
- generatedName.generatedImportReference = specifier;
93183
+ setIdentifierGeneratedImportReference(generatedName, specifier);
93123
93184
  specifierSourceImports.set(name, specifier);
93124
93185
  return generatedName;
93125
93186
  }
@@ -94275,7 +94336,7 @@ ${lanes.join("\n")}
94275
94336
  return convertedLoopState.argumentsName || (convertedLoopState.argumentsName = factory2.createUniqueName("arguments"));
94276
94337
  }
94277
94338
  }
94278
- if (node.hasExtendedUnicodeEscape) {
94339
+ if (node.flags & 128 /* IdentifierHasExtendedUnicodeEscape */) {
94279
94340
  return setOriginalNode(setTextRange(
94280
94341
  factory2.createIdentifier(unescapeLeadingUnderscores(node.escapedText)),
94281
94342
  node
@@ -97162,7 +97223,7 @@ ${lanes.join("\n")}
97162
97223
  return node;
97163
97224
  }
97164
97225
  function trySubstituteReservedName(name) {
97165
- const token = name.originalKeywordKind || (nodeIsSynthesized(name) ? stringToToken(idText(name)) : void 0);
97226
+ const token = identifierToKeywordKind(name);
97166
97227
  if (token !== void 0 && token >= 81 /* FirstReservedWord */ && token <= 116 /* LastReservedWord */) {
97167
97228
  return setTextRange(factory2.createStringLiteralFromNode(name), name);
97168
97229
  }
@@ -100842,7 +100903,7 @@ ${lanes.join("\n")}
100842
100903
  return factory2.createPropertyAccessExpression(externalHelpersModuleName, node);
100843
100904
  }
100844
100905
  return node;
100845
- } else if (!(isGeneratedIdentifier(node) && !(node.autoGenerate.flags & 64 /* AllowNameSubstitution */)) && !isLocalName(node)) {
100906
+ } else if (!(isGeneratedIdentifier(node) && !(node.emitNode.autoGenerate.flags & 64 /* AllowNameSubstitution */)) && !isLocalName(node)) {
100846
100907
  const exportContainer = resolver.getReferencedExportContainer(node, isExportName(node));
100847
100908
  if (exportContainer && exportContainer.kind === 308 /* SourceFile */) {
100848
100909
  return setTextRange(
@@ -106809,7 +106870,7 @@ ${lanes.join("\n")}
106809
106870
  /*includeTrivia*/
106810
106871
  false
106811
106872
  ), node.symbol);
106812
- emitList(node, node.typeArguments, 53776 /* TypeParameters */);
106873
+ emitList(node, getIdentifierTypeArguments(node), 53776 /* TypeParameters */);
106813
106874
  }
106814
106875
  function emitPrivateIdentifier(node) {
106815
106876
  write(getTextOfNode2(
@@ -109527,10 +109588,11 @@ ${lanes.join("\n")}
109527
109588
  }
109528
109589
  }
109529
109590
  function generateName(name) {
109530
- if ((name.autoGenerate.flags & 7 /* KindMask */) === 4 /* Node */) {
109531
- return generateNameCached(getNodeForGeneratedName(name), isPrivateIdentifier(name), name.autoGenerate.flags, name.autoGenerate.prefix, name.autoGenerate.suffix);
109591
+ const autoGenerate = name.emitNode.autoGenerate;
109592
+ if ((autoGenerate.flags & 7 /* KindMask */) === 4 /* Node */) {
109593
+ return generateNameCached(getNodeForGeneratedName(name), isPrivateIdentifier(name), autoGenerate.flags, autoGenerate.prefix, autoGenerate.suffix);
109532
109594
  } else {
109533
- const autoGenerateId = name.autoGenerate.id;
109595
+ const autoGenerateId = autoGenerate.id;
109534
109596
  return autoGeneratedIdToGeneratedName[autoGenerateId] || (autoGeneratedIdToGeneratedName[autoGenerateId] = makeName(name));
109535
109597
  }
109536
109598
  }
@@ -109810,16 +109872,17 @@ ${lanes.join("\n")}
109810
109872
  }
109811
109873
  }
109812
109874
  function makeName(name) {
109813
- const prefix = formatGeneratedNamePart(name.autoGenerate.prefix, generateName);
109814
- const suffix = formatGeneratedNamePart(name.autoGenerate.suffix);
109815
- switch (name.autoGenerate.flags & 7 /* KindMask */) {
109875
+ const autoGenerate = name.emitNode.autoGenerate;
109876
+ const prefix = formatGeneratedNamePart(autoGenerate.prefix, generateName);
109877
+ const suffix = formatGeneratedNamePart(autoGenerate.suffix);
109878
+ switch (autoGenerate.flags & 7 /* KindMask */) {
109816
109879
  case 1 /* Auto */:
109817
- return makeTempVariableName(TempFlags.Auto, !!(name.autoGenerate.flags & 8 /* ReservedInNestedScopes */), isPrivateIdentifier(name), prefix, suffix);
109880
+ return makeTempVariableName(TempFlags.Auto, !!(autoGenerate.flags & 8 /* ReservedInNestedScopes */), isPrivateIdentifier(name), prefix, suffix);
109818
109881
  case 2 /* Loop */:
109819
109882
  Debug.assertNode(name, isIdentifier);
109820
109883
  return makeTempVariableName(
109821
109884
  TempFlags._i,
109822
- !!(name.autoGenerate.flags & 8 /* ReservedInNestedScopes */),
109885
+ !!(autoGenerate.flags & 8 /* ReservedInNestedScopes */),
109823
109886
  /*privateName*/
109824
109887
  false,
109825
109888
  prefix,
@@ -109828,16 +109891,16 @@ ${lanes.join("\n")}
109828
109891
  case 3 /* Unique */:
109829
109892
  return makeUniqueName2(
109830
109893
  idText(name),
109831
- name.autoGenerate.flags & 32 /* FileLevel */ ? isFileLevelUniqueName2 : isUniqueName,
109832
- !!(name.autoGenerate.flags & 16 /* Optimistic */),
109833
- !!(name.autoGenerate.flags & 8 /* ReservedInNestedScopes */),
109894
+ autoGenerate.flags & 32 /* FileLevel */ ? isFileLevelUniqueName2 : isUniqueName,
109895
+ !!(autoGenerate.flags & 16 /* Optimistic */),
109896
+ !!(autoGenerate.flags & 8 /* ReservedInNestedScopes */),
109834
109897
  isPrivateIdentifier(name),
109835
109898
  prefix,
109836
109899
  suffix
109837
109900
  );
109838
109901
  }
109839
109902
  return Debug.fail(`Unsupported GeneratedIdentifierKind: ${Debug.formatEnum(
109840
- name.autoGenerate.flags & 7 /* KindMask */,
109903
+ autoGenerate.flags & 7 /* KindMask */,
109841
109904
  GeneratedIdentifierFlags,
109842
109905
  /*isFlags*/
109843
109906
  true
@@ -111760,7 +111823,8 @@ ${lanes.join("\n")}
111760
111823
  const oldSourceFiles = oldProgram.getSourceFiles();
111761
111824
  for (const oldSourceFile of oldSourceFiles) {
111762
111825
  const newFile = getSourceFileByPath(oldSourceFile.resolvedPath);
111763
- if (shouldCreateNewSourceFile || !newFile || newFile.impliedNodeFormat !== oldSourceFile.impliedNodeFormat || oldSourceFile.resolvedPath === oldSourceFile.path && newFile.resolvedPath !== oldSourceFile.path) {
111826
+ if (shouldCreateNewSourceFile || !newFile || newFile.impliedNodeFormat !== oldSourceFile.impliedNodeFormat || // old file wasn't redirect but new file is
111827
+ oldSourceFile.resolvedPath === oldSourceFile.path && newFile.resolvedPath !== oldSourceFile.path) {
111764
111828
  host.onReleaseOldSourceFile(oldSourceFile, oldProgram.getCompilerOptions(), !!getSourceFileByPath(oldSourceFile.path));
111765
111829
  }
111766
111830
  }
@@ -116646,7 +116710,8 @@ ${lanes.join("\n")}
116646
116710
  const name = loader.nameAndMode.getName(entry);
116647
116711
  const mode = loader.nameAndMode.getMode(entry, containingSourceFile);
116648
116712
  let resolution = resolutionsInFile.get(name, mode);
116649
- if (!seenNamesInFile.has(name, mode) && unmatchedRedirects || !resolution || resolution.isInvalidated || hasInvalidatedNonRelativeUnresolvedImport && !isExternalModuleNameRelative(name) && shouldRetryResolution(resolution)) {
116713
+ if (!seenNamesInFile.has(name, mode) && unmatchedRedirects || !resolution || resolution.isInvalidated || // If the name is unresolved import that was invalidated, recalculate
116714
+ hasInvalidatedNonRelativeUnresolvedImport && !isExternalModuleNameRelative(name) && shouldRetryResolution(resolution)) {
116650
116715
  const existingResolution = resolution;
116651
116716
  resolution = loader.resolve(name, mode);
116652
116717
  if (resolutionHost.onDiscoveredSymlink && resolutionIsSymlink(resolution)) {
@@ -122319,7 +122384,11 @@ ${lanes.join("\n")}
122319
122384
  return n;
122320
122385
  }
122321
122386
  return firstDefined(n.getChildren(sourceFile), (child) => {
122322
- const shouldDiveInChildNode = child.pos <= previousToken.pos && child.end > previousToken.end || child.pos === previousToken.end;
122387
+ const shouldDiveInChildNode = (
122388
+ // previous token is enclosed somewhere in the child
122389
+ child.pos <= previousToken.pos && child.end > previousToken.end || // previous token ends exactly at the beginning of child
122390
+ child.pos === previousToken.end
122391
+ );
122323
122392
  return shouldDiveInChildNode && nodeHasTokens(child, sourceFile) ? find2(child) : void 0;
122324
122393
  });
122325
122394
  }
@@ -134599,8 +134668,8 @@ ${lanes.join("\n")}
134599
134668
  function collectExportRenames(sourceFile, checker, identifiers) {
134600
134669
  const res = /* @__PURE__ */ new Map();
134601
134670
  forEachExportReference(sourceFile, (node) => {
134602
- const { text, originalKeywordKind } = node.name;
134603
- if (!res.has(text) && (originalKeywordKind !== void 0 && isNonContextualKeyword(originalKeywordKind) || checker.resolveName(
134671
+ const { text } = node.name;
134672
+ if (!res.has(text) && (isIdentifierANonContextualKeyword(node.name) || checker.resolveName(
134604
134673
  text,
134605
134674
  node,
134606
134675
  111551 /* Value */,
@@ -135990,15 +136059,17 @@ ${lanes.join("\n")}
135990
136059
  return fixes[0];
135991
136060
  }
135992
136061
  return fixes.reduce(
135993
- (best, fix) => // Takes true branch of conditional if `fix` is better than `best`
135994
- compareModuleSpecifiers(
135995
- fix,
135996
- best,
135997
- sourceFile,
135998
- program,
135999
- packageJsonImportFilter.allowsImportingSpecifier,
136000
- (fileName) => toPath(fileName, host.getCurrentDirectory(), hostGetCanonicalFileName(host))
136001
- ) === -1 /* LessThan */ ? fix : best
136062
+ (best, fix) => (
136063
+ // Takes true branch of conditional if `fix` is better than `best`
136064
+ compareModuleSpecifiers(
136065
+ fix,
136066
+ best,
136067
+ sourceFile,
136068
+ program,
136069
+ packageJsonImportFilter.allowsImportingSpecifier,
136070
+ (fileName) => toPath(fileName, host.getCurrentDirectory(), hostGetCanonicalFileName(host))
136071
+ ) === -1 /* LessThan */ ? fix : best
136072
+ )
136002
136073
  );
136003
136074
  }
136004
136075
  function compareModuleSpecifiers(a, b, importingFile, program, allowsImportingSpecifier, toPath3) {
@@ -143720,8 +143791,11 @@ ${lanes.join("\n")}
143720
143791
  if (isModifier(node)) {
143721
143792
  return node.kind;
143722
143793
  }
143723
- if (isIdentifier(node) && node.originalKeywordKind && isModifierKind(node.originalKeywordKind)) {
143724
- return node.originalKeywordKind;
143794
+ if (isIdentifier(node)) {
143795
+ const originalKeywordKind = identifierToKeywordKind(node);
143796
+ if (originalKeywordKind && isModifierKind(originalKeywordKind)) {
143797
+ return originalKeywordKind;
143798
+ }
143725
143799
  }
143726
143800
  return void 0;
143727
143801
  }
@@ -145494,7 +145568,10 @@ ${lanes.join("\n")}
145494
145568
  return containingNodeKind === 257 /* VariableDeclaration */ || isVariableDeclarationListButNotTypeArgument(contextToken2) || containingNodeKind === 240 /* VariableStatement */ || containingNodeKind === 263 /* EnumDeclaration */ || // enum a { foo, |
145495
145569
  isFunctionLikeButNotConstructor(containingNodeKind) || containingNodeKind === 261 /* InterfaceDeclaration */ || // interface A<T, |
145496
145570
  containingNodeKind === 204 /* ArrayBindingPattern */ || // var [x, y|
145497
- containingNodeKind === 262 /* TypeAliasDeclaration */ || isClassLike(parent2) && !!parent2.typeParameters && parent2.typeParameters.end >= contextToken2.pos;
145571
+ containingNodeKind === 262 /* TypeAliasDeclaration */ || // type Map, K, |
145572
+ // class A<T, |
145573
+ // var C = class D<T, |
145574
+ isClassLike(parent2) && !!parent2.typeParameters && parent2.typeParameters.end >= contextToken2.pos;
145498
145575
  case 24 /* DotToken */:
145499
145576
  return containingNodeKind === 204 /* ArrayBindingPattern */;
145500
145577
  case 58 /* ColonToken */:
@@ -145887,7 +145964,8 @@ ${lanes.join("\n")}
145887
145964
  return kind === 132 /* AsyncKeyword */ || kind === 133 /* AwaitKeyword */ || kind === 128 /* AsKeyword */ || kind === 150 /* SatisfiesKeyword */ || kind === 154 /* TypeKeyword */ || !isContextualKeyword(kind) && !isClassMemberCompletionKeyword(kind);
145888
145965
  }
145889
145966
  function keywordForNode(node) {
145890
- return isIdentifier(node) ? node.originalKeywordKind || 0 /* Unknown */ : node.kind;
145967
+ var _a2;
145968
+ return isIdentifier(node) ? (_a2 = identifierToKeywordKind(node)) != null ? _a2 : 0 /* Unknown */ : node.kind;
145891
145969
  }
145892
145970
  function getContextualKeywords(contextToken, position) {
145893
145971
  const entries = [];
@@ -145933,6 +146011,7 @@ ${lanes.join("\n")}
145933
146011
  return type.isUnion() ? Debug.checkEachDefined(checker.getAllPossiblePropertiesOfTypes(type.types), "getAllPossiblePropertiesOfTypes() should all be defined") : Debug.checkEachDefined(type.getApparentProperties(), "getApparentProperties() should all be defined");
145934
146012
  }
145935
146013
  function tryGetObjectTypeDeclarationCompletionContainer(sourceFile, contextToken, location, position) {
146014
+ var _a2;
145936
146015
  switch (location.kind) {
145937
146016
  case 353 /* SyntaxList */:
145938
146017
  return tryCast(location.parent, isObjectTypeDeclaration);
@@ -145943,8 +146022,8 @@ ${lanes.join("\n")}
145943
146022
  }
145944
146023
  break;
145945
146024
  case 79 /* Identifier */: {
145946
- const originalKeywordKind = location.originalKeywordKind;
145947
- if (originalKeywordKind && isKeyword(originalKeywordKind)) {
146025
+ const originalKeywordKind = identifierToKeywordKind(location);
146026
+ if (originalKeywordKind) {
145948
146027
  return void 0;
145949
146028
  }
145950
146029
  if (isPropertyDeclaration(location.parent) && location.parent.initializer === location) {
@@ -145977,7 +146056,7 @@ ${lanes.join("\n")}
145977
146056
  return void 0;
145978
146057
  }
145979
146058
  const isValidKeyword = isClassLike(contextToken.parent.parent) ? isClassMemberCompletionKeyword : isInterfaceOrTypeLiteralCompletionKeyword;
145980
- return isValidKeyword(contextToken.kind) || contextToken.kind === 41 /* AsteriskToken */ || isIdentifier(contextToken) && isValidKeyword(stringToToken(contextToken.text)) ? contextToken.parent.parent : void 0;
146059
+ return isValidKeyword(contextToken.kind) || contextToken.kind === 41 /* AsteriskToken */ || isIdentifier(contextToken) && isValidKeyword((_a2 = identifierToKeywordKind(contextToken)) != null ? _a2 : 0 /* Unknown */) ? contextToken.parent.parent : void 0;
145981
146060
  }
145982
146061
  }
145983
146062
  function tryGetTypeLiteralNode(node) {
@@ -147511,8 +147590,10 @@ ${lanes.join("\n")}
147511
147590
  return map2;
147512
147591
  }
147513
147592
  function forEachPossibleImportOrExportStatement(sourceFileLike, action) {
147514
- return forEach(sourceFileLike.kind === 308 /* SourceFile */ ? sourceFileLike.statements : sourceFileLike.body.statements, (statement) => // TODO: GH#18217
147515
- action(statement) || isAmbientModuleDeclaration(statement) && forEach(statement.body && statement.body.statements, action));
147593
+ return forEach(sourceFileLike.kind === 308 /* SourceFile */ ? sourceFileLike.statements : sourceFileLike.body.statements, (statement) => (
147594
+ // TODO: GH#18217
147595
+ action(statement) || isAmbientModuleDeclaration(statement) && forEach(statement.body && statement.body.statements, action)
147596
+ ));
147516
147597
  }
147517
147598
  function forEachImport(sourceFile, action) {
147518
147599
  if (sourceFile.externalModuleIndicator || sourceFile.imports !== void 0) {
@@ -147781,7 +147862,9 @@ ${lanes.join("\n")}
147781
147862
  return propertyName ? getContextNode(propertyName.parent) : void 0;
147782
147863
  }
147783
147864
  if (node.parent.name === node || // node is name of declaration, use parent
147784
- isConstructorDeclaration(node.parent) || isExportAssignment(node.parent) || (isImportOrExportSpecifier(node.parent) || isBindingElement(node.parent)) && node.parent.propertyName === node || node.kind === 88 /* DefaultKeyword */ && hasSyntacticModifier(node.parent, 1025 /* ExportDefault */)) {
147865
+ isConstructorDeclaration(node.parent) || isExportAssignment(node.parent) || // Property name of the import export specifier or binding pattern, use parent
147866
+ (isImportOrExportSpecifier(node.parent) || isBindingElement(node.parent)) && node.parent.propertyName === node || // Is default export
147867
+ node.kind === 88 /* DefaultKeyword */ && hasSyntacticModifier(node.parent, 1025 /* ExportDefault */)) {
147785
147868
  return getContextNode(node.parent);
147786
147869
  }
147787
147870
  return void 0;
@@ -147835,11 +147918,13 @@ ${lanes.join("\n")}
147835
147918
  const checker = program.getTypeChecker();
147836
147919
  const adjustedNode = Core.getAdjustedNode(node, options);
147837
147920
  const symbol = isDefinitionForReference(adjustedNode) ? checker.getSymbolAtLocation(adjustedNode) : void 0;
147838
- return !referencedSymbols || !referencedSymbols.length ? void 0 : mapDefined(referencedSymbols, ({ definition, references }) => // Only include referenced symbols that have a valid definition.
147839
- definition && {
147840
- definition: checker.runWithCancellationToken(cancellationToken, (checker2) => definitionToReferencedSymbolDefinitionInfo(definition, checker2, node)),
147841
- references: references.map((r) => toReferencedSymbolEntry(r, symbol))
147842
- });
147921
+ return !referencedSymbols || !referencedSymbols.length ? void 0 : mapDefined(referencedSymbols, ({ definition, references }) => (
147922
+ // Only include referenced symbols that have a valid definition.
147923
+ definition && {
147924
+ definition: checker.runWithCancellationToken(cancellationToken, (checker2) => definitionToReferencedSymbolDefinitionInfo(definition, checker2, node)),
147925
+ references: references.map((r) => toReferencedSymbolEntry(r, symbol))
147926
+ }
147927
+ ));
147843
147928
  }
147844
147929
  function isDefinitionForReference(node) {
147845
147930
  return node.kind === 88 /* DefaultKeyword */ || !!getDeclarationFromName(node) || isLiteralComputedPropertyDeclarationName(node) || node.kind === 135 /* ConstructorKeyword */ && isConstructorDeclaration(node.parent);
@@ -148877,8 +148962,10 @@ ${lanes.join("\n")}
148877
148962
  function getLabelReferencesInNode(container, targetLabel) {
148878
148963
  const sourceFile = container.getSourceFile();
148879
148964
  const labelName = targetLabel.text;
148880
- const references = mapDefined(getPossibleSymbolReferenceNodes(sourceFile, labelName, container), (node) => // Only pick labels that are either the target label, or have a target that is the target label
148881
- node === targetLabel || isJumpStatementTarget(node) && getTargetLabel(node, labelName) === targetLabel ? nodeEntry(node) : void 0);
148965
+ const references = mapDefined(getPossibleSymbolReferenceNodes(sourceFile, labelName, container), (node) => (
148966
+ // Only pick labels that are either the target label, or have a target that is the target label
148967
+ node === targetLabel || isJumpStatementTarget(node) && getTargetLabel(node, labelName) === targetLabel ? nodeEntry(node) : void 0
148968
+ ));
148882
148969
  return [{ definition: { type: 1 /* Label */, node: targetLabel }, references }];
148883
148970
  }
148884
148971
  function isValidReferencePosition(node, searchSymbolName) {
@@ -149014,7 +149101,7 @@ ${lanes.join("\n")}
149014
149101
  }
149015
149102
  }
149016
149103
  if (!isForRenameWithPrefixAndSuffixText(state.options) || alwaysGetReferences) {
149017
- const isDefaultExport = referenceLocation.originalKeywordKind === 88 /* DefaultKeyword */ || exportSpecifier.name.originalKeywordKind === 88 /* DefaultKeyword */;
149104
+ const isDefaultExport = referenceLocation.escapedText === "default" || exportSpecifier.name.escapedText === "default";
149018
149105
  const exportKind = isDefaultExport ? 1 /* Default */ : 0 /* Named */;
149019
149106
  const exportSymbol = Debug.checkDefined(exportSpecifier.symbol);
149020
149107
  const exportInfo = getExportInfo(exportSymbol, exportKind, state.checker);
@@ -155893,7 +155980,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
155893
155980
  111551 /* Value */,
155894
155981
  /*excludeGlobals*/
155895
155982
  false
155896
- ) && !isPrivateIdentifier(node.name) && !isKeyword(node.name.originalKeywordKind) ? node.name.text : getUniqueName(isClassLike(scope) ? "newProperty" : "newLocal", file);
155983
+ ) && !isPrivateIdentifier(node.name) && !identifierToKeywordKind(node.name) ? node.name.text : getUniqueName(isClassLike(scope) ? "newProperty" : "newLocal", file);
155897
155984
  const isJS = isInJSFile(scope);
155898
155985
  let variableType = isJS || !checker.isContextSensitive(node) ? void 0 : checker.typeToTypeNode(checker.getContextualType(node), scope, 1 /* NoTruncation */);
155899
155986
  let initializer = transformConstantInitializer(skipParentheses(node), substitutions);
@@ -156908,7 +156995,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
156908
156995
  if (declarations.some((declaration) => isDefinedInLibraryFile(program, declaration))) {
156909
156996
  return getRenameInfoError(Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library);
156910
156997
  }
156911
- if (isIdentifier(node) && node.originalKeywordKind === 88 /* DefaultKeyword */ && symbol.parent && symbol.parent.flags & 1536 /* Module */) {
156998
+ if (isIdentifier(node) && node.escapedText === "default" && symbol.parent && symbol.parent.flags & 1536 /* Module */) {
156912
156999
  return void 0;
156913
157000
  }
156914
157001
  if (isStringLiteralLike(node) && tryGetImportFromModuleSpecifier(node)) {
@@ -158019,7 +158106,8 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
158019
158106
  hasAddedSymbolInfo = true;
158020
158107
  hasMultipleSignatures = allSignatures.length > 1;
158021
158108
  }
158022
- } else if (isNameOfFunctionDeclaration(location) && !(symbolFlags & 98304 /* Accessor */) || location.kind === 135 /* ConstructorKeyword */ && location.parent.kind === 173 /* Constructor */) {
158109
+ } else if (isNameOfFunctionDeclaration(location) && !(symbolFlags & 98304 /* Accessor */) || // name of function declaration
158110
+ location.kind === 135 /* ConstructorKeyword */ && location.parent.kind === 173 /* Constructor */) {
158023
158111
  const functionDeclaration = location.parent;
158024
158112
  const locationIsSymbolDeclaration = symbol.declarations && find(symbol.declarations, (declaration) => declaration === (location.kind === 135 /* ConstructorKeyword */ ? functionDeclaration.parent : functionDeclaration));
158025
158113
  if (locationIsSymbolDeclaration) {
@@ -158612,7 +158700,6 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
158612
158700
  }
158613
158701
  const jsDocNode = parent2.parent.kind === 169 /* PropertyDeclaration */ ? parent2.parent : parent2.parent.parent;
158614
158702
  jsDocNode.jsDoc = parent2.jsDoc;
158615
- jsDocNode.jsDocCache = parent2.jsDocCache;
158616
158703
  return jsDocNode;
158617
158704
  }
158618
158705
  function tryMergeJsdocTags(oldTag, newTag) {
@@ -160357,18 +160444,12 @@ ${options.prefix}` : "\n" : options.prefix
160357
160444
  rule("NoSpaceBetweenCloseParenAndAngularBracket", 21 /* CloseParenToken */, 29 /* LessThanToken */, [isNonJsxSameLineTokenContext, isTypeArgumentOrParameterOrAssertionContext], 16 /* DeleteSpace */),
160358
160445
  rule("NoSpaceAfterOpenAngularBracket", 29 /* LessThanToken */, anyToken, [isNonJsxSameLineTokenContext, isTypeArgumentOrParameterOrAssertionContext], 16 /* DeleteSpace */),
160359
160446
  rule("NoSpaceBeforeCloseAngularBracket", anyToken, 31 /* GreaterThanToken */, [isNonJsxSameLineTokenContext, isTypeArgumentOrParameterOrAssertionContext], 16 /* DeleteSpace */),
160360
- rule(
160361
- "NoSpaceAfterCloseAngularBracket",
160362
- 31 /* GreaterThanToken */,
160363
- [20 /* OpenParenToken */, 22 /* OpenBracketToken */, 31 /* GreaterThanToken */, 27 /* CommaToken */],
160364
- [
160365
- isNonJsxSameLineTokenContext,
160366
- isTypeArgumentOrParameterOrAssertionContext,
160367
- isNotFunctionDeclContext
160368
- /*To prevent an interference with the SpaceBeforeOpenParenInFuncDecl rule*/
160369
- ],
160370
- 16 /* DeleteSpace */
160371
- ),
160447
+ rule("NoSpaceAfterCloseAngularBracket", 31 /* GreaterThanToken */, [20 /* OpenParenToken */, 22 /* OpenBracketToken */, 31 /* GreaterThanToken */, 27 /* CommaToken */], [
160448
+ isNonJsxSameLineTokenContext,
160449
+ isTypeArgumentOrParameterOrAssertionContext,
160450
+ isNotFunctionDeclContext,
160451
+ isNonTypeAssertionContext
160452
+ ], 16 /* DeleteSpace */),
160372
160453
  // decorators
160373
160454
  rule("SpaceBeforeAt", [21 /* CloseParenToken */, 79 /* Identifier */], 59 /* AtToken */, [isNonJsxSameLineTokenContext], 4 /* InsertSpace */),
160374
160455
  rule("NoSpaceAfterAt", 59 /* AtToken */, anyToken, [isNonJsxSameLineTokenContext], 16 /* DeleteSpace */),
@@ -160801,6 +160882,9 @@ ${options.prefix}` : "\n" : options.prefix
160801
160882
  function isTypeAssertionContext(context) {
160802
160883
  return context.contextNode.kind === 213 /* TypeAssertionExpression */;
160803
160884
  }
160885
+ function isNonTypeAssertionContext(context) {
160886
+ return !isTypeAssertionContext(context);
160887
+ }
160804
160888
  function isVoidOpContext(context) {
160805
160889
  return context.currentTokenSpan.kind === 114 /* VoidKeyword */ && context.currentTokenParent.kind === 219 /* VoidExpression */;
160806
160890
  }
@@ -162667,7 +162751,7 @@ ${options.prefix}` : "\n" : options.prefix
162667
162751
  const errorAfter = typeof options.errorAfter === "string" ? new Version(options.errorAfter) : options.errorAfter;
162668
162752
  const warnAfter = typeof options.warnAfter === "string" ? new Version(options.warnAfter) : options.warnAfter;
162669
162753
  const since = typeof options.since === "string" ? new Version(options.since) : (_b = options.since) != null ? _b : warnAfter;
162670
- const error = options.error || errorAfter && version2.compareTo(errorAfter) <= 0;
162754
+ const error = options.error || errorAfter && version2.compareTo(errorAfter) >= 0;
162671
162755
  const warn = !warnAfter || version2.compareTo(warnAfter) >= 0;
162672
162756
  return error ? createErrorDeprecation(name, errorAfter, since, options.message) : warn ? createWarningDeprecation(name, errorAfter, since, options.message) : noop;
162673
162757
  }
@@ -163065,8 +163149,6 @@ ${options.prefix}` : "\n" : options.prefix
163065
163149
  createIdentifier = deprecate(function createIdentifier2(text) {
163066
163150
  return factory.createIdentifier(
163067
163151
  text,
163068
- /*typeArguments*/
163069
- void 0,
163070
163152
  /*originalKeywordKind*/
163071
163153
  void 0
163072
163154
  );
@@ -164062,6 +164144,44 @@ ${options.prefix}` : "\n" : options.prefix
164062
164144
  }
164063
164145
  });
164064
164146
 
164147
+ // src/deprecatedCompat/5.0/identifierProperties.ts
164148
+ var init_identifierProperties = __esm({
164149
+ "src/deprecatedCompat/5.0/identifierProperties.ts"() {
164150
+ "use strict";
164151
+ init_ts5();
164152
+ init_deprecate();
164153
+ addObjectAllocatorPatcher((objectAllocator2) => {
164154
+ const Identifier75 = objectAllocator2.getIdentifierConstructor();
164155
+ if (!hasProperty(Identifier75.prototype, "originalKeywordKind")) {
164156
+ Object.defineProperty(Identifier75.prototype, "originalKeywordKind", {
164157
+ get: deprecate(function() {
164158
+ return identifierToKeywordKind(this);
164159
+ }, {
164160
+ name: "originalKeywordKind",
164161
+ since: "5.0",
164162
+ warnAfter: "5.1",
164163
+ errorAfter: "5.2",
164164
+ message: "Use 'identifierToKeywordKind(identifier)' instead."
164165
+ })
164166
+ });
164167
+ }
164168
+ if (!hasProperty(Identifier75.prototype, "isInJSDocNamespace")) {
164169
+ Object.defineProperty(Identifier75.prototype, "isInJSDocNamespace", {
164170
+ get: deprecate(function() {
164171
+ return this.flags & 2048 /* IdentifierIsInJSDocNamespace */ ? true : void 0;
164172
+ }, {
164173
+ name: "isInJSDocNamespace",
164174
+ since: "5.0",
164175
+ warnAfter: "5.1",
164176
+ errorAfter: "5.2",
164177
+ message: "Use '.parent' or the surrounding context to determine this instead."
164178
+ })
164179
+ });
164180
+ }
164181
+ });
164182
+ }
164183
+ });
164184
+
164065
164185
  // src/deprecatedCompat/_namespaces/ts.ts
164066
164186
  var init_ts5 = __esm({
164067
164187
  "src/deprecatedCompat/_namespaces/ts.ts"() {
@@ -164075,6 +164195,7 @@ ${options.prefix}` : "\n" : options.prefix
164075
164195
  init_importTypeAssertions();
164076
164196
  init_typeParameterModifiers();
164077
164197
  init_mergeDecoratorsAndModifiers();
164198
+ init_identifierProperties();
164078
164199
  }
164079
164200
  });
164080
164201
 
@@ -164239,6 +164360,7 @@ ${options.prefix}` : "\n" : options.prefix
164239
164360
  addEmitHelper: () => addEmitHelper,
164240
164361
  addEmitHelpers: () => addEmitHelpers,
164241
164362
  addNodeFactoryPatcher: () => addNodeFactoryPatcher,
164363
+ addObjectAllocatorPatcher: () => addObjectAllocatorPatcher,
164242
164364
  addRange: () => addRange,
164243
164365
  addRelatedInfo: () => addRelatedInfo,
164244
164366
  addSyntheticLeadingComment: () => addSyntheticLeadingComment,
@@ -165007,6 +165129,9 @@ ${options.prefix}` : "\n" : options.prefix
165007
165129
  getGeneratedNameForNode: () => getGeneratedNameForNode,
165008
165130
  getHeritageClause: () => getHeritageClause,
165009
165131
  getHostSignatureFromJSDoc: () => getHostSignatureFromJSDoc,
165132
+ getIdentifierAutoGenerate: () => getIdentifierAutoGenerate,
165133
+ getIdentifierGeneratedImportReference: () => getIdentifierGeneratedImportReference,
165134
+ getIdentifierTypeArguments: () => getIdentifierTypeArguments,
165010
165135
  getImmediatelyInvokedFunctionExpression: () => getImmediatelyInvokedFunctionExpression,
165011
165136
  getImpliedNodeFormatForFile: () => getImpliedNodeFormatForFile,
165012
165137
  getImpliedNodeFormatForFileWorker: () => getImpliedNodeFormatForFileWorker,
@@ -165340,6 +165465,7 @@ ${options.prefix}` : "\n" : options.prefix
165340
165465
  hostUsesCaseSensitiveFileNames: () => hostUsesCaseSensitiveFileNames,
165341
165466
  idText: () => idText,
165342
165467
  identifierIsThisKeyword: () => identifierIsThisKeyword,
165468
+ identifierToKeywordKind: () => identifierToKeywordKind,
165343
165469
  identity: () => identity,
165344
165470
  identitySourceMapConsumer: () => identitySourceMapConsumer,
165345
165471
  ignoreSourceNewlines: () => ignoreSourceNewlines,
@@ -166229,6 +166355,7 @@ ${options.prefix}` : "\n" : options.prefix
166229
166355
  sameMap: () => sameMap,
166230
166356
  sameMapping: () => sameMapping,
166231
166357
  scanShebangTrivia: () => scanShebangTrivia,
166358
+ scanTokenAtPosition: () => scanTokenAtPosition,
166232
166359
  scanner: () => scanner,
166233
166360
  screenStartingMessageCodes: () => screenStartingMessageCodes,
166234
166361
  semanticDiagnosticsOptionDeclarations: () => semanticDiagnosticsOptionDeclarations,
@@ -166241,6 +166368,9 @@ ${options.prefix}` : "\n" : options.prefix
166241
166368
  setEachParent: () => setEachParent,
166242
166369
  setEmitFlags: () => setEmitFlags,
166243
166370
  setGetSourceFileAsHashVersioned: () => setGetSourceFileAsHashVersioned,
166371
+ setIdentifierAutoGenerate: () => setIdentifierAutoGenerate,
166372
+ setIdentifierGeneratedImportReference: () => setIdentifierGeneratedImportReference,
166373
+ setIdentifierTypeArguments: () => setIdentifierTypeArguments,
166244
166374
  setLocalizedDiagnosticMessages: () => setLocalizedDiagnosticMessages,
166245
166375
  setModuleDefaultHelper: () => setModuleDefaultHelper,
166246
166376
  setNodeFlags: () => setNodeFlags,