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 +3 -3
- package/lib/tsserver.js +128 -70
- package/lib/tsserverlibrary.js +128 -70
- package/lib/typescript.js +125 -67
- package/lib/typescriptServices.js +125 -67
- package/lib/typingsInstaller.js +3 -3
- package/package.json +1 -1
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.
|
|
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.
|
|
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
|
-
|
|
149233
|
-
|
|
149234
|
-
|
|
149235
|
-
|
|
149236
|
-
ts.Diagnostics.
|
|
149237
|
-
|
|
149238
|
-
_a[ts.Diagnostics.
|
|
149239
|
-
ts.Diagnostics.Add_override_modifier,
|
|
149240
|
-
|
|
149241
|
-
|
|
149242
|
-
|
|
149243
|
-
|
|
149244
|
-
_a[ts.Diagnostics.
|
|
149245
|
-
ts.Diagnostics.Remove_override_modifier,
|
|
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
|
|
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
|
|
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
|
|
149350
|
+
var code = diag.code, start = diag.start;
|
|
149267
149351
|
var info = errorCodeFixIdMap[code];
|
|
149268
|
-
if (!info || info
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
}
|