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() { |