typescript 4.6.0-dev.20211116 → 4.6.0-dev.20211117

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/tsc.js CHANGED
@@ -69,7 +69,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
69
69
  var ts;
70
70
  (function (ts) {
71
71
  ts.versionMajorMinor = "4.6";
72
- ts.version = ts.versionMajorMinor + ".0-dev.20211116";
72
+ ts.version = ts.versionMajorMinor + ".0-dev.20211117";
73
73
  var NativeCollections;
74
74
  (function (NativeCollections) {
75
75
  function tryGetNativeMap() {
@@ -89224,6 +89224,7 @@ var ts;
89224
89224
  return emitJSDocSignature(node);
89225
89225
  case 325:
89226
89226
  case 330:
89227
+ case 335:
89227
89228
  return emitJSDocSimpleTag(node);
89228
89229
  case 326:
89229
89230
  case 327:
@@ -89235,7 +89236,6 @@ var ts;
89235
89236
  case 332:
89236
89237
  case 333:
89237
89238
  case 334:
89238
- case 335:
89239
89239
  return;
89240
89240
  case 336:
89241
89241
  return emitJSDocCallbackTag(node);
@@ -95424,7 +95424,7 @@ var ts;
95424
95424
  return resolvedRef;
95425
95425
  }
95426
95426
  function verifyCompilerOptions() {
95427
- var isNightly = ts.stringContains(ts.version, "-dev");
95427
+ var isNightly = ts.stringContains(ts.version, "-dev") || ts.stringContains(ts.version, "-insiders");
95428
95428
  if (!isNightly) {
95429
95429
  if (ts.getEmitModuleKind(options) === ts.ModuleKind.Node12) {
95430
95430
  createOptionValueDiagnostic("module", ts.Diagnostics.Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next, "module", "node12");
package/lib/tsserver.js CHANGED
@@ -100,7 +100,7 @@ var ts;
100
100
  // The following is baselined as a literal template type without intervention
101
101
  /** The version of the TypeScript compiler release */
102
102
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
103
- ts.version = ts.versionMajorMinor + ".0-dev.20211116";
103
+ ts.version = ts.versionMajorMinor + ".0-dev.20211117";
104
104
  /* @internal */
105
105
  var Comparison;
106
106
  (function (Comparison) {
@@ -108677,6 +108677,7 @@ var ts;
108677
108677
  return emitJSDocSignature(node);
108678
108678
  case 325 /* JSDocTag */:
108679
108679
  case 330 /* JSDocClassTag */:
108680
+ case 335 /* JSDocOverrideTag */:
108680
108681
  return emitJSDocSimpleTag(node);
108681
108682
  case 326 /* JSDocAugmentsTag */:
108682
108683
  case 327 /* JSDocImplementsTag */:
@@ -108689,7 +108690,6 @@ var ts;
108689
108690
  case 332 /* JSDocPrivateTag */:
108690
108691
  case 333 /* JSDocProtectedTag */:
108691
108692
  case 334 /* JSDocReadonlyTag */:
108692
- case 335 /* JSDocOverrideTag */:
108693
108693
  return;
108694
108694
  case 336 /* JSDocCallbackTag */:
108695
108695
  return emitJSDocCallbackTag(node);
@@ -115646,7 +115646,7 @@ var ts;
115646
115646
  return resolvedRef;
115647
115647
  }
115648
115648
  function verifyCompilerOptions() {
115649
- var isNightly = ts.stringContains(ts.version, "-dev");
115649
+ var isNightly = ts.stringContains(ts.version, "-dev") || ts.stringContains(ts.version, "-insiders");
115650
115650
  if (!isNightly) {
115651
115651
  if (ts.getEmitModuleKind(options) === ts.ModuleKind.Node12) {
115652
115652
  createOptionValueDiagnostic("module", ts.Diagnostics.Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next, "module", "node12");
@@ -144584,6 +144584,26 @@ var ts;
144584
144584
  var indent = sourceFile.text.slice(startPosition, fnStart);
144585
144585
  this.insertNodeAt(sourceFile, fnStart, tag, { preserveLeadingWhitespace: false, suffix: this.newLineCharacter + indent });
144586
144586
  };
144587
+ ChangeTracker.prototype.addJSDocTags = function (sourceFile, parent, newTags) {
144588
+ var comments = ts.flatMap(parent.jsDoc, function (j) { return typeof j.comment === "string" ? ts.factory.createJSDocText(j.comment) : j.comment; });
144589
+ var oldTags = ts.flatMapToMutable(parent.jsDoc, function (j) { return j.tags; });
144590
+ var unmergedNewTags = newTags.filter(function (newTag) { return !oldTags.some(function (tag, i) {
144591
+ var merged = tryMergeJsdocTags(tag, newTag);
144592
+ if (merged)
144593
+ oldTags[i] = merged;
144594
+ return !!merged;
144595
+ }); });
144596
+ var tag = ts.factory.createJSDocComment(ts.factory.createNodeArray(ts.intersperse(comments, ts.factory.createJSDocText("\n"))), ts.factory.createNodeArray(__spreadArray(__spreadArray([], oldTags, true), unmergedNewTags, true)));
144597
+ var host = updateJSDocHost(parent);
144598
+ this.insertJsdocCommentBefore(sourceFile, host, tag);
144599
+ };
144600
+ ChangeTracker.prototype.filterJSDocTags = function (sourceFile, parent, predicate) {
144601
+ var comments = ts.flatMap(parent.jsDoc, function (j) { return typeof j.comment === "string" ? ts.factory.createJSDocText(j.comment) : j.comment; });
144602
+ var oldTags = ts.flatMapToMutable(parent.jsDoc, function (j) { return j.tags; });
144603
+ var tag = ts.factory.createJSDocComment(ts.factory.createNodeArray(ts.intersperse(comments, ts.factory.createJSDocText("\n"))), ts.factory.createNodeArray(__spreadArray([], (ts.filter(oldTags, predicate) || ts.emptyArray), true)));
144604
+ var host = updateJSDocHost(parent);
144605
+ this.insertJsdocCommentBefore(sourceFile, host, tag);
144606
+ };
144587
144607
  ChangeTracker.prototype.replaceRangeWithText = function (sourceFile, range, text) {
144588
144608
  this.changes.push({ kind: ChangeKind.Text, sourceFile: sourceFile, range: range, text: text });
144589
144609
  };
@@ -144978,6 +144998,33 @@ var ts;
144978
144998
  return ChangeTracker;
144979
144999
  }());
144980
145000
  textChanges_3.ChangeTracker = ChangeTracker;
145001
+ function updateJSDocHost(parent) {
145002
+ if (parent.kind !== 213 /* ArrowFunction */) {
145003
+ return parent;
145004
+ }
145005
+ var jsDocNode = parent.parent.kind === 166 /* PropertyDeclaration */ ?
145006
+ parent.parent :
145007
+ parent.parent.parent;
145008
+ jsDocNode.jsDoc = parent.jsDoc;
145009
+ jsDocNode.jsDocCache = parent.jsDocCache;
145010
+ return jsDocNode;
145011
+ }
145012
+ function tryMergeJsdocTags(oldTag, newTag) {
145013
+ if (oldTag.kind !== newTag.kind) {
145014
+ return undefined;
145015
+ }
145016
+ switch (oldTag.kind) {
145017
+ case 338 /* JSDocParameterTag */: {
145018
+ var oldParam = oldTag;
145019
+ var newParam = newTag;
145020
+ return ts.isIdentifier(oldParam.name) && ts.isIdentifier(newParam.name) && oldParam.name.escapedText === newParam.name.escapedText
145021
+ ? ts.factory.createJSDocParameterTag(/*tagName*/ undefined, newParam.name, /*isBracketed*/ false, newParam.typeExpression, newParam.isNameFirst, oldParam.comment)
145022
+ : undefined;
145023
+ }
145024
+ case 339 /* JSDocReturnTag */:
145025
+ return ts.factory.createJSDocReturnTag(/*tagName*/ undefined, newTag.typeExpression, oldTag.comment);
145026
+ }
145027
+ }
144981
145028
  // find first non-whitespace position in the leading trivia of the node
144982
145029
  function startPositionToDeleteNodeInList(sourceFile, node) {
144983
145030
  return ts.skipTrivia(sourceFile.text, getAdjustedStartPosition(sourceFile, node, { leadingTriviaOption: LeadingTriviaOption.IncludeAll }), /*stopAfterLineBreak*/ false, /*stopAtComments*/ true);
@@ -149226,35 +149273,72 @@ var ts;
149226
149273
  ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code,
149227
149274
  ts.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code,
149228
149275
  ts.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code,
149229
- ts.Diagnostics.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code
149276
+ ts.Diagnostics.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code,
149277
+ ts.Diagnostics.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code,
149278
+ ts.Diagnostics.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class.code,
149279
+ ts.Diagnostics.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code,
149280
+ ts.Diagnostics.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0.code,
149230
149281
  ];
149231
149282
  var errorCodeFixIdMap = (_a = {},
149232
- _a[ts.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code] = [
149233
- ts.Diagnostics.Add_override_modifier, fixAddOverrideId, ts.Diagnostics.Add_all_missing_override_modifiers,
149234
- ],
149235
- _a[ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code] = [
149236
- ts.Diagnostics.Remove_override_modifier, fixRemoveOverrideId, ts.Diagnostics.Remove_all_unnecessary_override_modifiers
149237
- ],
149238
- _a[ts.Diagnostics.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code] = [
149239
- ts.Diagnostics.Add_override_modifier, fixAddOverrideId, ts.Diagnostics.Add_all_missing_override_modifiers,
149240
- ],
149241
- _a[ts.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code] = [
149242
- ts.Diagnostics.Add_override_modifier, fixAddOverrideId, ts.Diagnostics.Remove_all_unnecessary_override_modifiers
149243
- ],
149244
- _a[ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code] = [
149245
- ts.Diagnostics.Remove_override_modifier, fixRemoveOverrideId, ts.Diagnostics.Remove_all_unnecessary_override_modifiers
149246
- ],
149283
+ // case #1:
149284
+ _a[ts.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code] = {
149285
+ descriptions: ts.Diagnostics.Add_override_modifier,
149286
+ fixId: fixAddOverrideId,
149287
+ fixAllDescriptions: ts.Diagnostics.Add_all_missing_override_modifiers,
149288
+ },
149289
+ _a[ts.Diagnostics.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code] = {
149290
+ descriptions: ts.Diagnostics.Add_override_modifier,
149291
+ fixId: fixAddOverrideId,
149292
+ fixAllDescriptions: ts.Diagnostics.Add_all_missing_override_modifiers
149293
+ },
149294
+ // case #2:
149295
+ _a[ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code] = {
149296
+ descriptions: ts.Diagnostics.Remove_override_modifier,
149297
+ fixId: fixRemoveOverrideId,
149298
+ fixAllDescriptions: ts.Diagnostics.Remove_all_unnecessary_override_modifiers,
149299
+ },
149300
+ _a[ts.Diagnostics.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class.code] = {
149301
+ descriptions: ts.Diagnostics.Remove_override_modifier,
149302
+ fixId: fixRemoveOverrideId,
149303
+ fixAllDescriptions: ts.Diagnostics.Remove_override_modifier
149304
+ },
149305
+ // case #3:
149306
+ _a[ts.Diagnostics.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code] = {
149307
+ descriptions: ts.Diagnostics.Add_override_modifier,
149308
+ fixId: fixAddOverrideId,
149309
+ fixAllDescriptions: ts.Diagnostics.Add_all_missing_override_modifiers,
149310
+ },
149311
+ _a[ts.Diagnostics.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code] = {
149312
+ descriptions: ts.Diagnostics.Add_override_modifier,
149313
+ fixId: fixAddOverrideId,
149314
+ fixAllDescriptions: ts.Diagnostics.Add_all_missing_override_modifiers,
149315
+ },
149316
+ // case #4:
149317
+ _a[ts.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code] = {
149318
+ descriptions: ts.Diagnostics.Add_override_modifier,
149319
+ fixId: fixAddOverrideId,
149320
+ fixAllDescriptions: ts.Diagnostics.Remove_all_unnecessary_override_modifiers,
149321
+ },
149322
+ // case #5:
149323
+ _a[ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code] = {
149324
+ descriptions: ts.Diagnostics.Remove_override_modifier,
149325
+ fixId: fixRemoveOverrideId,
149326
+ fixAllDescriptions: ts.Diagnostics.Remove_all_unnecessary_override_modifiers,
149327
+ },
149328
+ _a[ts.Diagnostics.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0.code] = {
149329
+ descriptions: ts.Diagnostics.Remove_override_modifier,
149330
+ fixId: fixRemoveOverrideId,
149331
+ fixAllDescriptions: ts.Diagnostics.Remove_all_unnecessary_override_modifiers,
149332
+ },
149247
149333
  _a);
149248
149334
  codefix.registerCodeFix({
149249
149335
  errorCodes: errorCodes,
149250
149336
  getCodeActions: function (context) {
149251
- var errorCode = context.errorCode, span = context.span, sourceFile = context.sourceFile;
149337
+ var errorCode = context.errorCode, span = context.span;
149252
149338
  var info = errorCodeFixIdMap[errorCode];
149253
149339
  if (!info)
149254
149340
  return ts.emptyArray;
149255
- var descriptions = info[0], fixId = info[1], fixAllDescriptions = info[2];
149256
- if (ts.isSourceFileJS(sourceFile))
149257
- return ts.emptyArray;
149341
+ var descriptions = info.descriptions, fixId = info.fixId, fixAllDescriptions = info.fixAllDescriptions;
149258
149342
  var changes = ts.textChanges.ChangeTracker.with(context, function (changes) { return dispatchChanges(changes, context, errorCode, span.start); });
149259
149343
  return [
149260
149344
  codefix.createCodeFixActionMaybeFixAll(fixName, changes, descriptions, fixId, fixAllDescriptions)
@@ -149263,9 +149347,9 @@ var ts;
149263
149347
  fixIds: [fixName, fixAddOverrideId, fixRemoveOverrideId],
149264
149348
  getAllCodeActions: function (context) {
149265
149349
  return codefix.codeFixAll(context, errorCodes, function (changes, diag) {
149266
- var code = diag.code, start = diag.start, file = diag.file;
149350
+ var code = diag.code, start = diag.start;
149267
149351
  var info = errorCodeFixIdMap[code];
149268
- if (!info || info[1] !== context.fixId || ts.isSourceFileJS(file)) {
149352
+ if (!info || info.fixId !== context.fixId) {
149269
149353
  return;
149270
149354
  }
149271
149355
  dispatchChanges(changes, context, code, start);
@@ -149275,11 +149359,15 @@ var ts;
149275
149359
  function dispatchChanges(changeTracker, context, errorCode, pos) {
149276
149360
  switch (errorCode) {
149277
149361
  case ts.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code:
149362
+ case ts.Diagnostics.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code:
149278
149363
  case ts.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code:
149279
149364
  case ts.Diagnostics.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code:
149365
+ case ts.Diagnostics.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code:
149280
149366
  return doAddOverrideModifierChange(changeTracker, context.sourceFile, pos);
149281
149367
  case ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code:
149368
+ case ts.Diagnostics.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0.code:
149282
149369
  case ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code:
149370
+ case ts.Diagnostics.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class.code:
149283
149371
  return doRemoveOverrideModifierChange(changeTracker, context.sourceFile, pos);
149284
149372
  default:
149285
149373
  ts.Debug.fail("Unexpected error code: " + errorCode);
@@ -149287,6 +149375,10 @@ var ts;
149287
149375
  }
149288
149376
  function doAddOverrideModifierChange(changeTracker, sourceFile, pos) {
149289
149377
  var classElement = findContainerClassElementLike(sourceFile, pos);
149378
+ if (ts.isSourceFileJS(sourceFile)) {
149379
+ changeTracker.addJSDocTags(sourceFile, classElement, [ts.factory.createJSDocOverrideTag(ts.factory.createIdentifier("override"))]);
149380
+ return;
149381
+ }
149290
149382
  var modifiers = classElement.modifiers || ts.emptyArray;
149291
149383
  var staticModifier = ts.find(modifiers, ts.isStaticModifier);
149292
149384
  var abstractModifier = ts.find(modifiers, ts.isAbstractModifier);
@@ -149300,6 +149392,10 @@ var ts;
149300
149392
  }
149301
149393
  function doRemoveOverrideModifierChange(changeTracker, sourceFile, pos) {
149302
149394
  var classElement = findContainerClassElementLike(sourceFile, pos);
149395
+ if (ts.isSourceFileJS(sourceFile)) {
149396
+ changeTracker.filterJSDocTags(sourceFile, classElement, ts.not(ts.isJSDocOverrideTag));
149397
+ return;
149398
+ }
149303
149399
  var overrideModifier = classElement.modifiers && ts.find(classElement.modifiers, function (modifier) { return modifier.kind === 158 /* OverrideKeyword */; });
149304
149400
  ts.Debug.assertIsDefined(overrideModifier);
149305
149401
  changeTracker.deleteModifier(sourceFile, overrideModifier);
@@ -151663,7 +151759,7 @@ var ts;
151663
151759
  if (typeNode) {
151664
151760
  // Note that the codefix will never fire with an existing `@type` tag, so there is no need to merge tags
151665
151761
  var typeTag = ts.factory.createJSDocTypeTag(/*tagName*/ undefined, ts.factory.createJSDocTypeExpression(typeNode), /*comment*/ undefined);
151666
- addJSDocTags(changes, sourceFile, ts.cast(parent.parent.parent, ts.isExpressionStatement), [typeTag]);
151762
+ changes.addJSDocTags(sourceFile, ts.cast(parent.parent.parent, ts.isExpressionStatement), [typeTag]);
151667
151763
  }
151668
151764
  importAdder.writeFixes(changes);
151669
151765
  return parent;
@@ -151774,7 +151870,7 @@ var ts;
151774
151870
  }
151775
151871
  }
151776
151872
  function annotateJSDocThis(changes, sourceFile, containingFunction, typeNode) {
151777
- addJSDocTags(changes, sourceFile, containingFunction, [
151873
+ changes.addJSDocTags(sourceFile, containingFunction, [
151778
151874
  ts.factory.createJSDocThisTag(/*tagName*/ undefined, ts.factory.createJSDocTypeExpression(typeNode)),
151779
151875
  ]);
151780
151876
  }
@@ -151803,7 +151899,7 @@ var ts;
151803
151899
  }
151804
151900
  var typeExpression = ts.factory.createJSDocTypeExpression(typeNode);
151805
151901
  var typeTag = ts.isGetAccessorDeclaration(declaration) ? ts.factory.createJSDocReturnTag(/*tagName*/ undefined, typeExpression, /*comment*/ undefined) : ts.factory.createJSDocTypeTag(/*tagName*/ undefined, typeExpression, /*comment*/ undefined);
151806
- addJSDocTags(changes, sourceFile, parent, [typeTag]);
151902
+ changes.addJSDocTags(sourceFile, parent, [typeTag]);
151807
151903
  }
151808
151904
  else if (!tryReplaceImportTypeNodeWithAutoImport(typeNode, declaration, sourceFile, changes, importAdder, ts.getEmitScriptTarget(program.getCompilerOptions()))) {
151809
151905
  changes.tryInsertTypeAnnotation(sourceFile, declaration, typeNode);
@@ -151859,45 +151955,7 @@ var ts;
151859
151955
  var name = _a.name, typeNode = _a.typeNode, isOptional = _a.isOptional;
151860
151956
  return ts.factory.createJSDocParameterTag(/*tagName*/ undefined, name, /*isBracketed*/ !!isOptional, ts.factory.createJSDocTypeExpression(typeNode), /* isNameFirst */ false, /*comment*/ undefined);
151861
151957
  });
151862
- addJSDocTags(changes, sourceFile, signature, paramTags);
151863
- }
151864
- }
151865
- function addJSDocTags(changes, sourceFile, parent, newTags) {
151866
- var comments = ts.flatMap(parent.jsDoc, function (j) { return typeof j.comment === "string" ? ts.factory.createJSDocText(j.comment) : j.comment; });
151867
- var oldTags = ts.flatMapToMutable(parent.jsDoc, function (j) { return j.tags; });
151868
- var unmergedNewTags = newTags.filter(function (newTag) { return !oldTags || !oldTags.some(function (tag, i) {
151869
- var merged = tryMergeJsdocTags(tag, newTag);
151870
- if (merged)
151871
- oldTags[i] = merged;
151872
- return !!merged;
151873
- }); });
151874
- var tag = ts.factory.createJSDocComment(ts.factory.createNodeArray(ts.intersperse(comments, ts.factory.createJSDocText("\n"))), ts.factory.createNodeArray(__spreadArray(__spreadArray([], (oldTags || ts.emptyArray), true), unmergedNewTags, true)));
151875
- var jsDocNode = parent.kind === 213 /* ArrowFunction */ ? getJsDocNodeForArrowFunction(parent) : parent;
151876
- jsDocNode.jsDoc = parent.jsDoc;
151877
- jsDocNode.jsDocCache = parent.jsDocCache;
151878
- changes.insertJsdocCommentBefore(sourceFile, jsDocNode, tag);
151879
- }
151880
- codefix.addJSDocTags = addJSDocTags;
151881
- function getJsDocNodeForArrowFunction(signature) {
151882
- if (signature.parent.kind === 166 /* PropertyDeclaration */) {
151883
- return signature.parent;
151884
- }
151885
- return signature.parent.parent;
151886
- }
151887
- function tryMergeJsdocTags(oldTag, newTag) {
151888
- if (oldTag.kind !== newTag.kind) {
151889
- return undefined;
151890
- }
151891
- switch (oldTag.kind) {
151892
- case 338 /* JSDocParameterTag */: {
151893
- var oldParam = oldTag;
151894
- var newParam = newTag;
151895
- return ts.isIdentifier(oldParam.name) && ts.isIdentifier(newParam.name) && oldParam.name.escapedText === newParam.name.escapedText
151896
- ? ts.factory.createJSDocParameterTag(/*tagName*/ undefined, newParam.name, /*isBracketed*/ false, newParam.typeExpression, newParam.isNameFirst, oldParam.comment)
151897
- : undefined;
151898
- }
151899
- case 339 /* JSDocReturnTag */:
151900
- return ts.factory.createJSDocReturnTag(/*tagName*/ undefined, newTag.typeExpression, oldTag.comment);
151958
+ changes.addJSDocTags(sourceFile, signature, paramTags);
151901
151959
  }
151902
151960
  }
151903
151961
  function getReferences(token, program, cancellationToken) {
@@ -165850,15 +165908,15 @@ var ts;
165850
165908
  if (!resolution.resolvedFileName)
165851
165909
  continue;
165852
165910
  var resolvedFileName = resolution.resolvedFileName, originalPath = resolution.originalPath;
165911
+ if (originalPath) {
165912
+ symlinkCache.setSymlinkedDirectoryFromSymlinkedFile(originalPath, resolvedFileName);
165913
+ }
165853
165914
  if (!program.getSourceFile(resolvedFileName) && (!originalPath || !program.getSourceFile(originalPath))) {
165854
165915
  rootNames = ts.append(rootNames, resolvedFileName);
165855
165916
  // Avoid creating a large project that would significantly slow down time to editor interactivity
165856
165917
  if (dependencySelection === 2 /* Auto */ && rootNames.length > this.maxDependencies) {
165857
165918
  return ts.emptyArray;
165858
165919
  }
165859
- if (originalPath) {
165860
- symlinkCache.setSymlinkedDirectoryFromSymlinkedFile(originalPath, resolvedFileName);
165861
- }
165862
165920
  }
165863
165921
  }
165864
165922
  }