Revert "Merge from vscode 81d7885dc2e9dc617e1522697a2966bc4025a45d (#5949)" (#5983)

This reverts commit d15a3fcc98.
This commit is contained in:
Karl Burtram
2019-06-11 12:35:58 -07:00
committed by GitHub
parent 95a50b7892
commit 5a7562a37b
926 changed files with 11394 additions and 19540 deletions

View File

@@ -6,7 +6,7 @@
import { CancellationToken, CancellationTokenSource } from 'vs/base/common/cancellation';
import * as errors from 'vs/base/common/errors';
import { Emitter, Event } from 'vs/base/common/event';
import { IDisposable, toDisposable } from 'vs/base/common/lifecycle';
import { Disposable, IDisposable, toDisposable } from 'vs/base/common/lifecycle';
import { URI } from 'vs/base/common/uri';
export function isThenable<T>(obj: any): obj is Promise<T> {
@@ -415,11 +415,11 @@ export class Limiter<T> {
this._onFinished = new Emitter<void>();
}
get onFinished(): Event<void> {
public get onFinished(): Event<void> {
return this._onFinished.event;
}
get size(): number {
public get size(): number {
return this._size;
// return this.runningPromises + this.outstandingPromises.length;
}
@@ -455,7 +455,7 @@ export class Limiter<T> {
}
}
dispose(): void {
public dispose(): void {
this._onFinished.dispose();
}
}
@@ -475,30 +475,35 @@ export class Queue<T> extends Limiter<T> {
* by disposing them once the queue is empty.
*/
export class ResourceQueue {
private queues: Map<string, Queue<void>> = new Map();
private queues: { [path: string]: Queue<void> };
queueFor(resource: URI): Queue<void> {
constructor() {
this.queues = Object.create(null);
}
public queueFor(resource: URI): Queue<void> {
const key = resource.toString();
if (!this.queues.has(key)) {
if (!this.queues[key]) {
const queue = new Queue<void>();
queue.onFinished(() => {
queue.dispose();
this.queues.delete(key);
delete this.queues[key];
});
this.queues.set(key, queue);
this.queues[key] = queue;
}
return this.queues.get(key)!;
return this.queues[key];
}
}
export class TimeoutTimer implements IDisposable {
export class TimeoutTimer extends Disposable {
private _token: any;
constructor();
constructor(runner: () => void, timeout: number);
constructor(runner?: () => void, timeout?: number) {
super();
this._token = -1;
if (typeof runner === 'function' && typeof timeout === 'number') {
@@ -508,6 +513,7 @@ export class TimeoutTimer implements IDisposable {
dispose(): void {
this.cancel();
super.dispose();
}
cancel(): void {
@@ -537,16 +543,18 @@ export class TimeoutTimer implements IDisposable {
}
}
export class IntervalTimer implements IDisposable {
export class IntervalTimer extends Disposable {
private _token: any;
constructor() {
super();
this._token = -1;
}
dispose(): void {
this.cancel();
super.dispose();
}
cancel(): void {