mirror of
https://github.com/Microsoft/vscode
synced 2024-08-27 13:00:58 +00:00
Remove most SyncDescriptorN forms (#141976)
* Remove most SyncDescriptorX forms From what I can tell, `SyncDescriptor0` is the only one of these types still being used. In order to speed up TS's type checking around `createInstance`, I think it makes sense to remove the unused forms * Remove `SyncDescriptorN` from tree shaker usages Co-authored-by: Alex Dima <alexdima@microsoft.com>
This commit is contained in:
parent
1b0574e02c
commit
356d29fbf1
|
@ -4,7 +4,7 @@
|
|||
import { ServiceIdentifier } from './vs/platform/instantiation/common/instantiation';
|
||||
import { create as create1 } from './vs/base/common/worker/simpleWorker';
|
||||
import { create as create2 } from './vs/editor/common/services/editorSimpleWorker';
|
||||
import { SyncDescriptor0, SyncDescriptor1, SyncDescriptor2, SyncDescriptor3, SyncDescriptor4, SyncDescriptor5, SyncDescriptor6, SyncDescriptor7, SyncDescriptor8 } from './vs/platform/instantiation/common/descriptors';
|
||||
import { SyncDescriptor0 } from './vs/platform/instantiation/common/descriptors';
|
||||
import * as editorAPI from './vs/editor/editor.api';
|
||||
|
||||
(function () {
|
||||
|
@ -16,25 +16,6 @@ import * as editorAPI from './vs/editor/editor.api';
|
|||
|
||||
// injection madness
|
||||
a = (<SyncDescriptor0<any>>b).ctor;
|
||||
a = (<SyncDescriptor0<any>>b).bind;
|
||||
a = (<SyncDescriptor1<any, any>>b).ctor;
|
||||
a = (<SyncDescriptor1<any, any>>b).bind;
|
||||
a = (<SyncDescriptor1<any, any>>b).ctor;
|
||||
a = (<SyncDescriptor1<any, any>>b).bind;
|
||||
a = (<SyncDescriptor2<any, any, any>>b).ctor;
|
||||
a = (<SyncDescriptor2<any, any, any>>b).bind;
|
||||
a = (<SyncDescriptor3<any, any, any, any>>b).ctor;
|
||||
a = (<SyncDescriptor3<any, any, any, any>>b).bind;
|
||||
a = (<SyncDescriptor4<any, any, any, any, any>>b).ctor;
|
||||
a = (<SyncDescriptor4<any, any, any, any, any>>b).bind;
|
||||
a = (<SyncDescriptor5<any, any, any, any, any, any>>b).ctor;
|
||||
a = (<SyncDescriptor5<any, any, any, any, any, any>>b).bind;
|
||||
a = (<SyncDescriptor6<any, any, any, any, any, any, any>>b).ctor;
|
||||
a = (<SyncDescriptor6<any, any, any, any, any, any, any>>b).bind;
|
||||
a = (<SyncDescriptor7<any, any, any, any, any, any, any, any>>b).ctor;
|
||||
a = (<SyncDescriptor7<any, any, any, any, any, any, any, any>>b).bind;
|
||||
a = (<SyncDescriptor8<any, any, any, any, any, any, any, any, any>>b).ctor;
|
||||
a = (<SyncDescriptor8<any, any, any, any, any, any, any, any, any>>b).bind;
|
||||
|
||||
// exported API
|
||||
a = editorAPI.CancellationTokenSource;
|
||||
|
|
|
@ -484,7 +484,7 @@ export class SyncActionDescriptor {
|
|||
this._keybindings = keybindings;
|
||||
this._keybindingContext = keybindingContext;
|
||||
this._keybindingWeight = keybindingWeight;
|
||||
this._descriptor = new SyncDescriptor(ctor, [this._id, this._label]) as unknown as SyncDescriptor0<Action>;
|
||||
this._descriptor = new SyncDescriptor(ctor, [this._id, this._label]);
|
||||
}
|
||||
|
||||
public get syncDescriptor(): SyncDescriptor0<Action> {
|
||||
|
|
|
@ -17,66 +17,5 @@ export class SyncDescriptor<T> {
|
|||
}
|
||||
|
||||
export interface SyncDescriptor0<T> {
|
||||
ctor: any;
|
||||
bind(): SyncDescriptor0<T>;
|
||||
}
|
||||
export interface SyncDescriptor1<A1, T> {
|
||||
ctor: any;
|
||||
bind(a1: A1): SyncDescriptor0<T>;
|
||||
}
|
||||
export interface SyncDescriptor2<A1, A2, T> {
|
||||
ctor: any;
|
||||
bind(a1: A1): SyncDescriptor1<A2, T>;
|
||||
bind(a1: A1, a2: A2): SyncDescriptor0<T>;
|
||||
}
|
||||
export interface SyncDescriptor3<A1, A2, A3, T> {
|
||||
ctor: any;
|
||||
bind(a1: A1): SyncDescriptor2<A2, A3, T>;
|
||||
bind(a1: A1, a2: A2): SyncDescriptor1<A3, T>;
|
||||
bind(a1: A1, a2: A2, a3: A3): SyncDescriptor0<T>;
|
||||
}
|
||||
export interface SyncDescriptor4<A1, A2, A3, A4, T> {
|
||||
ctor: any;
|
||||
bind(a1: A1): SyncDescriptor3<A2, A3, A4, T>;
|
||||
bind(a1: A1, a2: A2): SyncDescriptor2<A3, A4, T>;
|
||||
bind(a1: A1, a2: A2, a3: A3): SyncDescriptor1<A4, T>;
|
||||
bind(a1: A1, a2: A2, a3: A3, a4: A4): SyncDescriptor0<T>;
|
||||
}
|
||||
export interface SyncDescriptor5<A1, A2, A3, A4, A5, T> {
|
||||
ctor: any;
|
||||
bind(a1: A1): SyncDescriptor4<A2, A3, A4, A5, T>;
|
||||
bind(a1: A1, a2: A2): SyncDescriptor3<A3, A4, A5, T>;
|
||||
bind(a1: A1, a2: A2, a3: A3): SyncDescriptor2<A4, A5, T>;
|
||||
bind(a1: A1, a2: A2, a3: A3, a4: A4): SyncDescriptor1<A5, T>;
|
||||
bind(a1: A1, a2: A2, a3: A3, a4: A4, a5: A5): SyncDescriptor0<T>;
|
||||
}
|
||||
export interface SyncDescriptor6<A1, A2, A3, A4, A5, A6, T> {
|
||||
ctor: any;
|
||||
bind(a1: A1): SyncDescriptor5<A2, A3, A4, A5, A6, T>;
|
||||
bind(a1: A1, a2: A2): SyncDescriptor4<A3, A4, A5, A6, T>;
|
||||
bind(a1: A1, a2: A2, a3: A3): SyncDescriptor3<A4, A5, A6, T>;
|
||||
bind(a1: A1, a2: A2, a3: A3, a4: A4): SyncDescriptor2<A5, A6, T>;
|
||||
bind(a1: A1, a2: A2, a3: A3, a4: A4, a5: A5): SyncDescriptor1<A6, T>;
|
||||
bind(a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6): SyncDescriptor0<T>;
|
||||
}
|
||||
export interface SyncDescriptor7<A1, A2, A3, A4, A5, A6, A7, T> {
|
||||
ctor: any;
|
||||
bind(a1: A1): SyncDescriptor6<A2, A3, A4, A5, A6, A7, T>;
|
||||
bind(a1: A1, a2: A2): SyncDescriptor5<A3, A4, A5, A6, A7, T>;
|
||||
bind(a1: A1, a2: A2, a3: A3): SyncDescriptor4<A4, A5, A6, A7, T>;
|
||||
bind(a1: A1, a2: A2, a3: A3, a4: A4): SyncDescriptor3<A5, A6, A7, T>;
|
||||
bind(a1: A1, a2: A2, a3: A3, a4: A4, a5: A5): SyncDescriptor2<A6, A7, T>;
|
||||
bind(a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6): SyncDescriptor1<A7, T>;
|
||||
bind(a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7): SyncDescriptor0<T>;
|
||||
}
|
||||
export interface SyncDescriptor8<A1, A2, A3, A4, A5, A6, A7, A8, T> {
|
||||
ctor: any;
|
||||
bind(a1: A1): SyncDescriptor7<A2, A3, A4, A5, A6, A7, A8, T>;
|
||||
bind(a1: A1, a2: A2): SyncDescriptor6<A3, A4, A5, A6, A7, A8, T>;
|
||||
bind(a1: A1, a2: A2, a3: A3): SyncDescriptor5<A4, A5, A6, A7, A8, T>;
|
||||
bind(a1: A1, a2: A2, a3: A3, a4: A4): SyncDescriptor4<A5, A6, A7, A8, T>;
|
||||
bind(a1: A1, a2: A2, a3: A3, a4: A4, a5: A5): SyncDescriptor3<A6, A7, A8, T>;
|
||||
bind(a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6): SyncDescriptor2<A7, A8, T>;
|
||||
bind(a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7): SyncDescriptor1<A8, T>;
|
||||
bind(a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8): SyncDescriptor0<T>;
|
||||
readonly ctor: new () => T;
|
||||
}
|
||||
|
|
|
@ -53,15 +53,6 @@ export interface IInstantiationService {
|
|||
* the descriptor
|
||||
*/
|
||||
createInstance<T>(descriptor: descriptors.SyncDescriptor0<T>): T;
|
||||
createInstance<A1, T>(descriptor: descriptors.SyncDescriptor1<A1, T>, a1: A1): T;
|
||||
createInstance<A1, A2, T>(descriptor: descriptors.SyncDescriptor2<A1, A2, T>, a1: A1, a2: A2): T;
|
||||
createInstance<A1, A2, A3, T>(descriptor: descriptors.SyncDescriptor3<A1, A2, A3, T>, a1: A1, a2: A2, a3: A3): T;
|
||||
createInstance<A1, A2, A3, A4, T>(descriptor: descriptors.SyncDescriptor4<A1, A2, A3, A4, T>, a1: A1, a2: A2, a3: A3, a4: A4): T;
|
||||
createInstance<A1, A2, A3, A4, A5, T>(descriptor: descriptors.SyncDescriptor5<A1, A2, A3, A4, A5, T>, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5): T;
|
||||
createInstance<A1, A2, A3, A4, A5, A6, T>(descriptor: descriptors.SyncDescriptor6<A1, A2, A3, A4, A5, A6, T>, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6): T;
|
||||
createInstance<A1, A2, A3, A4, A5, A6, A7, T>(descriptor: descriptors.SyncDescriptor7<A1, A2, A3, A4, A5, A6, A7, T>, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7): T;
|
||||
createInstance<A1, A2, A3, A4, A5, A6, A7, A8, T>(descriptor: descriptors.SyncDescriptor8<A1, A2, A3, A4, A5, A6, A7, A8, T>, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8): T;
|
||||
|
||||
createInstance<Ctor extends new (...args: any[]) => any, R extends InstanceType<Ctor>>(t: Ctor, ...args: GetLeadingNonServiceArgs<ConstructorParameters<Ctor>>): R;
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue