@@ -2611,10 +2611,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
2611
2611
return addDeprecatedSuggestionWorker(declarations, diagnostic);
2612
2612
}
2613
2613
2614
- function addDeprecatedSuggestionWithSignature(location: Node, declaration: Node, deprecatedEntity: string | undefined, signatureString: string) {
2615
- const diagnostic = deprecatedEntity
2616
- ? createDiagnosticForNode(location, Diagnostics.The_signature_0_of_1_is_deprecated, signatureString, deprecatedEntity)
2617
- : createDiagnosticForNode(location, Diagnostics._0_is_deprecated, signatureString);
2614
+ function addDeprecatedSuggestionWithSignature(location: Node, declaration: Node, deprecatedEntity: string) {
2615
+ const diagnostic = createDiagnosticForNode(location, Diagnostics._0_is_deprecated, deprecatedEntity);
2618
2616
return addDeprecatedSuggestionWorker(declaration, diagnostic);
2619
2617
}
2620
2618
@@ -37782,8 +37780,16 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
37782
37780
if (signature.flags & SignatureFlags.IsSignatureCandidateForOverloadFailure) return;
37783
37781
if (signature.declaration && signature.declaration.flags & NodeFlags.Deprecated) {
37784
37782
const suggestionNode = getDeprecatedSuggestionNode(node);
37785
- const name = tryGetPropertyAccessOrIdentifierToString(getInvokedExpression(node));
37786
- addDeprecatedSuggestionWithSignature(suggestionNode, signature.declaration, name, signatureToString(signature));
37783
+ const invoked = getInvokedExpression(node);
37784
+ let name = tryGetPropertyAccessOrIdentifierToString(invoked);
37785
+
37786
+ if (!name && invoked.kind === SyntaxKind.PropertyAccessExpression) {
37787
+ const propAccess = invoked as PropertyAccessExpression;
37788
+ name = (propAccess.name as any).getText() + "()";
37789
+ }
37790
+ name = name ?? "<unknown>";
37791
+
37792
+ addDeprecatedSuggestionWithSignature(suggestionNode, signature.declaration, name);
37787
37793
}
37788
37794
}
37789
37795
0 commit comments