diff --git a/extensions/typescript/src/features/definitionProvider.ts b/extensions/typescript/src/features/definitionProvider.ts index 2713fc603db..3d4432bb8c3 100644 --- a/extensions/typescript/src/features/definitionProvider.ts +++ b/extensions/typescript/src/features/definitionProvider.ts @@ -5,16 +5,11 @@ import { DefinitionProvider, TextDocument, Position, CancellationToken, Definition } from 'vscode'; -import { ITypescriptServiceClient } from '../typescriptService'; import DefinitionProviderBase from './definitionProviderBase'; export default class TypeScriptDefinitionProvider extends DefinitionProviderBase implements DefinitionProvider { - constructor(client: ITypescriptServiceClient) { - super(client); - } - - public provideDefinition(document: TextDocument, position: Position, token: CancellationToken | boolean): Promise { + public provideDefinition(document: TextDocument, position: Position, token: CancellationToken | boolean): Promise { return this.getSymbolLocations('definition', document, position, token); } } \ No newline at end of file diff --git a/extensions/typescript/src/features/definitionProviderBase.ts b/extensions/typescript/src/features/definitionProviderBase.ts index ee3a086a4fa..04c47dde5e5 100644 --- a/extensions/typescript/src/features/definitionProviderBase.ts +++ b/extensions/typescript/src/features/definitionProviderBase.ts @@ -18,10 +18,10 @@ export default class TypeScriptDefinitionProviderBase { document: TextDocument, position: Position, token: CancellationToken | boolean - ): Promise { + ): Promise { const filepath = this.client.normalizePath(document.uri); if (!filepath) { - return null; + return undefined; } const args = vsPositionToTsFileLocation(filepath, position); @@ -33,9 +33,9 @@ export default class TypeScriptDefinitionProviderBase { } return locations.map(location => { const resource = this.client.asUrl(location.file); - return !resource - ? null - : new Location(resource, tsTextSpanToVsRange(location)); + return resource + ? new Location(resource, tsTextSpanToVsRange(location)) + : undefined; }).filter(x => x) as Location[]; } catch { return []; diff --git a/extensions/typescript/src/features/implementationProvider.ts b/extensions/typescript/src/features/implementationProvider.ts index ab4d5b8c45b..6e026c3288a 100644 --- a/extensions/typescript/src/features/implementationProvider.ts +++ b/extensions/typescript/src/features/implementationProvider.ts @@ -5,16 +5,11 @@ import { ImplementationProvider, TextDocument, Position, CancellationToken, Definition } from 'vscode'; -import { ITypescriptServiceClient } from '../typescriptService'; import DefinitionProviderBase from './definitionProviderBase'; export default class TypeScriptImplementationProvider extends DefinitionProviderBase implements ImplementationProvider { - constructor(client: ITypescriptServiceClient) { - super(client); - } - - public provideImplementation(document: TextDocument, position: Position, token: CancellationToken | boolean): Promise { + public provideImplementation(document: TextDocument, position: Position, token: CancellationToken | boolean): Promise { return this.getSymbolLocations('implementation', document, position, token); } } \ No newline at end of file diff --git a/extensions/typescript/src/features/typeDefinitionProvider.ts b/extensions/typescript/src/features/typeDefinitionProvider.ts index d107f67580a..50f33ecaa9c 100644 --- a/extensions/typescript/src/features/typeDefinitionProvider.ts +++ b/extensions/typescript/src/features/typeDefinitionProvider.ts @@ -5,15 +5,11 @@ import { TypeDefinitionProvider, TextDocument, Position, CancellationToken, Definition } from 'vscode'; -import { ITypescriptServiceClient } from '../typescriptService'; import DefinitionProviderBase from './definitionProviderBase'; export default class TypeScriptTypeDefinitionProvider extends DefinitionProviderBase implements TypeDefinitionProvider { - constructor(client: ITypescriptServiceClient) { - super(client); - } - public provideTypeDefinition(document: TextDocument, position: Position, token: CancellationToken | boolean): Promise { + public provideTypeDefinition(document: TextDocument, position: Position, token: CancellationToken | boolean): Promise { return this.getSymbolLocations('typeDefinition', document, position, token); } } \ No newline at end of file