Skip to content

Commit 9eb774b

Browse files
committed
Support decorators too
1 parent 0fe9056 commit 9eb774b

File tree

2 files changed

+30
-10
lines changed

2 files changed

+30
-10
lines changed

src/compiler/checker.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27605,7 +27605,7 @@ namespace ts {
2760527605
if (languageVersion < ScriptTarget.ES2015) {
2760627606
checkExternalEmitHelpers(node, ExternalEmitHelpers.MakeTemplateObject);
2760727607
}
27608-
const signature = getResolvedSignature(node)
27608+
const signature = getResolvedSignature(node);
2760927609
checkDeprecatedSignature(signature, node);
2761027610
return getReturnTypeOfSignature(signature);
2761127611
}
@@ -31735,6 +31735,7 @@ namespace ts {
3173531735
/** Check a decorator */
3173631736
function checkDecorator(node: Decorator): void {
3173731737
const signature = getResolvedSignature(node);
31738+
checkDeprecatedSignature(signature, node);
3173831739
const returnType = getReturnTypeOfSignature(signature);
3173931740
if (returnType.flags & TypeFlags.Any) {
3174031741
return;

tests/cases/fourslash/jsdocDeprecated_suggestion1.ts

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
///<reference path="fourslash.ts" />
2+
// @experimentalDecorators: true
23

34
// @Filename: a.ts
45
//// export namespace foo {
@@ -57,6 +58,12 @@
5758
//// }
5859
//// [|ttf``|]
5960
//// [|ttf|]
61+
//// /** @deprecated */
62+
//// function dec(_c: unknown) { }
63+
//// [|dec|]
64+
//// [|@dec|]
65+
//// class K { }
66+
6067
// @Filename: b.ts
6168
//// // imports and aliases
6269
//// import * as f from './a';
@@ -216,61 +223,73 @@ verify.getSuggestionDiagnostics([
216223
"reportsDeprecated": true,
217224
"range": ranges[22]
218225
},
226+
{
227+
"code": 6385,
228+
"message": "'dec' is deprecated",
229+
"reportsDeprecated": true,
230+
"range": ranges[23]
231+
},
232+
{
233+
"code": 6385,
234+
"message": "'(_c: unknown): void' is deprecated",
235+
"reportsDeprecated": true,
236+
"range": ranges[24]
237+
},
219238
]);
220239
goTo.file('b.ts')
221240
verify.getSuggestionDiagnostics([
222241
{
223242
"code": 6385,
224243
"message": "'bar' is deprecated",
225244
"reportsDeprecated": true,
226-
"range": ranges[23]
245+
"range": ranges[25]
227246
},
228247
{
229248
"code": 6385,
230249
"message": "'QW' is deprecated",
231250
"reportsDeprecated": true,
232-
"range": ranges[24]
251+
"range": ranges[26]
233252
},
234253
{
235254
"code": 6385,
236255
"message": "'(): void' is deprecated",
237256
"reportsDeprecated": true,
238-
"range": ranges[25]
257+
"range": ranges[27]
239258
},
240259
{
241260
"code": 6385,
242261
"message": "'(): void' is deprecated",
243262
"reportsDeprecated": true,
244-
"range": ranges[26]
263+
"range": ranges[28]
245264
},
246265
{
247266
"code": 6385,
248267
"message": "'(): void' is deprecated",
249268
"reportsDeprecated": true,
250-
"range": ranges[27]
269+
"range": ranges[29]
251270
},
252271
{
253272
"code": 6385,
254273
"message": "'QW' is deprecated",
255274
"reportsDeprecated": true,
256-
"range": ranges[28]
275+
"range": ranges[30]
257276
},
258277
{
259278
"code": 6385,
260279
"message": "'Foo' is deprecated",
261280
"reportsDeprecated": true,
262-
"range": ranges[29]
281+
"range": ranges[31]
263282
},
264283
{
265284
"code": 6385,
266285
"message": "'QW' is deprecated",
267286
"reportsDeprecated": true,
268-
"range": ranges[30]
287+
"range": ranges[32]
269288
},
270289
{
271290
"code": 6196,
272291
"message": "'O' is declared but never used.",
273292
"reportsUnnecessary": true,
274-
"range": ranges[31]
293+
"range": ranges[33]
275294
}
276295
])

0 commit comments

Comments
 (0)