diff --git a/README.md b/README.md index 2d1ef1183..762eaa459 100644 --- a/README.md +++ b/README.md @@ -3770,6 +3770,16 @@ declare global { b: float, ): Color; } + +/** + * @param this desc + * @param bar number to return + * @returns number returned back to caller + */ +function foo(this: T, bar: number): number { + console.log(this.name); + return bar; +} ```` diff --git a/src/rules/checkParamNames.js b/src/rules/checkParamNames.js index 2add07a6b..48206b287 100644 --- a/src/rules/checkParamNames.js +++ b/src/rules/checkParamNames.js @@ -66,7 +66,7 @@ const validateParameterNames = ( } let functionParameterName = functionParameterNames[index - dotted + thisOffset]; - if (functionParameterName === 'this') { + if (functionParameterName === 'this' && tag.name.trim() !== 'this') { ++thisOffset; functionParameterName = functionParameterNames[index - dotted + thisOffset]; } diff --git a/test/rules/assertions/checkParamNames.js b/test/rules/assertions/checkParamNames.js index bdd44fa71..410e9eebb 100644 --- a/test/rules/assertions/checkParamNames.js +++ b/test/rules/assertions/checkParamNames.js @@ -1795,5 +1795,19 @@ export default { `, parser: require.resolve('@typescript-eslint/parser'), }, + { + code: ` + /** + * @param this desc + * @param bar number to return + * @returns number returned back to caller + */ + function foo(this: T, bar: number): number { + console.log(this.name); + return bar; + } + `, + parser: require.resolve('@typescript-eslint/parser'), + }, ], };