Merge from vscode cfc1ab4c5f816765b91fb7ead3c3427a7c8581a3

This commit is contained in:
ADS Merger
2020-03-11 04:19:23 +00:00
parent 16fab722d5
commit 4c3e48773d
880 changed files with 20441 additions and 11232 deletions

View File

@@ -3,8 +3,6 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { Iterator, IteratorResult, FIN } from 'vs/base/common/iterator';
class Node<E> {
static readonly Undefined = new Node<any>(undefined);
@@ -126,24 +124,12 @@ export class LinkedList<E> {
this._size -= 1;
}
iterator(): Iterator<E> {
let element: { done: false; value: E; };
*[Symbol.iterator](): Iterator<E> {
let node = this._first;
return {
next(): IteratorResult<E> {
if (node === Node.Undefined) {
return FIN;
}
if (!element) {
element = { done: false, value: node.element };
} else {
element.value = node.element;
}
node = node.next;
return element;
}
};
while (node !== Node.Undefined) {
yield node.element;
node = node.next;
}
}
toArray(): E[] {