Cherry-pick PR #39950 into release-4.0 (#39951)

Component commits:
6e5d75b58b Use isUncalledFunctionReference for aliases too
Fixes bogus deprecated notices on imports of functions with deprecated
overloads, but with some non-deprecated overloads.

Fixes microsoft/vscode#104238

e2eb319e72 Just check all declarations, don't call isUncalledFunction

Co-authored-by: Nathan Shively-Sanders <nathansa@microsoft.com>
This commit is contained in:
TypeScript Bot
2020-08-07 10:40:44 -07:00
committed by GitHub
co-authored by Nathan Shively-Sanders
parent 264d27e779
commit 3055018556
3 changed files with 25 additions and 3 deletions
+1 -3
View File
@@ -35323,9 +35323,7 @@ namespace ts {
error(node, Diagnostics.Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type);
}
if (isImportSpecifier(node) &&
(target.valueDeclaration && target.valueDeclaration.flags & NodeFlags.Deprecated
|| every(target.declarations, d => !!(d.flags & NodeFlags.Deprecated)))) {
if (isImportSpecifier(node) && every(target.declarations, d => !!(getCombinedNodeFlags(d) & NodeFlags.Deprecated))) {
errorOrSuggestion(/* isError */ false, node.name, Diagnostics._0_is_deprecated, symbol.escapedName as string);
}
}
@@ -0,0 +1,13 @@
///<reference path="fourslash.ts" />
// @Filename: first.ts
//// /** @deprecated */
//// export declare function tap<T>(next: null): void;
//// export declare function tap<T>(next: T): T;
// @Filename: second.ts
//// import { tap } from './first';
//// tap
goTo.file('second.ts')
verify.noErrors()
verify.getSuggestionDiagnostics([]);
@@ -0,0 +1,11 @@
///<reference path="fourslash.ts" />
// @Filename: first.ts
//// export class logger { }
// @Filename: second.ts
//// import { logger } from './first';
//// new logger()
goTo.file('second.ts')
verify.noErrors()
verify.getSuggestionDiagnostics([]);