From 6c78ce31ead3e4351ebe55f1a1197782982e02ce Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Mon, 11 Jun 2018 17:00:17 -0700 Subject: [PATCH] Set use flag (#24881) --- src/services/signatureHelp.ts | 2 +- ...tureHelpForNonlocalTypeDoesNotUseImportType.ts | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 tests/cases/fourslash/signatureHelpForNonlocalTypeDoesNotUseImportType.ts diff --git a/src/services/signatureHelp.ts b/src/services/signatureHelp.ts index 94f95641fed..ac13a2c7904 100644 --- a/src/services/signatureHelp.ts +++ b/src/services/signatureHelp.ts @@ -366,7 +366,7 @@ namespace ts.SignatureHelp { return invocation.kind === InvocationKind.Call ? getInvokedExpression(invocation.node) : invocation.called; } - const signatureHelpNodeBuilderFlags = NodeBuilderFlags.OmitParameterModifiers | NodeBuilderFlags.IgnoreErrors; + const signatureHelpNodeBuilderFlags = NodeBuilderFlags.OmitParameterModifiers | NodeBuilderFlags.IgnoreErrors | NodeBuilderFlags.UseAliasDefinedOutsideCurrentScope; function createSignatureHelpItems(candidates: ReadonlyArray, resolvedSignature: Signature, argumentListInfo: ArgumentListInfo, sourceFile: SourceFile, typeChecker: TypeChecker): SignatureHelpItems { const { argumentCount, argumentsSpan: applicableSpan, invocation, argumentIndex } = argumentListInfo; const isTypeParameterList = argumentListInfo.kind === ArgumentListKind.TypeArguments; diff --git a/tests/cases/fourslash/signatureHelpForNonlocalTypeDoesNotUseImportType.ts b/tests/cases/fourslash/signatureHelpForNonlocalTypeDoesNotUseImportType.ts new file mode 100644 index 00000000000..42efddb65f4 --- /dev/null +++ b/tests/cases/fourslash/signatureHelpForNonlocalTypeDoesNotUseImportType.ts @@ -0,0 +1,15 @@ +/// + +// @Filename: exporter.ts +////export interface Thing {} +////export const Foo: () => Thing = null as any; + +// @Filename: usage.ts +////import {Foo} from "./exporter" +////function f(p = Foo()): void {} +////f(/*1*/ + +verify.signatureHelp({ + marker: "1", + text: "f(p?: Thing): void" +}); \ No newline at end of file