| Index: lib/runtime/dart/core.js
|
| diff --git a/lib/runtime/dart/core.js b/lib/runtime/dart/core.js
|
| index c1799ab4b0bf6d2b155f0da97a6e7ff26b82898c..eada4b50b2b1176ff322282bcb21586c082a68bf 100644
|
| --- a/lib/runtime/dart/core.js
|
| +++ b/lib/runtime/dart/core.js
|
| @@ -1023,6 +1023,7 @@ var core;
|
| return dart.as(values == null ? null : _js_helper.Primitives.getProperty(values, this[_getKey]()), T);
|
| }
|
| set(object, value) {
|
| + dart.as(value, T);
|
| let values = _js_helper.Primitives.getProperty(object, Expando._EXPANDO_PROPERTY_NAME);
|
| if (values == null) {
|
| values = new Object();
|
| @@ -1082,6 +1083,7 @@ var core;
|
| generate(count, generator) {
|
| if (generator === void 0)
|
| generator = null;
|
| + dart.as(generator, dart.functionType(E, [int]));
|
| if (dart.notNull(count) <= 0)
|
| return new (_internal.EmptyIterable$(E))();
|
| return new (exports._GeneratorIterable$(E))(count, generator);
|
| @@ -1259,18 +1261,22 @@ var core;
|
| List(length) {
|
| if (length === void 0)
|
| length = null;
|
| + let list = null;
|
| if (length == null) {
|
| - return dart.as([], List$(E));
|
| - }
|
| - if (!(typeof length == 'number') || dart.notNull(length) < 0) {
|
| - throw new ArgumentError(`Length must be a non-negative integer: ${length}`);
|
| + list = [];
|
| + } else {
|
| + if (!(typeof length == 'number') || dart.notNull(length) < 0) {
|
| + throw new ArgumentError(`Length must be a non-negative integer: ${length}`);
|
| + }
|
| + list = new Array(length);
|
| + list.fixed$length = Array;
|
| }
|
| - let list = new Array(length);
|
| - list.fixed$length = Array;
|
| + dart.setType(list, List$(E));
|
| return dart.as(list, List$(E));
|
| }
|
| filled(length, fill) {
|
| - let result = new _interceptors.JSArray$(E).fixed(length);
|
| + dart.as(fill, E);
|
| + let result = new (List$(E))(length);
|
| if (length != 0 && dart.notNull(fill != null)) {
|
| for (let i = 0; dart.notNull(i) < dart.notNull(result[$length]); i = dart.notNull(i) + 1) {
|
| result[$set](i, fill);
|
| @@ -1289,6 +1295,7 @@ var core;
|
| return dart.as(_internal.makeListFixedLength(list), List$(E));
|
| }
|
| generate(length, generator, opts) {
|
| + dart.as(generator, dart.functionType(E, [int]));
|
| let growable = opts && 'growable' in opts ? opts.growable : true;
|
| let result = null;
|
| if (growable) {
|
| @@ -1350,11 +1357,15 @@ var core;
|
| return _internal.IterableMixinWorkaround.fold(this, initialValue, combine);
|
| }
|
| [$firstWhere](test, opts) {
|
| + dart.as(test, dart.functionType(bool, [E]));
|
| let orElse = opts && 'orElse' in opts ? opts.orElse : null;
|
| + dart.as(orElse, dart.functionType(E, []));
|
| return dart.as(_internal.IterableMixinWorkaround.firstWhere(this, test, orElse), E);
|
| }
|
| [$lastWhere](test, opts) {
|
| + dart.as(test, dart.functionType(bool, [E]));
|
| let orElse = opts && 'orElse' in opts ? opts.orElse : null;
|
| + dart.as(orElse, dart.functionType(E, []));
|
| return dart.as(_internal.IterableMixinWorkaround.lastWhereList(this, test, orElse), E);
|
| }
|
| [$singleWhere](test) {
|
| @@ -1389,6 +1400,7 @@ var core;
|
| [$sort](compare) {
|
| if (compare === void 0)
|
| compare = null;
|
| + dart.as(compare, dart.functionType(int, [E, E]));
|
| this[$checkMutable]('sort');
|
| _internal.IterableMixinWorkaround.sortList(this, compare);
|
| }
|
| @@ -1433,6 +1445,7 @@ var core;
|
| return dart.as(this[index], E);
|
| }
|
| [$set](index, value) {
|
| + dart.as(value, E);
|
| this[$checkMutable]('indexed set');
|
| if (!(typeof index == 'number'))
|
| throw new ArgumentError(index);
|
| @@ -1452,6 +1465,7 @@ var core;
|
| this.length = newLength;
|
| }
|
| [$add](value) {
|
| + dart.as(value, E);
|
| this[$checkGrowable]('add');
|
| this.push(value);
|
| }
|
| @@ -1466,6 +1480,7 @@ var core;
|
| [$sort](compare) {
|
| if (compare === void 0)
|
| compare = null;
|
| + dart.as(compare, dart.functionType(int, [E, E]));
|
| _internal.IterableMixinWorkaround.sortList(this, compare);
|
| }
|
| [$shuffle](random) {
|
| @@ -1474,11 +1489,13 @@ var core;
|
| _internal.IterableMixinWorkaround.shuffleList(this, random);
|
| }
|
| [$indexOf](element, start) {
|
| + dart.as(element, E);
|
| if (start === void 0)
|
| start = 0;
|
| return _internal.IterableMixinWorkaround.indexOfList(this, element, start);
|
| }
|
| [$lastIndexOf](element, start) {
|
| + dart.as(element, E);
|
| if (start === void 0)
|
| start = null;
|
| return _internal.IterableMixinWorkaround.lastIndexOfList(this, element, start);
|
| @@ -1487,6 +1504,7 @@ var core;
|
| this[$length] = 0;
|
| }
|
| [$insert](index, element) {
|
| + dart.as(element, E);
|
| if (!(typeof index == 'number'))
|
| throw new ArgumentError(index);
|
| if (dart.notNull(index) < 0 || dart.notNull(index) > dart.notNull(this[$length])) {
|
| @@ -1560,6 +1578,7 @@ var core;
|
| return new (_internal.IterableMixinWorkaround$(E))().getRangeList(this, start, end);
|
| }
|
| [$setRange](start, end, iterable, skipCount) {
|
| + dart.as(iterable, Iterable$(E));
|
| if (skipCount === void 0)
|
| skipCount = 0;
|
| this[$checkMutable]('set range');
|
| @@ -1580,6 +1599,7 @@ var core;
|
| [$fillRange](start, end, fillValue) {
|
| if (fillValue === void 0)
|
| fillValue = null;
|
| + dart.as(fillValue, E);
|
| this[$checkMutable]('fill range');
|
| _internal.IterableMixinWorkaround.fillRangeList(this, start, end, fillValue);
|
| }
|
| @@ -1591,6 +1611,7 @@ var core;
|
| return new (_internal.IterableMixinWorkaround$(E))().asMapList(this);
|
| }
|
| }
|
| + dart.setBaseClass(List, dart.global.Array);
|
| List[dart.implements] = () => [Iterable$(E), _internal.EfficientLength];
|
| dart.defineNamedConstructor(List, 'filled');
|
| dart.defineNamedConstructor(List, 'from');
|
|
|