From 02a59c3015994c09e278ddb59cfe90996f310c22 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Mon, 19 Nov 2018 18:47:28 -0800 Subject: [PATCH] Make CachedResponse generic --- .../src/features/baseCodeLensProvider.ts | 13 ++++++------- .../src/features/implementationsCodeLens.ts | 2 +- .../src/features/referencesCodeLens.ts | 2 +- .../src/languageProvider.ts | 4 ++-- 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/extensions/typescript-language-features/src/features/baseCodeLensProvider.ts b/extensions/typescript-language-features/src/features/baseCodeLensProvider.ts index 23abd578887..ba25a71bcc6 100644 --- a/extensions/typescript-language-features/src/features/baseCodeLensProvider.ts +++ b/extensions/typescript-language-features/src/features/baseCodeLensProvider.ts @@ -9,7 +9,6 @@ import { ITypeScriptServiceClient, ServerResponse } from '../typescriptService'; import { escapeRegExp } from '../utils/regexp'; import * as typeConverters from '../utils/typeConverters'; - export class ReferencesCodeLens extends vscode.CodeLens { constructor( public document: vscode.Uri, @@ -20,14 +19,14 @@ export class ReferencesCodeLens extends vscode.CodeLens { } } -export class CachedNavTreeResponse { - private response?: Promise>; +export class CachedResponse { + private response?: Promise>; private version: number = -1; private document: string = ''; public execute( document: vscode.TextDocument, - f: () => Promise> + f: () => Promise> ) { if (this.matches(document)) { return this.response; @@ -42,8 +41,8 @@ export class CachedNavTreeResponse { private update( document: vscode.TextDocument, - response: Promise> - ): Promise> { + response: Promise> + ): Promise> { this.response = response; this.version = document.version; this.document = document.uri.toString(); @@ -56,7 +55,7 @@ export abstract class TypeScriptBaseCodeLensProvider implements vscode.CodeLensP public constructor( protected client: ITypeScriptServiceClient, - private cachedResponse: CachedNavTreeResponse + private cachedResponse: CachedResponse ) { } public get onDidChangeCodeLenses(): vscode.Event { diff --git a/extensions/typescript-language-features/src/features/implementationsCodeLens.ts b/extensions/typescript-language-features/src/features/implementationsCodeLens.ts index 3f1aab8ad1f..1d352dc4f25 100644 --- a/extensions/typescript-language-features/src/features/implementationsCodeLens.ts +++ b/extensions/typescript-language-features/src/features/implementationsCodeLens.ts @@ -78,7 +78,7 @@ export function register( selector: vscode.DocumentSelector, modeId: string, client: ITypeScriptServiceClient, - cachedResponse: CachedNavTreeResponse, + cachedResponse: CachedResponse, ) { return new VersionDependentRegistration(client, API.v220, () => new ConfigurationDependentRegistration(modeId, 'implementationsCodeLens.enabled', () => { diff --git a/extensions/typescript-language-features/src/features/referencesCodeLens.ts b/extensions/typescript-language-features/src/features/referencesCodeLens.ts index febbf569086..2fecabafb5b 100644 --- a/extensions/typescript-language-features/src/features/referencesCodeLens.ts +++ b/extensions/typescript-language-features/src/features/referencesCodeLens.ts @@ -90,7 +90,7 @@ export function register( selector: vscode.DocumentSelector, modeId: string, client: ITypeScriptServiceClient, - cachedResponse: CachedNavTreeResponse, + cachedResponse: CachedResponse, ) { return new VersionDependentRegistration(client, API.v206, () => new ConfigurationDependentRegistration(modeId, 'referencesCodeLens.enabled', () => { diff --git a/extensions/typescript-language-features/src/languageProvider.ts b/extensions/typescript-language-features/src/languageProvider.ts index a7ead5a909e..e447baf09a2 100644 --- a/extensions/typescript-language-features/src/languageProvider.ts +++ b/extensions/typescript-language-features/src/languageProvider.ts @@ -5,7 +5,7 @@ import { basename } from 'path'; import * as vscode from 'vscode'; -import { CachedNavTreeResponse } from './features/baseCodeLensProvider'; +import { CachedResponse } from './features/baseCodeLensProvider'; import { DiagnosticKind } from './features/diagnostics'; import FileConfigurationManager from './features/fileConfigurationManager'; import TypeScriptServiceClient from './typescriptServiceClient'; @@ -53,7 +53,7 @@ export default class LanguageProvider extends Disposable { private async registerProviders(): Promise { const selector = this.documentSelector; - const cachedResponse = new CachedNavTreeResponse(); + const cachedResponse = new CachedResponse(); this._register((await import('./features/completions')).register(selector, this.description.id, this.client, this.typingsStatus, this.fileConfigurationManager, this.commandManager, this.onCompletionAccepted)); this._register((await import('./features/definitions')).register(selector, this.client)); -- GitLab