typescript 4.6.0-dev.20211114 → 4.6.0-dev.20211118
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 +17 -5
- package/lib/tsserver.js +146 -72
- package/lib/tsserverlibrary.js +146 -72
- package/lib/typescript.js +143 -69
- package/lib/typescriptServices.js +143 -69
- package/lib/typingsInstaller.js +21 -5
- package/package.json +1 -1
package/lib/tsserverlibrary.js
CHANGED
|
@@ -294,7 +294,7 @@ var ts;
|
|
|
294
294
|
// The following is baselined as a literal template type without intervention
|
|
295
295
|
/** The version of the TypeScript compiler release */
|
|
296
296
|
// eslint-disable-next-line @typescript-eslint/no-inferrable-types
|
|
297
|
-
ts.version = ts.versionMajorMinor + ".0-dev.
|
|
297
|
+
ts.version = ts.versionMajorMinor + ".0-dev.20211118";
|
|
298
298
|
/* @internal */
|
|
299
299
|
var Comparison;
|
|
300
300
|
(function (Comparison) {
|
|
@@ -51860,8 +51860,8 @@ var ts;
|
|
|
51860
51860
|
var expandedParams = getExpandedParameters(signature, /*skipUnionExpanding*/ true)[0];
|
|
51861
51861
|
// If the expanded parameter list had a variadic in a non-trailing position, don't expand it
|
|
51862
51862
|
var parameters = (ts.some(expandedParams, function (p) { return p !== expandedParams[expandedParams.length - 1] && !!(ts.getCheckFlags(p) & 32768 /* RestParameter */); }) ? signature.parameters : expandedParams).map(function (parameter) { return symbolToParameterDeclaration(parameter, context, kind === 170 /* Constructor */, options === null || options === void 0 ? void 0 : options.privateSymbolVisitor, options === null || options === void 0 ? void 0 : options.bundledImports); });
|
|
51863
|
-
|
|
51864
|
-
|
|
51863
|
+
var thisParameter = tryGetThisParameterDeclaration(signature, context);
|
|
51864
|
+
if (thisParameter) {
|
|
51865
51865
|
parameters.unshift(thisParameter);
|
|
51866
51866
|
}
|
|
51867
51867
|
var returnTypeNode;
|
|
@@ -51910,6 +51910,21 @@ var ts;
|
|
|
51910
51910
|
}
|
|
51911
51911
|
return node;
|
|
51912
51912
|
}
|
|
51913
|
+
function tryGetThisParameterDeclaration(signature, context) {
|
|
51914
|
+
if (signature.thisParameter) {
|
|
51915
|
+
return symbolToParameterDeclaration(signature.thisParameter, context);
|
|
51916
|
+
}
|
|
51917
|
+
if (signature.declaration) {
|
|
51918
|
+
var thisTag = ts.getJSDocThisTag(signature.declaration);
|
|
51919
|
+
if (thisTag && thisTag.typeExpression) {
|
|
51920
|
+
return ts.factory.createParameterDeclaration(
|
|
51921
|
+
/* decorators */ undefined,
|
|
51922
|
+
/* modifiers */ undefined,
|
|
51923
|
+
/* dotDotDotToken */ undefined, "this",
|
|
51924
|
+
/* questionToken */ undefined, typeToTypeNodeHelper(getTypeFromTypeNode(thisTag.typeExpression), context));
|
|
51925
|
+
}
|
|
51926
|
+
}
|
|
51927
|
+
}
|
|
51913
51928
|
function typeParameterToDeclarationWithConstraint(type, context, constraintNode) {
|
|
51914
51929
|
var savedContextFlags = context.flags;
|
|
51915
51930
|
context.flags &= ~512 /* WriteTypeParametersInQualifiedName */; // Avoids potential infinite loop when building for a claimspace with a generic
|
|
@@ -108871,6 +108886,7 @@ var ts;
|
|
|
108871
108886
|
return emitJSDocSignature(node);
|
|
108872
108887
|
case 325 /* JSDocTag */:
|
|
108873
108888
|
case 330 /* JSDocClassTag */:
|
|
108889
|
+
case 335 /* JSDocOverrideTag */:
|
|
108874
108890
|
return emitJSDocSimpleTag(node);
|
|
108875
108891
|
case 326 /* JSDocAugmentsTag */:
|
|
108876
108892
|
case 327 /* JSDocImplementsTag */:
|
|
@@ -108883,7 +108899,6 @@ var ts;
|
|
|
108883
108899
|
case 332 /* JSDocPrivateTag */:
|
|
108884
108900
|
case 333 /* JSDocProtectedTag */:
|
|
108885
108901
|
case 334 /* JSDocReadonlyTag */:
|
|
108886
|
-
case 335 /* JSDocOverrideTag */:
|
|
108887
108902
|
return;
|
|
108888
108903
|
case 336 /* JSDocCallbackTag */:
|
|
108889
108904
|
return emitJSDocCallbackTag(node);
|
|
@@ -114463,6 +114478,7 @@ var ts;
|
|
|
114463
114478
|
newSourceFile.originalFileName = oldSourceFile.originalFileName;
|
|
114464
114479
|
newSourceFile.resolvedPath = oldSourceFile.resolvedPath;
|
|
114465
114480
|
newSourceFile.fileName = oldSourceFile.fileName;
|
|
114481
|
+
newSourceFile.impliedNodeFormat = oldSourceFile.impliedNodeFormat;
|
|
114466
114482
|
var packageName = oldProgram.sourceFileToPackageName.get(oldSourceFile.path);
|
|
114467
114483
|
if (packageName !== undefined) {
|
|
114468
114484
|
// If there are 2 different source files for the same package name and at least one of them changes,
|
|
@@ -115840,7 +115856,7 @@ var ts;
|
|
|
115840
115856
|
return resolvedRef;
|
|
115841
115857
|
}
|
|
115842
115858
|
function verifyCompilerOptions() {
|
|
115843
|
-
var isNightly = ts.stringContains(ts.version, "-dev");
|
|
115859
|
+
var isNightly = ts.stringContains(ts.version, "-dev") || ts.stringContains(ts.version, "-insiders");
|
|
115844
115860
|
if (!isNightly) {
|
|
115845
115861
|
if (ts.getEmitModuleKind(options) === ts.ModuleKind.Node12) {
|
|
115846
115862
|
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");
|
|
@@ -145166,6 +145182,26 @@ var ts;
|
|
|
145166
145182
|
var indent = sourceFile.text.slice(startPosition, fnStart);
|
|
145167
145183
|
this.insertNodeAt(sourceFile, fnStart, tag, { preserveLeadingWhitespace: false, suffix: this.newLineCharacter + indent });
|
|
145168
145184
|
};
|
|
145185
|
+
ChangeTracker.prototype.addJSDocTags = function (sourceFile, parent, newTags) {
|
|
145186
|
+
var comments = ts.flatMap(parent.jsDoc, function (j) { return typeof j.comment === "string" ? ts.factory.createJSDocText(j.comment) : j.comment; });
|
|
145187
|
+
var oldTags = ts.flatMapToMutable(parent.jsDoc, function (j) { return j.tags; });
|
|
145188
|
+
var unmergedNewTags = newTags.filter(function (newTag) { return !oldTags.some(function (tag, i) {
|
|
145189
|
+
var merged = tryMergeJsdocTags(tag, newTag);
|
|
145190
|
+
if (merged)
|
|
145191
|
+
oldTags[i] = merged;
|
|
145192
|
+
return !!merged;
|
|
145193
|
+
}); });
|
|
145194
|
+
var tag = ts.factory.createJSDocComment(ts.factory.createNodeArray(ts.intersperse(comments, ts.factory.createJSDocText("\n"))), ts.factory.createNodeArray(__spreadArray(__spreadArray([], oldTags, true), unmergedNewTags, true)));
|
|
145195
|
+
var host = updateJSDocHost(parent);
|
|
145196
|
+
this.insertJsdocCommentBefore(sourceFile, host, tag);
|
|
145197
|
+
};
|
|
145198
|
+
ChangeTracker.prototype.filterJSDocTags = function (sourceFile, parent, predicate) {
|
|
145199
|
+
var comments = ts.flatMap(parent.jsDoc, function (j) { return typeof j.comment === "string" ? ts.factory.createJSDocText(j.comment) : j.comment; });
|
|
145200
|
+
var oldTags = ts.flatMapToMutable(parent.jsDoc, function (j) { return j.tags; });
|
|
145201
|
+
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)));
|
|
145202
|
+
var host = updateJSDocHost(parent);
|
|
145203
|
+
this.insertJsdocCommentBefore(sourceFile, host, tag);
|
|
145204
|
+
};
|
|
145169
145205
|
ChangeTracker.prototype.replaceRangeWithText = function (sourceFile, range, text) {
|
|
145170
145206
|
this.changes.push({ kind: ChangeKind.Text, sourceFile: sourceFile, range: range, text: text });
|
|
145171
145207
|
};
|
|
@@ -145560,6 +145596,33 @@ var ts;
|
|
|
145560
145596
|
return ChangeTracker;
|
|
145561
145597
|
}());
|
|
145562
145598
|
textChanges_3.ChangeTracker = ChangeTracker;
|
|
145599
|
+
function updateJSDocHost(parent) {
|
|
145600
|
+
if (parent.kind !== 213 /* ArrowFunction */) {
|
|
145601
|
+
return parent;
|
|
145602
|
+
}
|
|
145603
|
+
var jsDocNode = parent.parent.kind === 166 /* PropertyDeclaration */ ?
|
|
145604
|
+
parent.parent :
|
|
145605
|
+
parent.parent.parent;
|
|
145606
|
+
jsDocNode.jsDoc = parent.jsDoc;
|
|
145607
|
+
jsDocNode.jsDocCache = parent.jsDocCache;
|
|
145608
|
+
return jsDocNode;
|
|
145609
|
+
}
|
|
145610
|
+
function tryMergeJsdocTags(oldTag, newTag) {
|
|
145611
|
+
if (oldTag.kind !== newTag.kind) {
|
|
145612
|
+
return undefined;
|
|
145613
|
+
}
|
|
145614
|
+
switch (oldTag.kind) {
|
|
145615
|
+
case 338 /* JSDocParameterTag */: {
|
|
145616
|
+
var oldParam = oldTag;
|
|
145617
|
+
var newParam = newTag;
|
|
145618
|
+
return ts.isIdentifier(oldParam.name) && ts.isIdentifier(newParam.name) && oldParam.name.escapedText === newParam.name.escapedText
|
|
145619
|
+
? ts.factory.createJSDocParameterTag(/*tagName*/ undefined, newParam.name, /*isBracketed*/ false, newParam.typeExpression, newParam.isNameFirst, oldParam.comment)
|
|
145620
|
+
: undefined;
|
|
145621
|
+
}
|
|
145622
|
+
case 339 /* JSDocReturnTag */:
|
|
145623
|
+
return ts.factory.createJSDocReturnTag(/*tagName*/ undefined, newTag.typeExpression, oldTag.comment);
|
|
145624
|
+
}
|
|
145625
|
+
}
|
|
145563
145626
|
// find first non-whitespace position in the leading trivia of the node
|
|
145564
145627
|
function startPositionToDeleteNodeInList(sourceFile, node) {
|
|
145565
145628
|
return ts.skipTrivia(sourceFile.text, getAdjustedStartPosition(sourceFile, node, { leadingTriviaOption: LeadingTriviaOption.IncludeAll }), /*stopAfterLineBreak*/ false, /*stopAtComments*/ true);
|
|
@@ -149808,35 +149871,72 @@ var ts;
|
|
|
149808
149871
|
ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code,
|
|
149809
149872
|
ts.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code,
|
|
149810
149873
|
ts.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code,
|
|
149811
|
-
ts.Diagnostics.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code
|
|
149874
|
+
ts.Diagnostics.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code,
|
|
149875
|
+
ts.Diagnostics.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code,
|
|
149876
|
+
ts.Diagnostics.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class.code,
|
|
149877
|
+
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,
|
|
149878
|
+
ts.Diagnostics.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0.code,
|
|
149812
149879
|
];
|
|
149813
149880
|
var errorCodeFixIdMap = (_a = {},
|
|
149814
|
-
|
|
149815
|
-
|
|
149816
|
-
|
|
149817
|
-
|
|
149818
|
-
ts.Diagnostics.
|
|
149819
|
-
|
|
149820
|
-
_a[ts.Diagnostics.
|
|
149821
|
-
ts.Diagnostics.Add_override_modifier,
|
|
149822
|
-
|
|
149823
|
-
|
|
149824
|
-
|
|
149825
|
-
|
|
149826
|
-
_a[ts.Diagnostics.
|
|
149827
|
-
ts.Diagnostics.Remove_override_modifier,
|
|
149828
|
-
|
|
149881
|
+
// case #1:
|
|
149882
|
+
_a[ts.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code] = {
|
|
149883
|
+
descriptions: ts.Diagnostics.Add_override_modifier,
|
|
149884
|
+
fixId: fixAddOverrideId,
|
|
149885
|
+
fixAllDescriptions: ts.Diagnostics.Add_all_missing_override_modifiers,
|
|
149886
|
+
},
|
|
149887
|
+
_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] = {
|
|
149888
|
+
descriptions: ts.Diagnostics.Add_override_modifier,
|
|
149889
|
+
fixId: fixAddOverrideId,
|
|
149890
|
+
fixAllDescriptions: ts.Diagnostics.Add_all_missing_override_modifiers
|
|
149891
|
+
},
|
|
149892
|
+
// case #2:
|
|
149893
|
+
_a[ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code] = {
|
|
149894
|
+
descriptions: ts.Diagnostics.Remove_override_modifier,
|
|
149895
|
+
fixId: fixRemoveOverrideId,
|
|
149896
|
+
fixAllDescriptions: ts.Diagnostics.Remove_all_unnecessary_override_modifiers,
|
|
149897
|
+
},
|
|
149898
|
+
_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] = {
|
|
149899
|
+
descriptions: ts.Diagnostics.Remove_override_modifier,
|
|
149900
|
+
fixId: fixRemoveOverrideId,
|
|
149901
|
+
fixAllDescriptions: ts.Diagnostics.Remove_override_modifier
|
|
149902
|
+
},
|
|
149903
|
+
// case #3:
|
|
149904
|
+
_a[ts.Diagnostics.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code] = {
|
|
149905
|
+
descriptions: ts.Diagnostics.Add_override_modifier,
|
|
149906
|
+
fixId: fixAddOverrideId,
|
|
149907
|
+
fixAllDescriptions: ts.Diagnostics.Add_all_missing_override_modifiers,
|
|
149908
|
+
},
|
|
149909
|
+
_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] = {
|
|
149910
|
+
descriptions: ts.Diagnostics.Add_override_modifier,
|
|
149911
|
+
fixId: fixAddOverrideId,
|
|
149912
|
+
fixAllDescriptions: ts.Diagnostics.Add_all_missing_override_modifiers,
|
|
149913
|
+
},
|
|
149914
|
+
// case #4:
|
|
149915
|
+
_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] = {
|
|
149916
|
+
descriptions: ts.Diagnostics.Add_override_modifier,
|
|
149917
|
+
fixId: fixAddOverrideId,
|
|
149918
|
+
fixAllDescriptions: ts.Diagnostics.Remove_all_unnecessary_override_modifiers,
|
|
149919
|
+
},
|
|
149920
|
+
// case #5:
|
|
149921
|
+
_a[ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code] = {
|
|
149922
|
+
descriptions: ts.Diagnostics.Remove_override_modifier,
|
|
149923
|
+
fixId: fixRemoveOverrideId,
|
|
149924
|
+
fixAllDescriptions: ts.Diagnostics.Remove_all_unnecessary_override_modifiers,
|
|
149925
|
+
},
|
|
149926
|
+
_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] = {
|
|
149927
|
+
descriptions: ts.Diagnostics.Remove_override_modifier,
|
|
149928
|
+
fixId: fixRemoveOverrideId,
|
|
149929
|
+
fixAllDescriptions: ts.Diagnostics.Remove_all_unnecessary_override_modifiers,
|
|
149930
|
+
},
|
|
149829
149931
|
_a);
|
|
149830
149932
|
codefix.registerCodeFix({
|
|
149831
149933
|
errorCodes: errorCodes,
|
|
149832
149934
|
getCodeActions: function (context) {
|
|
149833
|
-
var errorCode = context.errorCode, span = context.span
|
|
149935
|
+
var errorCode = context.errorCode, span = context.span;
|
|
149834
149936
|
var info = errorCodeFixIdMap[errorCode];
|
|
149835
149937
|
if (!info)
|
|
149836
149938
|
return ts.emptyArray;
|
|
149837
|
-
var descriptions = info
|
|
149838
|
-
if (ts.isSourceFileJS(sourceFile))
|
|
149839
|
-
return ts.emptyArray;
|
|
149939
|
+
var descriptions = info.descriptions, fixId = info.fixId, fixAllDescriptions = info.fixAllDescriptions;
|
|
149840
149940
|
var changes = ts.textChanges.ChangeTracker.with(context, function (changes) { return dispatchChanges(changes, context, errorCode, span.start); });
|
|
149841
149941
|
return [
|
|
149842
149942
|
codefix.createCodeFixActionMaybeFixAll(fixName, changes, descriptions, fixId, fixAllDescriptions)
|
|
@@ -149845,9 +149945,9 @@ var ts;
|
|
|
149845
149945
|
fixIds: [fixName, fixAddOverrideId, fixRemoveOverrideId],
|
|
149846
149946
|
getAllCodeActions: function (context) {
|
|
149847
149947
|
return codefix.codeFixAll(context, errorCodes, function (changes, diag) {
|
|
149848
|
-
var code = diag.code, start = diag.start
|
|
149948
|
+
var code = diag.code, start = diag.start;
|
|
149849
149949
|
var info = errorCodeFixIdMap[code];
|
|
149850
|
-
if (!info || info
|
|
149950
|
+
if (!info || info.fixId !== context.fixId) {
|
|
149851
149951
|
return;
|
|
149852
149952
|
}
|
|
149853
149953
|
dispatchChanges(changes, context, code, start);
|
|
@@ -149857,11 +149957,15 @@ var ts;
|
|
|
149857
149957
|
function dispatchChanges(changeTracker, context, errorCode, pos) {
|
|
149858
149958
|
switch (errorCode) {
|
|
149859
149959
|
case ts.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code:
|
|
149960
|
+
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:
|
|
149860
149961
|
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:
|
|
149861
149962
|
case ts.Diagnostics.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code:
|
|
149963
|
+
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:
|
|
149862
149964
|
return doAddOverrideModifierChange(changeTracker, context.sourceFile, pos);
|
|
149863
149965
|
case ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code:
|
|
149966
|
+
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:
|
|
149864
149967
|
case ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code:
|
|
149968
|
+
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:
|
|
149865
149969
|
return doRemoveOverrideModifierChange(changeTracker, context.sourceFile, pos);
|
|
149866
149970
|
default:
|
|
149867
149971
|
ts.Debug.fail("Unexpected error code: " + errorCode);
|
|
@@ -149869,6 +149973,10 @@ var ts;
|
|
|
149869
149973
|
}
|
|
149870
149974
|
function doAddOverrideModifierChange(changeTracker, sourceFile, pos) {
|
|
149871
149975
|
var classElement = findContainerClassElementLike(sourceFile, pos);
|
|
149976
|
+
if (ts.isSourceFileJS(sourceFile)) {
|
|
149977
|
+
changeTracker.addJSDocTags(sourceFile, classElement, [ts.factory.createJSDocOverrideTag(ts.factory.createIdentifier("override"))]);
|
|
149978
|
+
return;
|
|
149979
|
+
}
|
|
149872
149980
|
var modifiers = classElement.modifiers || ts.emptyArray;
|
|
149873
149981
|
var staticModifier = ts.find(modifiers, ts.isStaticModifier);
|
|
149874
149982
|
var abstractModifier = ts.find(modifiers, ts.isAbstractModifier);
|
|
@@ -149882,6 +149990,10 @@ var ts;
|
|
|
149882
149990
|
}
|
|
149883
149991
|
function doRemoveOverrideModifierChange(changeTracker, sourceFile, pos) {
|
|
149884
149992
|
var classElement = findContainerClassElementLike(sourceFile, pos);
|
|
149993
|
+
if (ts.isSourceFileJS(sourceFile)) {
|
|
149994
|
+
changeTracker.filterJSDocTags(sourceFile, classElement, ts.not(ts.isJSDocOverrideTag));
|
|
149995
|
+
return;
|
|
149996
|
+
}
|
|
149885
149997
|
var overrideModifier = classElement.modifiers && ts.find(classElement.modifiers, function (modifier) { return modifier.kind === 158 /* OverrideKeyword */; });
|
|
149886
149998
|
ts.Debug.assertIsDefined(overrideModifier);
|
|
149887
149999
|
changeTracker.deleteModifier(sourceFile, overrideModifier);
|
|
@@ -152245,7 +152357,7 @@ var ts;
|
|
|
152245
152357
|
if (typeNode) {
|
|
152246
152358
|
// Note that the codefix will never fire with an existing `@type` tag, so there is no need to merge tags
|
|
152247
152359
|
var typeTag = ts.factory.createJSDocTypeTag(/*tagName*/ undefined, ts.factory.createJSDocTypeExpression(typeNode), /*comment*/ undefined);
|
|
152248
|
-
addJSDocTags(
|
|
152360
|
+
changes.addJSDocTags(sourceFile, ts.cast(parent.parent.parent, ts.isExpressionStatement), [typeTag]);
|
|
152249
152361
|
}
|
|
152250
152362
|
importAdder.writeFixes(changes);
|
|
152251
152363
|
return parent;
|
|
@@ -152356,7 +152468,7 @@ var ts;
|
|
|
152356
152468
|
}
|
|
152357
152469
|
}
|
|
152358
152470
|
function annotateJSDocThis(changes, sourceFile, containingFunction, typeNode) {
|
|
152359
|
-
addJSDocTags(
|
|
152471
|
+
changes.addJSDocTags(sourceFile, containingFunction, [
|
|
152360
152472
|
ts.factory.createJSDocThisTag(/*tagName*/ undefined, ts.factory.createJSDocTypeExpression(typeNode)),
|
|
152361
152473
|
]);
|
|
152362
152474
|
}
|
|
@@ -152385,7 +152497,7 @@ var ts;
|
|
|
152385
152497
|
}
|
|
152386
152498
|
var typeExpression = ts.factory.createJSDocTypeExpression(typeNode);
|
|
152387
152499
|
var typeTag = ts.isGetAccessorDeclaration(declaration) ? ts.factory.createJSDocReturnTag(/*tagName*/ undefined, typeExpression, /*comment*/ undefined) : ts.factory.createJSDocTypeTag(/*tagName*/ undefined, typeExpression, /*comment*/ undefined);
|
|
152388
|
-
addJSDocTags(
|
|
152500
|
+
changes.addJSDocTags(sourceFile, parent, [typeTag]);
|
|
152389
152501
|
}
|
|
152390
152502
|
else if (!tryReplaceImportTypeNodeWithAutoImport(typeNode, declaration, sourceFile, changes, importAdder, ts.getEmitScriptTarget(program.getCompilerOptions()))) {
|
|
152391
152503
|
changes.tryInsertTypeAnnotation(sourceFile, declaration, typeNode);
|
|
@@ -152441,45 +152553,7 @@ var ts;
|
|
|
152441
152553
|
var name = _a.name, typeNode = _a.typeNode, isOptional = _a.isOptional;
|
|
152442
152554
|
return ts.factory.createJSDocParameterTag(/*tagName*/ undefined, name, /*isBracketed*/ !!isOptional, ts.factory.createJSDocTypeExpression(typeNode), /* isNameFirst */ false, /*comment*/ undefined);
|
|
152443
152555
|
});
|
|
152444
|
-
addJSDocTags(
|
|
152445
|
-
}
|
|
152446
|
-
}
|
|
152447
|
-
function addJSDocTags(changes, sourceFile, parent, newTags) {
|
|
152448
|
-
var comments = ts.flatMap(parent.jsDoc, function (j) { return typeof j.comment === "string" ? ts.factory.createJSDocText(j.comment) : j.comment; });
|
|
152449
|
-
var oldTags = ts.flatMapToMutable(parent.jsDoc, function (j) { return j.tags; });
|
|
152450
|
-
var unmergedNewTags = newTags.filter(function (newTag) { return !oldTags || !oldTags.some(function (tag, i) {
|
|
152451
|
-
var merged = tryMergeJsdocTags(tag, newTag);
|
|
152452
|
-
if (merged)
|
|
152453
|
-
oldTags[i] = merged;
|
|
152454
|
-
return !!merged;
|
|
152455
|
-
}); });
|
|
152456
|
-
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)));
|
|
152457
|
-
var jsDocNode = parent.kind === 213 /* ArrowFunction */ ? getJsDocNodeForArrowFunction(parent) : parent;
|
|
152458
|
-
jsDocNode.jsDoc = parent.jsDoc;
|
|
152459
|
-
jsDocNode.jsDocCache = parent.jsDocCache;
|
|
152460
|
-
changes.insertJsdocCommentBefore(sourceFile, jsDocNode, tag);
|
|
152461
|
-
}
|
|
152462
|
-
codefix.addJSDocTags = addJSDocTags;
|
|
152463
|
-
function getJsDocNodeForArrowFunction(signature) {
|
|
152464
|
-
if (signature.parent.kind === 166 /* PropertyDeclaration */) {
|
|
152465
|
-
return signature.parent;
|
|
152466
|
-
}
|
|
152467
|
-
return signature.parent.parent;
|
|
152468
|
-
}
|
|
152469
|
-
function tryMergeJsdocTags(oldTag, newTag) {
|
|
152470
|
-
if (oldTag.kind !== newTag.kind) {
|
|
152471
|
-
return undefined;
|
|
152472
|
-
}
|
|
152473
|
-
switch (oldTag.kind) {
|
|
152474
|
-
case 338 /* JSDocParameterTag */: {
|
|
152475
|
-
var oldParam = oldTag;
|
|
152476
|
-
var newParam = newTag;
|
|
152477
|
-
return ts.isIdentifier(oldParam.name) && ts.isIdentifier(newParam.name) && oldParam.name.escapedText === newParam.name.escapedText
|
|
152478
|
-
? ts.factory.createJSDocParameterTag(/*tagName*/ undefined, newParam.name, /*isBracketed*/ false, newParam.typeExpression, newParam.isNameFirst, oldParam.comment)
|
|
152479
|
-
: undefined;
|
|
152480
|
-
}
|
|
152481
|
-
case 339 /* JSDocReturnTag */:
|
|
152482
|
-
return ts.factory.createJSDocReturnTag(/*tagName*/ undefined, newTag.typeExpression, oldTag.comment);
|
|
152556
|
+
changes.addJSDocTags(sourceFile, signature, paramTags);
|
|
152483
152557
|
}
|
|
152484
152558
|
}
|
|
152485
152559
|
function getReferences(token, program, cancellationToken) {
|
|
@@ -166044,15 +166118,15 @@ var ts;
|
|
|
166044
166118
|
if (!resolution.resolvedFileName)
|
|
166045
166119
|
continue;
|
|
166046
166120
|
var resolvedFileName = resolution.resolvedFileName, originalPath = resolution.originalPath;
|
|
166121
|
+
if (originalPath) {
|
|
166122
|
+
symlinkCache.setSymlinkedDirectoryFromSymlinkedFile(originalPath, resolvedFileName);
|
|
166123
|
+
}
|
|
166047
166124
|
if (!program.getSourceFile(resolvedFileName) && (!originalPath || !program.getSourceFile(originalPath))) {
|
|
166048
166125
|
rootNames = ts.append(rootNames, resolvedFileName);
|
|
166049
166126
|
// Avoid creating a large project that would significantly slow down time to editor interactivity
|
|
166050
166127
|
if (dependencySelection === 2 /* Auto */ && rootNames.length > this.maxDependencies) {
|
|
166051
166128
|
return ts.emptyArray;
|
|
166052
166129
|
}
|
|
166053
|
-
if (originalPath) {
|
|
166054
|
-
symlinkCache.setSymlinkedDirectoryFromSymlinkedFile(originalPath, resolvedFileName);
|
|
166055
|
-
}
|
|
166056
166130
|
}
|
|
166057
166131
|
}
|
|
166058
166132
|
}
|