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/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.20211118";
|
|
73
73
|
var NativeCollections;
|
|
74
74
|
(function (NativeCollections) {
|
|
75
75
|
function tryGetNativeMap() {
|
|
@@ -42581,8 +42581,8 @@ var ts;
|
|
|
42581
42581
|
}
|
|
42582
42582
|
var expandedParams = getExpandedParameters(signature, true)[0];
|
|
42583
42583
|
var parameters = (ts.some(expandedParams, function (p) { return p !== expandedParams[expandedParams.length - 1] && !!(ts.getCheckFlags(p) & 32768); }) ? signature.parameters : expandedParams).map(function (parameter) { return symbolToParameterDeclaration(parameter, context, kind === 170, options === null || options === void 0 ? void 0 : options.privateSymbolVisitor, options === null || options === void 0 ? void 0 : options.bundledImports); });
|
|
42584
|
-
|
|
42585
|
-
|
|
42584
|
+
var thisParameter = tryGetThisParameterDeclaration(signature, context);
|
|
42585
|
+
if (thisParameter) {
|
|
42586
42586
|
parameters.unshift(thisParameter);
|
|
42587
42587
|
}
|
|
42588
42588
|
var returnTypeNode;
|
|
@@ -42631,6 +42631,17 @@ var ts;
|
|
|
42631
42631
|
}
|
|
42632
42632
|
return node;
|
|
42633
42633
|
}
|
|
42634
|
+
function tryGetThisParameterDeclaration(signature, context) {
|
|
42635
|
+
if (signature.thisParameter) {
|
|
42636
|
+
return symbolToParameterDeclaration(signature.thisParameter, context);
|
|
42637
|
+
}
|
|
42638
|
+
if (signature.declaration) {
|
|
42639
|
+
var thisTag = ts.getJSDocThisTag(signature.declaration);
|
|
42640
|
+
if (thisTag && thisTag.typeExpression) {
|
|
42641
|
+
return ts.factory.createParameterDeclaration(undefined, undefined, undefined, "this", undefined, typeToTypeNodeHelper(getTypeFromTypeNode(thisTag.typeExpression), context));
|
|
42642
|
+
}
|
|
42643
|
+
}
|
|
42644
|
+
}
|
|
42634
42645
|
function typeParameterToDeclarationWithConstraint(type, context, constraintNode) {
|
|
42635
42646
|
var savedContextFlags = context.flags;
|
|
42636
42647
|
context.flags &= ~512;
|
|
@@ -89224,6 +89235,7 @@ var ts;
|
|
|
89224
89235
|
return emitJSDocSignature(node);
|
|
89225
89236
|
case 325:
|
|
89226
89237
|
case 330:
|
|
89238
|
+
case 335:
|
|
89227
89239
|
return emitJSDocSimpleTag(node);
|
|
89228
89240
|
case 326:
|
|
89229
89241
|
case 327:
|
|
@@ -89235,7 +89247,6 @@ var ts;
|
|
|
89235
89247
|
case 332:
|
|
89236
89248
|
case 333:
|
|
89237
89249
|
case 334:
|
|
89238
|
-
case 335:
|
|
89239
89250
|
return;
|
|
89240
89251
|
case 336:
|
|
89241
89252
|
return emitJSDocCallbackTag(node);
|
|
@@ -94217,6 +94228,7 @@ var ts;
|
|
|
94217
94228
|
newSourceFile.originalFileName = oldSourceFile.originalFileName;
|
|
94218
94229
|
newSourceFile.resolvedPath = oldSourceFile.resolvedPath;
|
|
94219
94230
|
newSourceFile.fileName = oldSourceFile.fileName;
|
|
94231
|
+
newSourceFile.impliedNodeFormat = oldSourceFile.impliedNodeFormat;
|
|
94220
94232
|
var packageName = oldProgram.sourceFileToPackageName.get(oldSourceFile.path);
|
|
94221
94233
|
if (packageName !== undefined) {
|
|
94222
94234
|
var prevKind = seenPackageNames.get(packageName);
|
|
@@ -95424,7 +95436,7 @@ var ts;
|
|
|
95424
95436
|
return resolvedRef;
|
|
95425
95437
|
}
|
|
95426
95438
|
function verifyCompilerOptions() {
|
|
95427
|
-
var isNightly = ts.stringContains(ts.version, "-dev");
|
|
95439
|
+
var isNightly = ts.stringContains(ts.version, "-dev") || ts.stringContains(ts.version, "-insiders");
|
|
95428
95440
|
if (!isNightly) {
|
|
95429
95441
|
if (ts.getEmitModuleKind(options) === ts.ModuleKind.Node12) {
|
|
95430
95442
|
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.20211118";
|
|
104
104
|
/* @internal */
|
|
105
105
|
var Comparison;
|
|
106
106
|
(function (Comparison) {
|
|
@@ -51666,8 +51666,8 @@ var ts;
|
|
|
51666
51666
|
var expandedParams = getExpandedParameters(signature, /*skipUnionExpanding*/ true)[0];
|
|
51667
51667
|
// If the expanded parameter list had a variadic in a non-trailing position, don't expand it
|
|
51668
51668
|
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); });
|
|
51669
|
-
|
|
51670
|
-
|
|
51669
|
+
var thisParameter = tryGetThisParameterDeclaration(signature, context);
|
|
51670
|
+
if (thisParameter) {
|
|
51671
51671
|
parameters.unshift(thisParameter);
|
|
51672
51672
|
}
|
|
51673
51673
|
var returnTypeNode;
|
|
@@ -51716,6 +51716,21 @@ var ts;
|
|
|
51716
51716
|
}
|
|
51717
51717
|
return node;
|
|
51718
51718
|
}
|
|
51719
|
+
function tryGetThisParameterDeclaration(signature, context) {
|
|
51720
|
+
if (signature.thisParameter) {
|
|
51721
|
+
return symbolToParameterDeclaration(signature.thisParameter, context);
|
|
51722
|
+
}
|
|
51723
|
+
if (signature.declaration) {
|
|
51724
|
+
var thisTag = ts.getJSDocThisTag(signature.declaration);
|
|
51725
|
+
if (thisTag && thisTag.typeExpression) {
|
|
51726
|
+
return ts.factory.createParameterDeclaration(
|
|
51727
|
+
/* decorators */ undefined,
|
|
51728
|
+
/* modifiers */ undefined,
|
|
51729
|
+
/* dotDotDotToken */ undefined, "this",
|
|
51730
|
+
/* questionToken */ undefined, typeToTypeNodeHelper(getTypeFromTypeNode(thisTag.typeExpression), context));
|
|
51731
|
+
}
|
|
51732
|
+
}
|
|
51733
|
+
}
|
|
51719
51734
|
function typeParameterToDeclarationWithConstraint(type, context, constraintNode) {
|
|
51720
51735
|
var savedContextFlags = context.flags;
|
|
51721
51736
|
context.flags &= ~512 /* WriteTypeParametersInQualifiedName */; // Avoids potential infinite loop when building for a claimspace with a generic
|
|
@@ -108677,6 +108692,7 @@ var ts;
|
|
|
108677
108692
|
return emitJSDocSignature(node);
|
|
108678
108693
|
case 325 /* JSDocTag */:
|
|
108679
108694
|
case 330 /* JSDocClassTag */:
|
|
108695
|
+
case 335 /* JSDocOverrideTag */:
|
|
108680
108696
|
return emitJSDocSimpleTag(node);
|
|
108681
108697
|
case 326 /* JSDocAugmentsTag */:
|
|
108682
108698
|
case 327 /* JSDocImplementsTag */:
|
|
@@ -108689,7 +108705,6 @@ var ts;
|
|
|
108689
108705
|
case 332 /* JSDocPrivateTag */:
|
|
108690
108706
|
case 333 /* JSDocProtectedTag */:
|
|
108691
108707
|
case 334 /* JSDocReadonlyTag */:
|
|
108692
|
-
case 335 /* JSDocOverrideTag */:
|
|
108693
108708
|
return;
|
|
108694
108709
|
case 336 /* JSDocCallbackTag */:
|
|
108695
108710
|
return emitJSDocCallbackTag(node);
|
|
@@ -114269,6 +114284,7 @@ var ts;
|
|
|
114269
114284
|
newSourceFile.originalFileName = oldSourceFile.originalFileName;
|
|
114270
114285
|
newSourceFile.resolvedPath = oldSourceFile.resolvedPath;
|
|
114271
114286
|
newSourceFile.fileName = oldSourceFile.fileName;
|
|
114287
|
+
newSourceFile.impliedNodeFormat = oldSourceFile.impliedNodeFormat;
|
|
114272
114288
|
var packageName = oldProgram.sourceFileToPackageName.get(oldSourceFile.path);
|
|
114273
114289
|
if (packageName !== undefined) {
|
|
114274
114290
|
// If there are 2 different source files for the same package name and at least one of them changes,
|
|
@@ -115646,7 +115662,7 @@ var ts;
|
|
|
115646
115662
|
return resolvedRef;
|
|
115647
115663
|
}
|
|
115648
115664
|
function verifyCompilerOptions() {
|
|
115649
|
-
var isNightly = ts.stringContains(ts.version, "-dev");
|
|
115665
|
+
var isNightly = ts.stringContains(ts.version, "-dev") || ts.stringContains(ts.version, "-insiders");
|
|
115650
115666
|
if (!isNightly) {
|
|
115651
115667
|
if (ts.getEmitModuleKind(options) === ts.ModuleKind.Node12) {
|
|
115652
115668
|
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 +144600,26 @@ var ts;
|
|
|
144584
144600
|
var indent = sourceFile.text.slice(startPosition, fnStart);
|
|
144585
144601
|
this.insertNodeAt(sourceFile, fnStart, tag, { preserveLeadingWhitespace: false, suffix: this.newLineCharacter + indent });
|
|
144586
144602
|
};
|
|
144603
|
+
ChangeTracker.prototype.addJSDocTags = function (sourceFile, parent, newTags) {
|
|
144604
|
+
var comments = ts.flatMap(parent.jsDoc, function (j) { return typeof j.comment === "string" ? ts.factory.createJSDocText(j.comment) : j.comment; });
|
|
144605
|
+
var oldTags = ts.flatMapToMutable(parent.jsDoc, function (j) { return j.tags; });
|
|
144606
|
+
var unmergedNewTags = newTags.filter(function (newTag) { return !oldTags.some(function (tag, i) {
|
|
144607
|
+
var merged = tryMergeJsdocTags(tag, newTag);
|
|
144608
|
+
if (merged)
|
|
144609
|
+
oldTags[i] = merged;
|
|
144610
|
+
return !!merged;
|
|
144611
|
+
}); });
|
|
144612
|
+
var tag = ts.factory.createJSDocComment(ts.factory.createNodeArray(ts.intersperse(comments, ts.factory.createJSDocText("\n"))), ts.factory.createNodeArray(__spreadArray(__spreadArray([], oldTags, true), unmergedNewTags, true)));
|
|
144613
|
+
var host = updateJSDocHost(parent);
|
|
144614
|
+
this.insertJsdocCommentBefore(sourceFile, host, tag);
|
|
144615
|
+
};
|
|
144616
|
+
ChangeTracker.prototype.filterJSDocTags = function (sourceFile, parent, predicate) {
|
|
144617
|
+
var comments = ts.flatMap(parent.jsDoc, function (j) { return typeof j.comment === "string" ? ts.factory.createJSDocText(j.comment) : j.comment; });
|
|
144618
|
+
var oldTags = ts.flatMapToMutable(parent.jsDoc, function (j) { return j.tags; });
|
|
144619
|
+
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)));
|
|
144620
|
+
var host = updateJSDocHost(parent);
|
|
144621
|
+
this.insertJsdocCommentBefore(sourceFile, host, tag);
|
|
144622
|
+
};
|
|
144587
144623
|
ChangeTracker.prototype.replaceRangeWithText = function (sourceFile, range, text) {
|
|
144588
144624
|
this.changes.push({ kind: ChangeKind.Text, sourceFile: sourceFile, range: range, text: text });
|
|
144589
144625
|
};
|
|
@@ -144978,6 +145014,33 @@ var ts;
|
|
|
144978
145014
|
return ChangeTracker;
|
|
144979
145015
|
}());
|
|
144980
145016
|
textChanges_3.ChangeTracker = ChangeTracker;
|
|
145017
|
+
function updateJSDocHost(parent) {
|
|
145018
|
+
if (parent.kind !== 213 /* ArrowFunction */) {
|
|
145019
|
+
return parent;
|
|
145020
|
+
}
|
|
145021
|
+
var jsDocNode = parent.parent.kind === 166 /* PropertyDeclaration */ ?
|
|
145022
|
+
parent.parent :
|
|
145023
|
+
parent.parent.parent;
|
|
145024
|
+
jsDocNode.jsDoc = parent.jsDoc;
|
|
145025
|
+
jsDocNode.jsDocCache = parent.jsDocCache;
|
|
145026
|
+
return jsDocNode;
|
|
145027
|
+
}
|
|
145028
|
+
function tryMergeJsdocTags(oldTag, newTag) {
|
|
145029
|
+
if (oldTag.kind !== newTag.kind) {
|
|
145030
|
+
return undefined;
|
|
145031
|
+
}
|
|
145032
|
+
switch (oldTag.kind) {
|
|
145033
|
+
case 338 /* JSDocParameterTag */: {
|
|
145034
|
+
var oldParam = oldTag;
|
|
145035
|
+
var newParam = newTag;
|
|
145036
|
+
return ts.isIdentifier(oldParam.name) && ts.isIdentifier(newParam.name) && oldParam.name.escapedText === newParam.name.escapedText
|
|
145037
|
+
? ts.factory.createJSDocParameterTag(/*tagName*/ undefined, newParam.name, /*isBracketed*/ false, newParam.typeExpression, newParam.isNameFirst, oldParam.comment)
|
|
145038
|
+
: undefined;
|
|
145039
|
+
}
|
|
145040
|
+
case 339 /* JSDocReturnTag */:
|
|
145041
|
+
return ts.factory.createJSDocReturnTag(/*tagName*/ undefined, newTag.typeExpression, oldTag.comment);
|
|
145042
|
+
}
|
|
145043
|
+
}
|
|
144981
145044
|
// find first non-whitespace position in the leading trivia of the node
|
|
144982
145045
|
function startPositionToDeleteNodeInList(sourceFile, node) {
|
|
144983
145046
|
return ts.skipTrivia(sourceFile.text, getAdjustedStartPosition(sourceFile, node, { leadingTriviaOption: LeadingTriviaOption.IncludeAll }), /*stopAfterLineBreak*/ false, /*stopAtComments*/ true);
|
|
@@ -149226,35 +149289,72 @@ var ts;
|
|
|
149226
149289
|
ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code,
|
|
149227
149290
|
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
149291
|
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
|
|
149292
|
+
ts.Diagnostics.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code,
|
|
149293
|
+
ts.Diagnostics.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code,
|
|
149294
|
+
ts.Diagnostics.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class.code,
|
|
149295
|
+
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,
|
|
149296
|
+
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
149297
|
];
|
|
149231
149298
|
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
|
-
|
|
149299
|
+
// case #1:
|
|
149300
|
+
_a[ts.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code] = {
|
|
149301
|
+
descriptions: ts.Diagnostics.Add_override_modifier,
|
|
149302
|
+
fixId: fixAddOverrideId,
|
|
149303
|
+
fixAllDescriptions: ts.Diagnostics.Add_all_missing_override_modifiers,
|
|
149304
|
+
},
|
|
149305
|
+
_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] = {
|
|
149306
|
+
descriptions: ts.Diagnostics.Add_override_modifier,
|
|
149307
|
+
fixId: fixAddOverrideId,
|
|
149308
|
+
fixAllDescriptions: ts.Diagnostics.Add_all_missing_override_modifiers
|
|
149309
|
+
},
|
|
149310
|
+
// case #2:
|
|
149311
|
+
_a[ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code] = {
|
|
149312
|
+
descriptions: ts.Diagnostics.Remove_override_modifier,
|
|
149313
|
+
fixId: fixRemoveOverrideId,
|
|
149314
|
+
fixAllDescriptions: ts.Diagnostics.Remove_all_unnecessary_override_modifiers,
|
|
149315
|
+
},
|
|
149316
|
+
_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] = {
|
|
149317
|
+
descriptions: ts.Diagnostics.Remove_override_modifier,
|
|
149318
|
+
fixId: fixRemoveOverrideId,
|
|
149319
|
+
fixAllDescriptions: ts.Diagnostics.Remove_override_modifier
|
|
149320
|
+
},
|
|
149321
|
+
// case #3:
|
|
149322
|
+
_a[ts.Diagnostics.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code] = {
|
|
149323
|
+
descriptions: ts.Diagnostics.Add_override_modifier,
|
|
149324
|
+
fixId: fixAddOverrideId,
|
|
149325
|
+
fixAllDescriptions: ts.Diagnostics.Add_all_missing_override_modifiers,
|
|
149326
|
+
},
|
|
149327
|
+
_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] = {
|
|
149328
|
+
descriptions: ts.Diagnostics.Add_override_modifier,
|
|
149329
|
+
fixId: fixAddOverrideId,
|
|
149330
|
+
fixAllDescriptions: ts.Diagnostics.Add_all_missing_override_modifiers,
|
|
149331
|
+
},
|
|
149332
|
+
// case #4:
|
|
149333
|
+
_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] = {
|
|
149334
|
+
descriptions: ts.Diagnostics.Add_override_modifier,
|
|
149335
|
+
fixId: fixAddOverrideId,
|
|
149336
|
+
fixAllDescriptions: ts.Diagnostics.Remove_all_unnecessary_override_modifiers,
|
|
149337
|
+
},
|
|
149338
|
+
// case #5:
|
|
149339
|
+
_a[ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code] = {
|
|
149340
|
+
descriptions: ts.Diagnostics.Remove_override_modifier,
|
|
149341
|
+
fixId: fixRemoveOverrideId,
|
|
149342
|
+
fixAllDescriptions: ts.Diagnostics.Remove_all_unnecessary_override_modifiers,
|
|
149343
|
+
},
|
|
149344
|
+
_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] = {
|
|
149345
|
+
descriptions: ts.Diagnostics.Remove_override_modifier,
|
|
149346
|
+
fixId: fixRemoveOverrideId,
|
|
149347
|
+
fixAllDescriptions: ts.Diagnostics.Remove_all_unnecessary_override_modifiers,
|
|
149348
|
+
},
|
|
149247
149349
|
_a);
|
|
149248
149350
|
codefix.registerCodeFix({
|
|
149249
149351
|
errorCodes: errorCodes,
|
|
149250
149352
|
getCodeActions: function (context) {
|
|
149251
|
-
var errorCode = context.errorCode, span = context.span
|
|
149353
|
+
var errorCode = context.errorCode, span = context.span;
|
|
149252
149354
|
var info = errorCodeFixIdMap[errorCode];
|
|
149253
149355
|
if (!info)
|
|
149254
149356
|
return ts.emptyArray;
|
|
149255
|
-
var descriptions = info
|
|
149256
|
-
if (ts.isSourceFileJS(sourceFile))
|
|
149257
|
-
return ts.emptyArray;
|
|
149357
|
+
var descriptions = info.descriptions, fixId = info.fixId, fixAllDescriptions = info.fixAllDescriptions;
|
|
149258
149358
|
var changes = ts.textChanges.ChangeTracker.with(context, function (changes) { return dispatchChanges(changes, context, errorCode, span.start); });
|
|
149259
149359
|
return [
|
|
149260
149360
|
codefix.createCodeFixActionMaybeFixAll(fixName, changes, descriptions, fixId, fixAllDescriptions)
|
|
@@ -149263,9 +149363,9 @@ var ts;
|
|
|
149263
149363
|
fixIds: [fixName, fixAddOverrideId, fixRemoveOverrideId],
|
|
149264
149364
|
getAllCodeActions: function (context) {
|
|
149265
149365
|
return codefix.codeFixAll(context, errorCodes, function (changes, diag) {
|
|
149266
|
-
var code = diag.code, start = diag.start
|
|
149366
|
+
var code = diag.code, start = diag.start;
|
|
149267
149367
|
var info = errorCodeFixIdMap[code];
|
|
149268
|
-
if (!info || info
|
|
149368
|
+
if (!info || info.fixId !== context.fixId) {
|
|
149269
149369
|
return;
|
|
149270
149370
|
}
|
|
149271
149371
|
dispatchChanges(changes, context, code, start);
|
|
@@ -149275,11 +149375,15 @@ var ts;
|
|
|
149275
149375
|
function dispatchChanges(changeTracker, context, errorCode, pos) {
|
|
149276
149376
|
switch (errorCode) {
|
|
149277
149377
|
case ts.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code:
|
|
149378
|
+
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
149379
|
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
149380
|
case ts.Diagnostics.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code:
|
|
149381
|
+
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
149382
|
return doAddOverrideModifierChange(changeTracker, context.sourceFile, pos);
|
|
149281
149383
|
case ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code:
|
|
149384
|
+
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
149385
|
case ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code:
|
|
149386
|
+
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
149387
|
return doRemoveOverrideModifierChange(changeTracker, context.sourceFile, pos);
|
|
149284
149388
|
default:
|
|
149285
149389
|
ts.Debug.fail("Unexpected error code: " + errorCode);
|
|
@@ -149287,6 +149391,10 @@ var ts;
|
|
|
149287
149391
|
}
|
|
149288
149392
|
function doAddOverrideModifierChange(changeTracker, sourceFile, pos) {
|
|
149289
149393
|
var classElement = findContainerClassElementLike(sourceFile, pos);
|
|
149394
|
+
if (ts.isSourceFileJS(sourceFile)) {
|
|
149395
|
+
changeTracker.addJSDocTags(sourceFile, classElement, [ts.factory.createJSDocOverrideTag(ts.factory.createIdentifier("override"))]);
|
|
149396
|
+
return;
|
|
149397
|
+
}
|
|
149290
149398
|
var modifiers = classElement.modifiers || ts.emptyArray;
|
|
149291
149399
|
var staticModifier = ts.find(modifiers, ts.isStaticModifier);
|
|
149292
149400
|
var abstractModifier = ts.find(modifiers, ts.isAbstractModifier);
|
|
@@ -149300,6 +149408,10 @@ var ts;
|
|
|
149300
149408
|
}
|
|
149301
149409
|
function doRemoveOverrideModifierChange(changeTracker, sourceFile, pos) {
|
|
149302
149410
|
var classElement = findContainerClassElementLike(sourceFile, pos);
|
|
149411
|
+
if (ts.isSourceFileJS(sourceFile)) {
|
|
149412
|
+
changeTracker.filterJSDocTags(sourceFile, classElement, ts.not(ts.isJSDocOverrideTag));
|
|
149413
|
+
return;
|
|
149414
|
+
}
|
|
149303
149415
|
var overrideModifier = classElement.modifiers && ts.find(classElement.modifiers, function (modifier) { return modifier.kind === 158 /* OverrideKeyword */; });
|
|
149304
149416
|
ts.Debug.assertIsDefined(overrideModifier);
|
|
149305
149417
|
changeTracker.deleteModifier(sourceFile, overrideModifier);
|
|
@@ -151663,7 +151775,7 @@ var ts;
|
|
|
151663
151775
|
if (typeNode) {
|
|
151664
151776
|
// Note that the codefix will never fire with an existing `@type` tag, so there is no need to merge tags
|
|
151665
151777
|
var typeTag = ts.factory.createJSDocTypeTag(/*tagName*/ undefined, ts.factory.createJSDocTypeExpression(typeNode), /*comment*/ undefined);
|
|
151666
|
-
addJSDocTags(
|
|
151778
|
+
changes.addJSDocTags(sourceFile, ts.cast(parent.parent.parent, ts.isExpressionStatement), [typeTag]);
|
|
151667
151779
|
}
|
|
151668
151780
|
importAdder.writeFixes(changes);
|
|
151669
151781
|
return parent;
|
|
@@ -151774,7 +151886,7 @@ var ts;
|
|
|
151774
151886
|
}
|
|
151775
151887
|
}
|
|
151776
151888
|
function annotateJSDocThis(changes, sourceFile, containingFunction, typeNode) {
|
|
151777
|
-
addJSDocTags(
|
|
151889
|
+
changes.addJSDocTags(sourceFile, containingFunction, [
|
|
151778
151890
|
ts.factory.createJSDocThisTag(/*tagName*/ undefined, ts.factory.createJSDocTypeExpression(typeNode)),
|
|
151779
151891
|
]);
|
|
151780
151892
|
}
|
|
@@ -151803,7 +151915,7 @@ var ts;
|
|
|
151803
151915
|
}
|
|
151804
151916
|
var typeExpression = ts.factory.createJSDocTypeExpression(typeNode);
|
|
151805
151917
|
var typeTag = ts.isGetAccessorDeclaration(declaration) ? ts.factory.createJSDocReturnTag(/*tagName*/ undefined, typeExpression, /*comment*/ undefined) : ts.factory.createJSDocTypeTag(/*tagName*/ undefined, typeExpression, /*comment*/ undefined);
|
|
151806
|
-
addJSDocTags(
|
|
151918
|
+
changes.addJSDocTags(sourceFile, parent, [typeTag]);
|
|
151807
151919
|
}
|
|
151808
151920
|
else if (!tryReplaceImportTypeNodeWithAutoImport(typeNode, declaration, sourceFile, changes, importAdder, ts.getEmitScriptTarget(program.getCompilerOptions()))) {
|
|
151809
151921
|
changes.tryInsertTypeAnnotation(sourceFile, declaration, typeNode);
|
|
@@ -151859,45 +151971,7 @@ var ts;
|
|
|
151859
151971
|
var name = _a.name, typeNode = _a.typeNode, isOptional = _a.isOptional;
|
|
151860
151972
|
return ts.factory.createJSDocParameterTag(/*tagName*/ undefined, name, /*isBracketed*/ !!isOptional, ts.factory.createJSDocTypeExpression(typeNode), /* isNameFirst */ false, /*comment*/ undefined);
|
|
151861
151973
|
});
|
|
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);
|
|
151974
|
+
changes.addJSDocTags(sourceFile, signature, paramTags);
|
|
151901
151975
|
}
|
|
151902
151976
|
}
|
|
151903
151977
|
function getReferences(token, program, cancellationToken) {
|
|
@@ -165850,15 +165924,15 @@ var ts;
|
|
|
165850
165924
|
if (!resolution.resolvedFileName)
|
|
165851
165925
|
continue;
|
|
165852
165926
|
var resolvedFileName = resolution.resolvedFileName, originalPath = resolution.originalPath;
|
|
165927
|
+
if (originalPath) {
|
|
165928
|
+
symlinkCache.setSymlinkedDirectoryFromSymlinkedFile(originalPath, resolvedFileName);
|
|
165929
|
+
}
|
|
165853
165930
|
if (!program.getSourceFile(resolvedFileName) && (!originalPath || !program.getSourceFile(originalPath))) {
|
|
165854
165931
|
rootNames = ts.append(rootNames, resolvedFileName);
|
|
165855
165932
|
// Avoid creating a large project that would significantly slow down time to editor interactivity
|
|
165856
165933
|
if (dependencySelection === 2 /* Auto */ && rootNames.length > this.maxDependencies) {
|
|
165857
165934
|
return ts.emptyArray;
|
|
165858
165935
|
}
|
|
165859
|
-
if (originalPath) {
|
|
165860
|
-
symlinkCache.setSymlinkedDirectoryFromSymlinkedFile(originalPath, resolvedFileName);
|
|
165861
|
-
}
|
|
165862
165936
|
}
|
|
165863
165937
|
}
|
|
165864
165938
|
}
|