117
createInstance<Ctor extends new (...args: any[]) => unknown, R extends InstanceType<Ctor>>(ctor: Ctor, ...args: GetLeadingNonServiceArgs<ConstructorParameters<Ctor>>): R;
118
createInstance(ctorOrDescriptor: any | SyncDescriptor<any>, ...rest: unknown[]): unknown {
120
>
121
>
let _trace: Trace;
122
>
let result: unknown;
123
>
if (ctorOrDescriptor instanceof SyncDescriptor) {
124
_trace = Trace.traceCreation(this._enableTracing, ctorOrDescriptor.ctor);
125
result = this._createInstance(ctorOrDescriptor.ctor, ctorOrDescriptor.staticArguments.concat(rest), _trace);
127
>
_trace = Trace.traceCreation(this._enableTracing, ctorOrDescriptor);
128
>
result = this._createInstance(ctorOrDescriptor, rest, _trace);
129
>
}
130
>
_trace.stop();
131
>
return result;
132
>
}
133
134
private _createInstance<T>(ctor: any, args: unknown[] = [], _trace: Trace): T {