From f29abe48e2ced7042d708e341b5078be3e565b74 Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Mon, 20 Nov 2017 16:53:36 +0100 Subject: [PATCH] remove more unused code, #38414 --- src/vs/base/common/objects.ts | 4 -- .../instantiation/common/descriptors.ts | 48 +++---------------- .../common/instantiationService.ts | 6 +-- 3 files changed, 9 insertions(+), 49 deletions(-) diff --git a/src/vs/base/common/objects.ts b/src/vs/base/common/objects.ts index a463a8e7c10..ab5c34250cb 100644 --- a/src/vs/base/common/objects.ts +++ b/src/vs/base/common/objects.ts @@ -120,10 +120,6 @@ export function assign(destination: any, ...sources: any[]): any { return destination; } -export function toObject(arr: T[], keyMap: (t: T) => string): { [key: string]: T } { - return arr.reduce((o, d) => assign(o, { [keyMap(d)]: d }), Object.create(null)); -} - export function equals(one: any, other: any): boolean { if (one === other) { return true; diff --git a/src/vs/platform/instantiation/common/descriptors.ts b/src/vs/platform/instantiation/common/descriptors.ts index 46cda3ca986..3dcea1588d4 100644 --- a/src/vs/platform/instantiation/common/descriptors.ts +++ b/src/vs/platform/instantiation/common/descriptors.ts @@ -4,51 +4,17 @@ *--------------------------------------------------------------------------------------------*/ 'use strict'; -import { illegalArgument } from 'vs/base/common/errors'; import * as instantiation from './instantiation'; -export class AbstractDescriptor { - constructor(private _staticArguments: any[]) { - // empty - } +export class SyncDescriptor { - public appendStaticArguments(more: any[]): void { - this._staticArguments.push.apply(this._staticArguments, more); - } + readonly ctor: any; + readonly staticArguments: any[]; - public staticArguments(): any[]; - public staticArguments(nth: number): any; - public staticArguments(nth?: number): any[] { - if (isNaN(nth)) { - return this._staticArguments.slice(0); - } else { - return this._staticArguments[nth]; - } - } - - _validate(type: T): void { - if (!type) { - throw illegalArgument('can not be falsy'); - } - } -} - -export class SyncDescriptor extends AbstractDescriptor { - - constructor(private _ctor: any, ...staticArguments: any[]) { - super(staticArguments); - } - - public get ctor(): any { - return this._ctor; - } - - protected bind(...moreStaticArguments: any[]): SyncDescriptor { - let allArgs: any[] = []; - allArgs = allArgs.concat(this.staticArguments()); - allArgs = allArgs.concat(moreStaticArguments); - return new SyncDescriptor(this._ctor, ...allArgs); + constructor(ctor: new (...args: any[]) => T, ..._staticArguments: any[]) { + this.ctor = ctor; + this.staticArguments = _staticArguments; } } @@ -175,4 +141,4 @@ export interface SyncDescriptor8 { bind(a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6): SyncDescriptor2; bind(a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7): SyncDescriptor1; bind(a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8): SyncDescriptor0; -} \ No newline at end of file +} diff --git a/src/vs/platform/instantiation/common/instantiationService.ts b/src/vs/platform/instantiation/common/instantiationService.ts index 052e2eba90a..19618c36a72 100644 --- a/src/vs/platform/instantiation/common/instantiationService.ts +++ b/src/vs/platform/instantiation/common/instantiationService.ts @@ -77,7 +77,7 @@ export class InstantiationService implements IInstantiationService { private _createInstance(desc: SyncDescriptor, args: any[]): T { // arguments given by createInstance-call and/or the descriptor - let staticArgs = desc.staticArguments().concat(args); + let staticArgs = desc.staticArguments.concat(args); // arguments defined by service decorators let serviceDependencies = _util.getServiceDependencies(desc.ctor).sort((a, b) => a.index - b.index); @@ -117,9 +117,7 @@ export class InstantiationService implements IInstantiationService { argArray.push(...staticArgs); argArray.push(...serviceArgs); - const instance = create.apply(null, argArray); - desc._validate(instance); - return instance; + return create.apply(null, argArray); } private _getOrCreateServiceInstance(id: ServiceIdentifier): T {