| Index: lib/runtime/dart/_internal.js
|
| diff --git a/lib/runtime/dart/_internal.js b/lib/runtime/dart/_internal.js
|
| index 8884b3a8160e29721873af07bcbc75ffa935528b..25e7af322894b349a33a7cc08f48c10174b62234 100644
|
| --- a/lib/runtime/dart/_internal.js
|
| +++ b/lib/runtime/dart/_internal.js
|
| @@ -11,6 +11,7 @@ var _internal;
|
| return new (ListIterator$(E))(this);
|
| }
|
| [core.$forEach](action) {
|
| + dart.as(action, dart.functionType(dart.void, [E]));
|
| let length = this[core.$length];
|
| for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i) + 1) {
|
| action(this[core.$elementAt](i));
|
| @@ -51,6 +52,7 @@ var _internal;
|
| return false;
|
| }
|
| [core.$every](test) {
|
| + dart.as(test, dart.functionType(core.bool, [E]));
|
| let length = this[core.$length];
|
| for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i) + 1) {
|
| if (!dart.notNull(test(this[core.$elementAt](i))))
|
| @@ -62,6 +64,7 @@ var _internal;
|
| return true;
|
| }
|
| [core.$any](test) {
|
| + dart.as(test, dart.functionType(core.bool, [E]));
|
| let length = this[core.$length];
|
| for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i) + 1) {
|
| if (test(this[core.$elementAt](i)))
|
| @@ -73,7 +76,9 @@ var _internal;
|
| return false;
|
| }
|
| [core.$firstWhere](test, opts) {
|
| + dart.as(test, dart.functionType(core.bool, [E]));
|
| let orElse = opts && 'orElse' in opts ? opts.orElse : null;
|
| + dart.as(orElse, dart.functionType(E, []));
|
| let length = this[core.$length];
|
| for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i) + 1) {
|
| let element = this[core.$elementAt](i);
|
| @@ -88,7 +93,9 @@ var _internal;
|
| throw IterableElementError.noElement();
|
| }
|
| [core.$lastWhere](test, opts) {
|
| + dart.as(test, dart.functionType(core.bool, [E]));
|
| let orElse = opts && 'orElse' in opts ? opts.orElse : null;
|
| + dart.as(orElse, dart.functionType(E, []));
|
| let length = this[core.$length];
|
| for (let i = dart.notNull(length) - 1; dart.notNull(i) >= 0; i = dart.notNull(i) - 1) {
|
| let element = this[core.$elementAt](i);
|
| @@ -103,6 +110,7 @@ var _internal;
|
| throw IterableElementError.noElement();
|
| }
|
| [core.$singleWhere](test) {
|
| + dart.as(test, dart.functionType(core.bool, [E]));
|
| let length = this[core.$length];
|
| let match = null;
|
| let matchFound = false;
|
| @@ -155,12 +163,15 @@ var _internal;
|
| }
|
| }
|
| [core.$where](test) {
|
| + dart.as(test, dart.functionType(core.bool, [E]));
|
| return super[core.$where](test);
|
| }
|
| [core.$map](f) {
|
| + dart.as(f, dart.functionType(dart.dynamic, [E]));
|
| return new MappedListIterable(this, f);
|
| }
|
| [core.$reduce](combine) {
|
| + dart.as(combine, dart.functionType(E, [dart.dynamic, E]));
|
| let length = this[core.$length];
|
| if (length == 0)
|
| throw IterableElementError.noElement();
|
| @@ -174,6 +185,7 @@ var _internal;
|
| return value;
|
| }
|
| [core.$fold](initialValue, combine) {
|
| + dart.as(combine, dart.functionType(dart.dynamic, [dart.dynamic, E]));
|
| let value = initialValue;
|
| let length = this[core.$length];
|
| for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i) + 1) {
|
| @@ -188,12 +200,14 @@ var _internal;
|
| return new (SubListIterable$(E))(this, count, null);
|
| }
|
| [core.$skipWhile](test) {
|
| + dart.as(test, dart.functionType(core.bool, [E]));
|
| return super[core.$skipWhile](test);
|
| }
|
| [core.$take](count) {
|
| return new (SubListIterable$(E))(this, 0, count);
|
| }
|
| [core.$takeWhile](test) {
|
| + dart.as(test, dart.functionType(core.bool, [E]));
|
| return super[core.$takeWhile](test);
|
| }
|
| [core.$toList](opts) {
|
| @@ -759,7 +773,9 @@ var _internal;
|
| get [core.$iterator]() {
|
| return dart.const(new (EmptyIterator$(E))());
|
| }
|
| - [core.$forEach](action) {}
|
| + [core.$forEach](action) {
|
| + dart.as(action, dart.functionType(dart.void, [E]));
|
| + }
|
| get [core.$isEmpty]() {
|
| return true;
|
| }
|
| @@ -782,25 +798,33 @@ var _internal;
|
| return false;
|
| }
|
| [core.$every](test) {
|
| + dart.as(test, dart.functionType(core.bool, [E]));
|
| return true;
|
| }
|
| [core.$any](test) {
|
| + dart.as(test, dart.functionType(core.bool, [E]));
|
| return false;
|
| }
|
| [core.$firstWhere](test, opts) {
|
| + dart.as(test, dart.functionType(core.bool, [E]));
|
| let orElse = opts && 'orElse' in opts ? opts.orElse : null;
|
| + dart.as(orElse, dart.functionType(E, []));
|
| if (orElse != null)
|
| return orElse();
|
| throw IterableElementError.noElement();
|
| }
|
| [core.$lastWhere](test, opts) {
|
| + dart.as(test, dart.functionType(core.bool, [E]));
|
| let orElse = opts && 'orElse' in opts ? opts.orElse : null;
|
| + dart.as(orElse, dart.functionType(E, []));
|
| if (orElse != null)
|
| return orElse();
|
| throw IterableElementError.noElement();
|
| }
|
| [core.$singleWhere](test, opts) {
|
| + dart.as(test, dart.functionType(core.bool, [E]));
|
| let orElse = opts && 'orElse' in opts ? opts.orElse : null;
|
| + dart.as(orElse, dart.functionType(E, []));
|
| if (orElse != null)
|
| return orElse();
|
| throw IterableElementError.noElement();
|
| @@ -811,15 +835,19 @@ var _internal;
|
| return "";
|
| }
|
| [core.$where](test) {
|
| + dart.as(test, dart.functionType(core.bool, [E]));
|
| return this;
|
| }
|
| [core.$map](f) {
|
| + dart.as(f, dart.functionType(dart.dynamic, [E]));
|
| return dart.const(new EmptyIterable());
|
| }
|
| [core.$reduce](combine) {
|
| + dart.as(combine, dart.functionType(E, [E, E]));
|
| throw IterableElementError.noElement();
|
| }
|
| [core.$fold](initialValue, combine) {
|
| + dart.as(combine, dart.functionType(dart.dynamic, [dart.dynamic, E]));
|
| return initialValue;
|
| }
|
| [core.$skip](count) {
|
| @@ -827,6 +855,7 @@ var _internal;
|
| return this;
|
| }
|
| [core.$skipWhile](test) {
|
| + dart.as(test, dart.functionType(core.bool, [E]));
|
| return this;
|
| }
|
| [core.$take](count) {
|
| @@ -834,6 +863,7 @@ var _internal;
|
| return this;
|
| }
|
| [core.$takeWhile](test) {
|
| + dart.as(test, dart.functionType(core.bool, [E]));
|
| return this;
|
| }
|
| [core.$toList](opts) {
|
| @@ -879,11 +909,13 @@ var _internal;
|
| return false;
|
| }
|
| static forEach(iterable, f) {
|
| + dart.as(f, dart.functionType(dart.void, [dart.dynamic]));
|
| for (let e of iterable) {
|
| dart.dcall(f, e);
|
| }
|
| }
|
| static any(iterable, f) {
|
| + dart.as(f, dart.functionType(core.bool, [dart.dynamic]));
|
| for (let e of iterable) {
|
| if (dart.dcall(f, e))
|
| return true;
|
| @@ -891,6 +923,7 @@ var _internal;
|
| return false;
|
| }
|
| static every(iterable, f) {
|
| + dart.as(f, dart.functionType(core.bool, [dart.dynamic]));
|
| for (let e of iterable) {
|
| if (!dart.notNull(dart.dcall(f, e)))
|
| return false;
|
| @@ -898,6 +931,7 @@ var _internal;
|
| return true;
|
| }
|
| static reduce(iterable, combine) {
|
| + dart.as(combine, dart.functionType(dart.dynamic, [dart.dynamic, dart.dynamic]));
|
| let iterator = iterable[core.$iterator];
|
| if (!dart.notNull(iterator.moveNext()))
|
| throw IterableElementError.noElement();
|
| @@ -908,12 +942,14 @@ var _internal;
|
| return value;
|
| }
|
| static fold(iterable, initialValue, combine) {
|
| + dart.as(combine, dart.functionType(dart.dynamic, [dart.dynamic, dart.dynamic]));
|
| for (let element of iterable) {
|
| initialValue = dart.dcall(combine, initialValue, element);
|
| }
|
| return initialValue;
|
| }
|
| static removeWhereList(list, test) {
|
| + dart.as(test, dart.functionType(core.bool, [dart.dynamic]));
|
| let retained = [];
|
| let length = list[core.$length];
|
| for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i) + 1) {
|
| @@ -963,6 +999,8 @@ var _internal;
|
| return result;
|
| }
|
| static firstWhere(iterable, test, orElse) {
|
| + dart.as(test, dart.functionType(core.bool, [dart.dynamic]));
|
| + dart.as(orElse, dart.functionType(dart.dynamic, []));
|
| for (let element of iterable) {
|
| if (dart.dcall(test, element))
|
| return element;
|
| @@ -972,6 +1010,8 @@ var _internal;
|
| throw IterableElementError.noElement();
|
| }
|
| static lastWhere(iterable, test, orElse) {
|
| + dart.as(test, dart.functionType(core.bool, [dart.dynamic]));
|
| + dart.as(orElse, dart.functionType(dart.dynamic, []));
|
| let result = null;
|
| let foundMatching = false;
|
| for (let element of iterable) {
|
| @@ -987,6 +1027,8 @@ var _internal;
|
| throw IterableElementError.noElement();
|
| }
|
| static lastWhereList(list, test, orElse) {
|
| + dart.as(test, dart.functionType(core.bool, [dart.dynamic]));
|
| + dart.as(orElse, dart.functionType(dart.dynamic, []));
|
| for (let i = dart.notNull(list[core.$length]) - 1; dart.notNull(i) >= 0; i = dart.notNull(i) - 1) {
|
| let element = list[core.$get](i);
|
| if (dart.dcall(test, element))
|
| @@ -997,6 +1039,7 @@ var _internal;
|
| throw IterableElementError.noElement();
|
| }
|
| static singleWhere(iterable, test) {
|
| + dart.as(test, dart.functionType(core.bool, [dart.dynamic]));
|
| let result = null;
|
| let foundMatching = false;
|
| for (let element of iterable) {
|
| @@ -1053,33 +1096,40 @@ var _internal;
|
| return dart.toString(buffer);
|
| }
|
| where(iterable, f) {
|
| + dart.as(f, dart.functionType(core.bool, [dart.dynamic]));
|
| return new (WhereIterable$(T))(dart.as(iterable, core.Iterable$(T)), dart.as(f, __CastType6));
|
| }
|
| static map(iterable, f) {
|
| + dart.as(f, dart.functionType(dart.dynamic, [dart.dynamic]));
|
| return new MappedIterable(iterable, f);
|
| }
|
| static mapList(list, f) {
|
| + dart.as(f, dart.functionType(dart.dynamic, [dart.dynamic]));
|
| return new MappedListIterable(list, f);
|
| }
|
| static expand(iterable, f) {
|
| + dart.as(f, dart.functionType(core.Iterable, [dart.dynamic]));
|
| return new ExpandIterable(iterable, f);
|
| }
|
| takeList(list, n) {
|
| return new (SubListIterable$(T))(dart.as(list, core.Iterable$(T)), 0, n);
|
| }
|
| takeWhile(iterable, test) {
|
| + dart.as(test, dart.functionType(core.bool, [dart.dynamic]));
|
| return new (TakeWhileIterable$(T))(dart.as(iterable, core.Iterable$(T)), dart.as(test, dart.functionType(core.bool, [T])));
|
| }
|
| skipList(list, n) {
|
| return new (SubListIterable$(T))(dart.as(list, core.Iterable$(T)), n, null);
|
| }
|
| skipWhile(iterable, test) {
|
| + dart.as(test, dart.functionType(core.bool, [dart.dynamic]));
|
| return new (SkipWhileIterable$(T))(dart.as(iterable, core.Iterable$(T)), dart.as(test, dart.functionType(core.bool, [T])));
|
| }
|
| reversedList(list) {
|
| return new (ReversedListIterable$(T))(dart.as(list, core.Iterable$(T)));
|
| }
|
| static sortList(list, compare) {
|
| + dart.as(compare, dart.functionType(core.int, [dart.dynamic, dart.dynamic]));
|
| if (compare == null)
|
| compare = dart.bind(core.Comparable, 'compare');
|
| Sort.sort(list, compare);
|
| @@ -1270,24 +1320,30 @@ var _internal;
|
| throw new core.UnsupportedError("Cannot change the length of a fixed-length list");
|
| }
|
| add(value) {
|
| + dart.as(value, E);
|
| throw new core.UnsupportedError("Cannot add to a fixed-length list");
|
| }
|
| insert(index, value) {
|
| + dart.as(value, E);
|
| throw new core.UnsupportedError("Cannot add to a fixed-length list");
|
| }
|
| insertAll(at, iterable) {
|
| + dart.as(iterable, core.Iterable$(E));
|
| throw new core.UnsupportedError("Cannot add to a fixed-length list");
|
| }
|
| addAll(iterable) {
|
| + dart.as(iterable, core.Iterable$(E));
|
| throw new core.UnsupportedError("Cannot add to a fixed-length list");
|
| }
|
| remove(element) {
|
| throw new core.UnsupportedError("Cannot remove from a fixed-length list");
|
| }
|
| removeWhere(test) {
|
| + dart.as(test, dart.functionType(core.bool, [E]));
|
| throw new core.UnsupportedError("Cannot remove from a fixed-length list");
|
| }
|
| retainWhere(test) {
|
| + dart.as(test, dart.functionType(core.bool, [E]));
|
| throw new core.UnsupportedError("Cannot remove from a fixed-length list");
|
| }
|
| clear() {
|
| @@ -1303,6 +1359,7 @@ var _internal;
|
| throw new core.UnsupportedError("Cannot remove from a fixed-length list");
|
| }
|
| replaceRange(start, end, iterable) {
|
| + dart.as(iterable, core.Iterable$(E));
|
| throw new core.UnsupportedError("Cannot remove from a fixed-length list");
|
| }
|
| }
|
| @@ -1312,38 +1369,47 @@ var _internal;
|
| let UnmodifiableListMixin$ = dart.generic(function(E) {
|
| class UnmodifiableListMixin extends core.Object {
|
| [core.$set](index, value) {
|
| + dart.as(value, E);
|
| throw new core.UnsupportedError("Cannot modify an unmodifiable list");
|
| }
|
| set [core.$length](newLength) {
|
| throw new core.UnsupportedError("Cannot change the length of an unmodifiable list");
|
| }
|
| [core.$setAll](at, iterable) {
|
| + dart.as(iterable, core.Iterable$(E));
|
| throw new core.UnsupportedError("Cannot modify an unmodifiable list");
|
| }
|
| [core.$add](value) {
|
| + dart.as(value, E);
|
| throw new core.UnsupportedError("Cannot add to an unmodifiable list");
|
| }
|
| [core.$insert](index, value) {
|
| + dart.as(value, E);
|
| throw new core.UnsupportedError("Cannot add to an unmodifiable list");
|
| }
|
| [core.$insertAll](at, iterable) {
|
| + dart.as(iterable, core.Iterable$(E));
|
| throw new core.UnsupportedError("Cannot add to an unmodifiable list");
|
| }
|
| [core.$addAll](iterable) {
|
| + dart.as(iterable, core.Iterable$(E));
|
| throw new core.UnsupportedError("Cannot add to an unmodifiable list");
|
| }
|
| [core.$remove](element) {
|
| throw new core.UnsupportedError("Cannot remove from an unmodifiable list");
|
| }
|
| [core.$removeWhere](test) {
|
| + dart.as(test, dart.functionType(core.bool, [E]));
|
| throw new core.UnsupportedError("Cannot remove from an unmodifiable list");
|
| }
|
| [core.$retainWhere](test) {
|
| + dart.as(test, dart.functionType(core.bool, [E]));
|
| throw new core.UnsupportedError("Cannot remove from an unmodifiable list");
|
| }
|
| [core.$sort](compare) {
|
| if (compare === void 0)
|
| compare = null;
|
| + dart.as(compare, core.Comparator$(E));
|
| throw new core.UnsupportedError("Cannot modify an unmodifiable list");
|
| }
|
| [core.$shuffle](random) {
|
| @@ -1361,6 +1427,7 @@ var _internal;
|
| throw new core.UnsupportedError("Cannot remove from an unmodifiable list");
|
| }
|
| [core.$setRange](start, end, iterable, skipCount) {
|
| + dart.as(iterable, core.Iterable$(E));
|
| if (skipCount === void 0)
|
| skipCount = 0;
|
| throw new core.UnsupportedError("Cannot modify an unmodifiable list");
|
| @@ -1369,11 +1436,13 @@ var _internal;
|
| throw new core.UnsupportedError("Cannot remove from an unmodifiable list");
|
| }
|
| [core.$replaceRange](start, end, iterable) {
|
| + dart.as(iterable, core.Iterable$(E));
|
| throw new core.UnsupportedError("Cannot remove from an unmodifiable list");
|
| }
|
| [core.$fillRange](start, end, fillValue) {
|
| if (fillValue === void 0)
|
| fillValue = null;
|
| + dart.as(fillValue, E);
|
| throw new core.UnsupportedError("Cannot modify an unmodifiable list");
|
| }
|
| }
|
| @@ -1436,6 +1505,7 @@ var _internal;
|
| return typeof key == 'number' && dart.notNull(key) >= 0 && dart.notNull(key) < dart.notNull(this.length);
|
| }
|
| forEach(f) {
|
| + dart.as(f, dart.functionType(dart.void, [core.int, E]));
|
| let length = this[_values][core.$length];
|
| for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i) + 1) {
|
| f(i, this[_values][core.$get](i));
|
| @@ -1445,9 +1515,11 @@ var _internal;
|
| }
|
| }
|
| set(key, value) {
|
| + dart.as(value, E);
|
| throw new core.UnsupportedError("Cannot modify an unmodifiable map");
|
| }
|
| putIfAbsent(key, ifAbsent) {
|
| + dart.as(ifAbsent, dart.functionType(E, []));
|
| throw new core.UnsupportedError("Cannot modify an unmodifiable map");
|
| }
|
| remove(key) {
|
| @@ -1457,6 +1529,7 @@ var _internal;
|
| throw new core.UnsupportedError("Cannot modify an unmodifiable map");
|
| }
|
| addAll(other) {
|
| + dart.as(other, core.Map$(core.int, E));
|
| throw new core.UnsupportedError("Cannot modify an unmodifiable map");
|
| }
|
| toString() {
|
|
|