From cbff3636412c99fe54c26c2cf957dc427117bd1a Mon Sep 17 00:00:00 2001 From: Rob Lourens Date: Sat, 9 Feb 2019 16:18:02 -0800 Subject: [PATCH] Strict null check extHostSearch.ts --- src/tsconfig.strictNullChecks.json | 1 + src/vs/workbench/api/node/extHostSearch.ts | 14 +++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/tsconfig.strictNullChecks.json b/src/tsconfig.strictNullChecks.json index a8c9d8f9849..385730e03cc 100644 --- a/src/tsconfig.strictNullChecks.json +++ b/src/tsconfig.strictNullChecks.json @@ -430,6 +430,7 @@ "./vs/workbench/api/node/extHostMessageService.ts", "./vs/workbench/api/node/extHostOutputService.ts", "./vs/workbench/api/node/extHostSearch.fileIndex.ts", + "./vs/workbench/api/node/extHostSearch.ts", "./vs/workbench/api/node/extHostStorage.ts", "./vs/workbench/api/node/extHostTypes.ts", "./vs/workbench/api/node/extHostUrls.ts", diff --git a/src/vs/workbench/api/node/extHostSearch.ts b/src/vs/workbench/api/node/extHostSearch.ts index d5a17a18809..82c7aa8769a 100644 --- a/src/vs/workbench/api/node/extHostSearch.ts +++ b/src/vs/workbench/api/node/extHostSearch.ts @@ -124,6 +124,10 @@ export class ExtHostSearch implements ExtHostSearchShape { }, token); } else { const indexProvider = this._fileIndexProvider.get(handle); + if (!indexProvider) { + throw new Error('unknown provider: ' + handle); + } + return this._fileIndexSearchManager.fileSearch(query, indexProvider, batch => { this._proxy.$handleFileMatch(handle, session, batch.map(p => p.resource)); }, token); @@ -147,7 +151,11 @@ export class ExtHostSearch implements ExtHostSearchShape { } }; - return this._internalFileSearchProvider.doFileSearch(rawQuery, onResult, token); + if (!this._internalFileSearchProvider) { + throw new Error('No internal file search handler'); + } + + return >this._internalFileSearchProvider.doFileSearch(rawQuery, onResult, token); } $clearCache(cacheKey: string): Promise { @@ -163,8 +171,8 @@ export class ExtHostSearch implements ExtHostSearchShape { $provideTextSearchResults(handle: number, session: number, rawQuery: IRawTextQuery, token: CancellationToken): Promise { const provider = this._textSearchProvider.get(handle); - if (!provider.provideTextSearchResults) { - return Promise.resolve(undefined); + if (!provider || !provider.provideTextSearchResults) { + throw new Error(`Unknown provider ${handle}`); } const query = reviveQuery(rawQuery); -- GitLab