From ff6d6042940573b3c01eeb08136f233486b4871c Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Wed, 10 Jul 2019 14:05:48 -0700 Subject: [PATCH] Fix or supress more implict index access errors For #76442 --- src/vs/base/common/worker/simpleWorker.ts | 4 ++-- .../code/electron-browser/issue/issueReporterMain.ts | 2 +- src/vs/editor/common/services/webWorker.ts | 4 ++-- src/vs/monaco.d.ts | 2 +- .../instantiation/common/instantiationService.ts | 4 ++-- .../comments/browser/commentsEditorContribution.ts | 10 +++++----- .../experiments/electron-browser/experimentService.ts | 2 +- .../services/extensions/common/extensionsRegistry.ts | 2 +- 8 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/vs/base/common/worker/simpleWorker.ts b/src/vs/base/common/worker/simpleWorker.ts index 3772c910f41..ca6e174ce33 100644 --- a/src/vs/base/common/worker/simpleWorker.ts +++ b/src/vs/base/common/worker/simpleWorker.ts @@ -212,12 +212,12 @@ export class SimpleWorkerClient extends Disp this._worker.postMessage(msg); }, handleMessage: (method: string, args: any[]): Promise => { - if (typeof host[method] !== 'function') { + if (typeof (host as any)[method] !== 'function') { return Promise.reject(new Error('Missing method ' + method + ' on main thread host.')); } try { - return Promise.resolve(host[method].apply(host, args)); + return Promise.resolve((host as any)[method].apply(host, args)); } catch (e) { return Promise.reject(e); } diff --git a/src/vs/code/electron-browser/issue/issueReporterMain.ts b/src/vs/code/electron-browser/issue/issueReporterMain.ts index decce9a2e02..a6bb5723f58 100644 --- a/src/vs/code/electron-browser/issue/issueReporterMain.ts +++ b/src/vs/code/electron-browser/issue/issueReporterMain.ts @@ -336,7 +336,7 @@ export class IssueReporter extends Disposable { this.render(); }); - ['includeSystemInfo', 'includeProcessInfo', 'includeWorkspaceInfo', 'includeExtensions', 'includeSearchedExtensions', 'includeSettingsSearchDetails'].forEach(elementId => { + (['includeSystemInfo', 'includeProcessInfo', 'includeWorkspaceInfo', 'includeExtensions', 'includeSearchedExtensions', 'includeSettingsSearchDetails'] as const).forEach(elementId => { this.addEventListener(elementId, 'click', (event: Event) => { event.stopPropagation(); this.issueReporterModel.update({ [elementId]: !this.issueReporterModel.getData()[elementId] }); diff --git a/src/vs/editor/common/services/webWorker.ts b/src/vs/editor/common/services/webWorker.ts index 944be578f8e..0ae55dffaa0 100644 --- a/src/vs/editor/common/services/webWorker.ts +++ b/src/vs/editor/common/services/webWorker.ts @@ -52,13 +52,13 @@ export interface IWebWorkerOptions { /** * An object that can be used by the web worker to make calls back to the main thread. */ - host?: object; + host?: any; } class MonacoWebWorkerImpl extends EditorWorkerClient implements MonacoWebWorker { private readonly _foreignModuleId: string; - private readonly _foreignModuleHost: object | null; + private readonly _foreignModuleHost: { [method: string]: Function } | null; private _foreignModuleCreateData: any | null; private _foreignProxy: Promise | null; diff --git a/src/vs/monaco.d.ts b/src/vs/monaco.d.ts index 0cedc1d3428..945d10d7e14 100644 --- a/src/vs/monaco.d.ts +++ b/src/vs/monaco.d.ts @@ -989,7 +989,7 @@ declare namespace monaco.editor { /** * An object that can be used by the web worker to make calls back to the main thread. */ - host?: object; + host?: any; } /** diff --git a/src/vs/platform/instantiation/common/instantiationService.ts b/src/vs/platform/instantiation/common/instantiationService.ts index 7b330d9a35d..06c2c8ba0f4 100644 --- a/src/vs/platform/instantiation/common/instantiationService.ts +++ b/src/vs/platform/instantiation/common/instantiationService.ts @@ -222,10 +222,10 @@ export class InstantiationService implements IInstantiationService { const idle = new IdleValue(() => this._createInstance(ctor, args, _trace)); return new Proxy(Object.create(null), { get(_target: T, prop: PropertyKey): any { - return idle.getValue()[prop]; + return (idle.getValue() as any)[prop]; }, set(_target: T, p: PropertyKey, value: any): boolean { - idle.getValue()[p] = value; + (idle.getValue() as any)[p] = value; return true; } }); diff --git a/src/vs/workbench/contrib/comments/browser/commentsEditorContribution.ts b/src/vs/workbench/contrib/comments/browser/commentsEditorContribution.ts index 92a6e355316..35d61c27f4b 100644 --- a/src/vs/workbench/contrib/comments/browser/commentsEditorContribution.ts +++ b/src/vs/workbench/contrib/comments/browser/commentsEditorContribution.ts @@ -163,7 +163,7 @@ export class ReviewController implements IEditorContribution { private _emptyThreadsToAddQueue: [number, IEditorMouseEvent | undefined][] = []; private _computeCommentingRangePromise: CancelablePromise | null; private _computeCommentingRangeScheduler: Delayer> | null; - private _pendingCommentCache: { [key: number]: { [key: string]: string } }; + private _pendingCommentCache: { [key: string]: { [key: string]: string } }; constructor( editor: ICodeEditor, @@ -396,7 +396,7 @@ export class ReviewController implements IEditorContribution { return; } - const pendingCommentText = this._pendingCommentCache[e.owner] && this._pendingCommentCache[e.owner][thread.threadId]; + const pendingCommentText = this._pendingCommentCache[e.owner] && this._pendingCommentCache[e.owner][thread.threadId!]; this.displayCommentThread(e.owner, thread, pendingCommentText); this._commentInfos.filter(info => info.owner === e.owner)[0].threads.push(thread); }); @@ -624,7 +624,7 @@ export class ReviewController implements IEditorContribution { info.threads.forEach(thread => { let pendingComment: string | null = null; if (providerCacheStore) { - pendingComment = providerCacheStore[thread.threadId]; + pendingComment = providerCacheStore[thread.threadId!]; } if (pendingComment) { @@ -658,10 +658,10 @@ export class ReviewController implements IEditorContribution { this._pendingCommentCache[zone.owner] = {}; } - this._pendingCommentCache[zone.owner][zone.commentThread.threadId] = pendingComment; + this._pendingCommentCache[zone.owner][zone.commentThread.threadId!] = pendingComment; } else { if (providerCacheStore) { - delete providerCacheStore[zone.commentThread.threadId]; + delete providerCacheStore[zone.commentThread.threadId!]; } } diff --git a/src/vs/workbench/contrib/experiments/electron-browser/experimentService.ts b/src/vs/workbench/contrib/experiments/electron-browser/experimentService.ts index 0deb24c7201..71c3992d276 100644 --- a/src/vs/workbench/contrib/experiments/electron-browser/experimentService.ts +++ b/src/vs/workbench/contrib/experiments/electron-browser/experimentService.ts @@ -179,7 +179,7 @@ export class ExperimentService extends Disposable implements IExperimentService if (context.res.statusCode !== 200) { return Promise.resolve(null); } - return asJson(context).then(result => { + return asJson(context).then((result: any) => { return result && Array.isArray(result['experiments']) ? result['experiments'] : []; }); }, () => Promise.resolve(null)); diff --git a/src/vs/workbench/services/extensions/common/extensionsRegistry.ts b/src/vs/workbench/services/extensions/common/extensionsRegistry.ts index 577cc633360..9776a42da6a 100644 --- a/src/vs/workbench/services/extensions/common/extensionsRegistry.ts +++ b/src/vs/workbench/services/extensions/common/extensionsRegistry.ts @@ -206,7 +206,7 @@ export const schema = { type: 'object', properties: { // extensions will fill in - }, + } as { [key: string]: any }, default: {} }, preview: { -- GitLab