mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-04-17 01:49:41 -05:00
Only suggest @param codefixes in TS (#47959)
* Only issue @param suggestions with codefixes in TS Previously, there were 2 JS errors that were issued as suggestions in TS files. But there was no codefix for these errors, and the errors were incorrect in TS. This PR only issues the JS-specific errors on JS files. * Minimise test
This commit is contained in:
committed by
GitHub
parent
acfdd1bd4d
commit
5150682a58
@@ -38650,9 +38650,9 @@ namespace ts {
|
||||
const containsArguments = containsArgumentsReference(node);
|
||||
if (containsArguments) {
|
||||
const lastJSDocParam = lastOrUndefined(jsdocParameters);
|
||||
if (lastJSDocParam && isIdentifier(lastJSDocParam.name) && lastJSDocParam.typeExpression &&
|
||||
if (isJs && lastJSDocParam && isIdentifier(lastJSDocParam.name) && lastJSDocParam.typeExpression &&
|
||||
lastJSDocParam.typeExpression.type && !parameters.has(lastJSDocParam.name.escapedText) && !isArrayType(getTypeFromTypeNode(lastJSDocParam.typeExpression.type))) {
|
||||
errorOrSuggestion(isJs, lastJSDocParam.name, Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type, idText(lastJSDocParam.name));
|
||||
error(lastJSDocParam.name, Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type, idText(lastJSDocParam.name));
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -38661,7 +38661,9 @@ namespace ts {
|
||||
return;
|
||||
}
|
||||
if (isQualifiedName(name)) {
|
||||
errorOrSuggestion(isJs, name, Diagnostics.Qualified_name_0_is_not_allowed_without_a_leading_param_object_1, entityNameToString(name), entityNameToString(name.left));
|
||||
if (isJs) {
|
||||
error(name, Diagnostics.Qualified_name_0_is_not_allowed_without_a_leading_param_object_1, entityNameToString(name), entityNameToString(name.left));
|
||||
}
|
||||
}
|
||||
else {
|
||||
errorOrSuggestion(isJs, name, Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name, idText(name));
|
||||
|
||||
18
tests/cases/fourslash/jsdocParam_suggestion1.ts
Normal file
18
tests/cases/fourslash/jsdocParam_suggestion1.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
/// <reference path="fourslash.ts" />
|
||||
// @Filename: a.ts
|
||||
//// /**
|
||||
//// * @param options - whatever
|
||||
//// * @param options.zone - equally bad
|
||||
//// */
|
||||
//// declare function bad(options: any): void
|
||||
////
|
||||
//// /**
|
||||
//// * @param {number} obtuse
|
||||
//// */
|
||||
//// function worse(): void {
|
||||
//// arguments
|
||||
//// }
|
||||
|
||||
goTo.file('a.ts')
|
||||
verify.getSuggestionDiagnostics([]);
|
||||
|
||||
Reference in New Issue
Block a user