@@ -25446,6 +25446,10 @@ var ts;
25446
25446
return node.kind === 178 /* TupleType */;
25447
25447
}
25448
25448
ts.isTupleTypeNode = isTupleTypeNode;
25449
+ function isNamedTupleMember(node) {
25450
+ return node.kind === 191 /* NamedTupleMember */;
25451
+ }
25452
+ ts.isNamedTupleMember = isNamedTupleMember;
25449
25453
function isOptionalTypeNode(node) {
25450
25454
return node.kind === 179 /* OptionalType */;
25451
25455
}
@@ -67368,7 +67372,31 @@ var ts;
67368
67372
}
67369
67373
function checkDeprecatedSignature(signature, node) {
67370
67374
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;
67372
67400
}
67373
67401
}
67374
67402
function isSymbolOrSymbolForCall(node) {
@@ -70474,8 +70502,7 @@ var ts;
70474
70502
var symbol = getNodeLinks(node).resolvedSymbol;
70475
70503
if (symbol) {
70476
70504
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);
70479
70506
}
70480
70507
if (type.flags & 32 /* Enum */ && symbol.flags & 8 /* EnumMember */) {
70481
70508
error(node, ts.Diagnostics.Enum_type_0_has_members_with_initializers_that_are_not_literals, typeToString(type));
@@ -74372,9 +74399,7 @@ var ts;
74372
74399
&& !(node.flags & 8388608 /* Ambient */)) {
74373
74400
error(node, ts.Diagnostics.Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type);
74374
74401
}
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 */); })) {
74378
74403
errorOrSuggestion(/* isError */ false, node.name, ts.Diagnostics._0_is_deprecated, symbol.escapedName);
74379
74404
}
74380
74405
}
0 commit comments