@@ -25446,6 +25446,10 @@ var ts;
2544625446 return node.kind === 178 /* TupleType */;
2544725447 }
2544825448 ts.isTupleTypeNode = isTupleTypeNode;
25449+ function isNamedTupleMember(node) {
25450+ return node.kind === 191 /* NamedTupleMember */;
25451+ }
25452+ ts.isNamedTupleMember = isNamedTupleMember;
2544925453 function isOptionalTypeNode(node) {
2545025454 return node.kind === 179 /* OptionalType */;
2545125455 }
@@ -67368,7 +67372,31 @@ var ts;
6736867372 }
6736967373 function checkDeprecatedSignature(signature, node) {
6737067374 if (signature.declaration && signature.declaration.flags & 134217728 /* Deprecated */) {
67371- errorOrSuggestion(/*isError*/ false, node, ts.Diagnostics._0_is_deprecated, signatureToString(signature));
67375+ var suggestionNode = getDeprecatedSuggestionNode(node);
67376+ errorOrSuggestion(/*isError*/ false, suggestionNode, ts.Diagnostics._0_is_deprecated, signatureToString(signature));
67377+ }
67378+ }
67379+ function getDeprecatedSuggestionNode(node) {
67380+ node = ts.skipParentheses(node);
67381+ switch (node.kind) {
67382+ case 200 /* CallExpression */:
67383+ case 160 /* Decorator */:
67384+ case 201 /* NewExpression */:
67385+ return getDeprecatedSuggestionNode(node.expression);
67386+ case 202 /* TaggedTemplateExpression */:
67387+ return getDeprecatedSuggestionNode(node.tag);
67388+ case 272 /* JsxOpeningElement */:
67389+ case 271 /* JsxSelfClosingElement */:
67390+ return getDeprecatedSuggestionNode(node.tagName);
67391+ case 199 /* ElementAccessExpression */:
67392+ return node.argumentExpression;
67393+ case 198 /* PropertyAccessExpression */:
67394+ return node.name;
67395+ case 172 /* TypeReference */:
67396+ var typeReference = node;
67397+ return ts.isQualifiedName(typeReference.typeName) ? typeReference.typeName.right : typeReference;
67398+ default:
67399+ return node;
6737267400 }
6737367401 }
6737467402 function isSymbolOrSymbolForCall(node) {
@@ -70474,8 +70502,7 @@ var ts;
7047470502 var symbol = getNodeLinks(node).resolvedSymbol;
7047570503 if (symbol) {
7047670504 if (ts.some(symbol.declarations, function (d) { return isTypeDeclaration(d) && !!(d.flags & 134217728 /* Deprecated */); })) {
70477- var diagLocation = ts.isTypeReferenceNode(node) && ts.isQualifiedName(node.typeName) ? node.typeName.right : node;
70478- errorOrSuggestion(/* isError */ false, diagLocation, ts.Diagnostics._0_is_deprecated, symbol.escapedName);
70505+ errorOrSuggestion(/* isError */ false, getDeprecatedSuggestionNode(node), ts.Diagnostics._0_is_deprecated, symbol.escapedName);
7047970506 }
7048070507 if (type.flags & 32 /* Enum */ && symbol.flags & 8 /* EnumMember */) {
7048170508 error(node, ts.Diagnostics.Enum_type_0_has_members_with_initializers_that_are_not_literals, typeToString(type));
@@ -74372,9 +74399,7 @@ var ts;
7437274399 && !(node.flags & 8388608 /* Ambient */)) {
7437374400 error(node, ts.Diagnostics.Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type);
7437474401 }
74375- if (ts.isImportSpecifier(node) &&
74376- (target.valueDeclaration && target.valueDeclaration.flags & 134217728 /* Deprecated */
74377- || ts.every(target.declarations, function (d) { return !!(d.flags & 134217728 /* Deprecated */); }))) {
74402+ if (ts.isImportSpecifier(node) && ts.every(target.declarations, function (d) { return !!(ts.getCombinedNodeFlags(d) & 134217728 /* Deprecated */); })) {
7437874403 errorOrSuggestion(/* isError */ false, node.name, ts.Diagnostics._0_is_deprecated, symbol.escapedName);
7437974404 }
7438074405 }
0 commit comments