Index: lib/runtime/dart/collection.js |
diff --git a/lib/runtime/dart/collection.js b/lib/runtime/dart/collection.js |
index fb349ba24347530099bf6ad4f1f96d0c7972340e..a54af9a2a5921508dd11435d66c65d38748b9e73 100644 |
--- a/lib/runtime/dart/collection.js |
+++ b/lib/runtime/dart/collection.js |
@@ -119,6 +119,7 @@ var collection; |
this.removeAll(this[core.$toList]()); |
} |
addAll(elements) { |
+ dart.as(elements, core.Iterable$(E)); |
for (let element of elements) |
this.add(element); |
} |
@@ -134,6 +135,7 @@ var collection; |
this.removeAll(toRemove); |
} |
removeWhere(test) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
let toRemove = []; |
for (let element of this) { |
if (test(element)) |
@@ -142,6 +144,7 @@ var collection; |
this.removeAll(toRemove); |
} |
retainWhere(test) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
let toRemove = []; |
for (let element of this) { |
if (!dart.notNull(test(element))) |
@@ -157,6 +160,7 @@ var collection; |
return true; |
} |
union(other) { |
+ dart.as(other, core.Set$(E)); |
let _ = this[core.$toSet](); |
_.addAll(other); |
return _; |
@@ -194,6 +198,7 @@ var collection; |
return result; |
} |
[core.$map](f) { |
+ dart.as(f, dart.functionType(dart.dynamic, [E])); |
return new (_internal.EfficientLengthMappedIterable$(E, dart.dynamic))(this, f); |
} |
get [core.$single]() { |
@@ -209,16 +214,20 @@ var collection; |
return IterableBase.iterableToFullString(this, '{', '}'); |
} |
[core.$where](f) { |
+ dart.as(f, dart.functionType(core.bool, [E])); |
return new (_internal.WhereIterable$(E))(this, f); |
} |
[core.$expand](f) { |
+ dart.as(f, dart.functionType(core.Iterable, [E])); |
return new (_internal.ExpandIterable$(E, dart.dynamic))(this, f); |
} |
[core.$forEach](f) { |
+ dart.as(f, dart.functionType(dart.void, [E])); |
for (let element of this) |
f(element); |
} |
[core.$reduce](combine) { |
+ dart.as(combine, dart.functionType(E, [E, E])); |
let iterator = this[core.$iterator]; |
if (!dart.notNull(iterator.moveNext())) { |
throw _internal.IterableElementError.noElement(); |
@@ -230,12 +239,14 @@ var collection; |
return value; |
} |
[core.$fold](initialValue, combine) { |
+ dart.as(combine, dart.functionType(dart.dynamic, [dart.dynamic, E])); |
let value = initialValue; |
for (let element of this) |
value = dart.dcall(combine, value, element); |
return value; |
} |
[core.$every](f) { |
+ dart.as(f, dart.functionType(core.bool, [E])); |
for (let element of this) { |
if (!dart.notNull(f(element))) |
return false; |
@@ -263,6 +274,7 @@ var collection; |
return dart.toString(buffer); |
} |
[core.$any](test) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
for (let element of this) { |
if (test(element)) |
return true; |
@@ -273,12 +285,14 @@ var collection; |
return new (_internal.TakeIterable$(E))(this, n); |
} |
[core.$takeWhile](test) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
return new (_internal.TakeWhileIterable$(E))(this, test); |
} |
[core.$skip](n) { |
return new (_internal.SkipIterable$(E))(this, n); |
} |
[core.$skipWhile](test) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
return new (_internal.SkipWhileIterable$(E))(this, test); |
} |
get [core.$first]() { |
@@ -300,7 +314,9 @@ var collection; |
return result; |
} |
[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, [])); |
for (let element of this) { |
if (test(element)) |
return element; |
@@ -310,7 +326,9 @@ var collection; |
throw _internal.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 result = null; |
let foundMatching = false; |
for (let element of this) { |
@@ -326,6 +344,7 @@ var collection; |
throw _internal.IterableElementError.noElement(); |
} |
[core.$singleWhere](test) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
let result = null; |
let foundMatching = false; |
for (let element of this) { |
@@ -455,12 +474,15 @@ var collection; |
let IterableMixin$ = dart.generic(function(E) { |
class IterableMixin extends core.Object { |
[core.$map](f) { |
+ dart.as(f, dart.functionType(dart.dynamic, [E])); |
return new (_internal.MappedIterable$(E, dart.dynamic))(this, f); |
} |
[core.$where](f) { |
+ dart.as(f, dart.functionType(core.bool, [E])); |
return new (_internal.WhereIterable$(E))(this, f); |
} |
[core.$expand](f) { |
+ dart.as(f, dart.functionType(core.Iterable, [E])); |
return new (_internal.ExpandIterable$(E, dart.dynamic))(this, f); |
} |
[core.$contains](element) { |
@@ -471,10 +493,12 @@ var collection; |
return false; |
} |
[core.$forEach](f) { |
+ dart.as(f, dart.functionType(dart.void, [E])); |
for (let element of this) |
f(element); |
} |
[core.$reduce](combine) { |
+ dart.as(combine, dart.functionType(E, [E, E])); |
let iterator = this[core.$iterator]; |
if (!dart.notNull(iterator.moveNext())) { |
throw _internal.IterableElementError.noElement(); |
@@ -486,12 +510,14 @@ var collection; |
return value; |
} |
[core.$fold](initialValue, combine) { |
+ dart.as(combine, dart.functionType(dart.dynamic, [dart.dynamic, E])); |
let value = initialValue; |
for (let element of this) |
value = dart.dcall(combine, value, element); |
return value; |
} |
[core.$every](f) { |
+ dart.as(f, dart.functionType(core.bool, [E])); |
for (let element of this) { |
if (!dart.notNull(f(element))) |
return false; |
@@ -519,6 +545,7 @@ var collection; |
return dart.toString(buffer); |
} |
[core.$any](f) { |
+ dart.as(f, dart.functionType(core.bool, [E])); |
for (let element of this) { |
if (f(element)) |
return true; |
@@ -551,12 +578,14 @@ var collection; |
return new (_internal.TakeIterable$(E))(this, n); |
} |
[core.$takeWhile](test) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
return new (_internal.TakeWhileIterable$(E))(this, test); |
} |
[core.$skip](n) { |
return new (_internal.SkipIterable$(E))(this, n); |
} |
[core.$skipWhile](test) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
return new (_internal.SkipWhileIterable$(E))(this, test); |
} |
get [core.$first]() { |
@@ -587,7 +616,9 @@ var collection; |
return result; |
} |
[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, [])); |
for (let element of this) { |
if (test(element)) |
return element; |
@@ -597,7 +628,9 @@ var collection; |
throw _internal.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 result = null; |
let foundMatching = false; |
for (let element of this) { |
@@ -613,6 +646,7 @@ var collection; |
throw _internal.IterableElementError.noElement(); |
} |
[core.$singleWhere](test) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
let result = null; |
let foundMatching = false; |
for (let element of this) { |
@@ -653,12 +687,15 @@ var collection; |
IterableBase() { |
} |
[core.$map](f) { |
+ dart.as(f, dart.functionType(dart.dynamic, [E])); |
return new (_internal.MappedIterable$(E, dart.dynamic))(this, f); |
} |
[core.$where](f) { |
+ dart.as(f, dart.functionType(core.bool, [E])); |
return new (_internal.WhereIterable$(E))(this, f); |
} |
[core.$expand](f) { |
+ dart.as(f, dart.functionType(core.Iterable, [E])); |
return new (_internal.ExpandIterable$(E, dart.dynamic))(this, f); |
} |
[core.$contains](element) { |
@@ -669,10 +706,12 @@ var collection; |
return false; |
} |
[core.$forEach](f) { |
+ dart.as(f, dart.functionType(dart.void, [E])); |
for (let element of this) |
f(element); |
} |
[core.$reduce](combine) { |
+ dart.as(combine, dart.functionType(E, [E, E])); |
let iterator = this[core.$iterator]; |
if (!dart.notNull(iterator.moveNext())) { |
throw _internal.IterableElementError.noElement(); |
@@ -684,12 +723,14 @@ var collection; |
return value; |
} |
[core.$fold](initialValue, combine) { |
+ dart.as(combine, dart.functionType(dart.dynamic, [dart.dynamic, E])); |
let value = initialValue; |
for (let element of this) |
value = dart.dcall(combine, value, element); |
return value; |
} |
[core.$every](f) { |
+ dart.as(f, dart.functionType(core.bool, [E])); |
for (let element of this) { |
if (!dart.notNull(f(element))) |
return false; |
@@ -717,6 +758,7 @@ var collection; |
return dart.toString(buffer); |
} |
[core.$any](f) { |
+ dart.as(f, dart.functionType(core.bool, [E])); |
for (let element of this) { |
if (f(element)) |
return true; |
@@ -749,12 +791,14 @@ var collection; |
return new (_internal.TakeIterable$(E))(this, n); |
} |
[core.$takeWhile](test) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
return new (_internal.TakeWhileIterable$(E))(this, test); |
} |
[core.$skip](n) { |
return new (_internal.SkipIterable$(E))(this, n); |
} |
[core.$skipWhile](test) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
return new (_internal.SkipWhileIterable$(E))(this, test); |
} |
get [core.$first]() { |
@@ -785,7 +829,9 @@ var collection; |
return result; |
} |
[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, [])); |
for (let element of this) { |
if (test(element)) |
return element; |
@@ -795,7 +841,9 @@ var collection; |
throw _internal.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 result = null; |
let foundMatching = false; |
for (let element of this) { |
@@ -811,6 +859,7 @@ var collection; |
throw _internal.IterableElementError.noElement(); |
} |
[core.$singleWhere](test) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
let result = null; |
let foundMatching = false; |
for (let element of this) { |
@@ -1171,15 +1220,19 @@ var collection; |
this[_next] = this[_previous] = this; |
} |
addFirst(entry) { |
+ dart.as(entry, E); |
this[_insertAfter](this, entry); |
} |
add(entry) { |
+ dart.as(entry, E); |
this[_insertAfter](this[_previous], entry); |
} |
addAll(entries) { |
+ dart.as(entries, core.Iterable$(E)); |
entries[core.$forEach]((entry => this[_insertAfter](this[_previous], dart.as(entry, E))).bind(this)); |
} |
remove(entry) { |
+ dart.as(entry, E); |
if (!dart.equals(entry[_list], this)) |
return false; |
this[_unlink](entry); |
@@ -1224,6 +1277,7 @@ var collection; |
return dart.as(this[_next], E); |
} |
[core.$forEach](action) { |
+ dart.as(action, dart.functionType(dart.void, [E])); |
let modificationCount = this[_modificationCount]; |
let current = this[_next]; |
while (!dart.notNull(core.identical(current, this))) { |
@@ -1238,6 +1292,7 @@ var collection; |
return this[_length] == 0; |
} |
[_insertAfter](entry, newEntry) { |
+ dart.as(newEntry, E); |
if (newEntry.list != null) { |
throw new core.StateError('LinkedListEntry is already in a LinkedList'); |
} |
@@ -1252,6 +1307,7 @@ var collection; |
this[_length] = dart.notNull(this[_length]) + 1; |
} |
[_unlink](entry) { |
+ dart.as(entry, LinkedListEntry$(E)); |
this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
entry[_next][_previous] = entry[_previous]; |
entry[_previous][_next] = entry[_next]; |
@@ -1323,9 +1379,11 @@ var collection; |
return dart.as(this[_previous], E); |
} |
insertAfter(entry) { |
+ dart.as(entry, E); |
this[_list][_insertAfter](this, entry); |
} |
insertBefore(entry) { |
+ dart.as(entry, E); |
this[_list][_insertAfter](this[_previous], entry); |
} |
} |
@@ -1342,6 +1400,7 @@ var collection; |
return this[core.$get](index); |
} |
[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.$get](i)); |
@@ -1385,6 +1444,7 @@ var collection; |
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.$get](i)))) |
@@ -1396,6 +1456,7 @@ var collection; |
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.$get](i))) |
@@ -1407,7 +1468,9 @@ var collection; |
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.$get](i); |
@@ -1422,7 +1485,9 @@ var collection; |
throw _internal.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.$get](i); |
@@ -1437,6 +1502,7 @@ var collection; |
throw _internal.IterableElementError.noElement(); |
} |
[core.$singleWhere](test) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
let length = this[core.$length]; |
let match = null; |
let matchFound = false; |
@@ -1467,15 +1533,19 @@ var collection; |
return dart.toString(buffer); |
} |
[core.$where](test) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
return new (_internal.WhereIterable$(E))(this, test); |
} |
[core.$map](f) { |
+ dart.as(f, dart.functionType(dart.dynamic, [E])); |
return new _internal.MappedListIterable(this, f); |
} |
[core.$expand](f) { |
+ dart.as(f, dart.functionType(core.Iterable, [E])); |
return new (_internal.ExpandIterable$(E, dart.dynamic))(this, f); |
} |
[core.$reduce](combine) { |
+ dart.as(combine, dart.functionType(E, [E, E])); |
let length = this[core.$length]; |
if (length == 0) |
throw _internal.IterableElementError.noElement(); |
@@ -1489,6 +1559,7 @@ var collection; |
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) { |
@@ -1503,12 +1574,14 @@ var collection; |
return new (_internal.SubListIterable$(E))(this, count, null); |
} |
[core.$skipWhile](test) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
return new (_internal.SkipWhileIterable$(E))(this, test); |
} |
[core.$take](count) { |
return new (_internal.SubListIterable$(E))(this, 0, count); |
} |
[core.$takeWhile](test) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
return new (_internal.TakeWhileIterable$(E))(this, test); |
} |
[core.$toList](opts) { |
@@ -1533,6 +1606,7 @@ var collection; |
return result; |
} |
[core.$add](element) { |
+ dart.as(element, E); |
this[core.$set]((() => { |
let o = this, x = o[core.$length]; |
o[core.$length] = dart.notNull(x) + 1; |
@@ -1540,6 +1614,7 @@ var collection; |
}).bind(this)(), element); |
} |
[core.$addAll](iterable) { |
+ dart.as(iterable, core.Iterable$(E)); |
for (let element of iterable) { |
this[core.$set]((() => { |
let o = this, x = o[core.$length]; |
@@ -1560,12 +1635,15 @@ var collection; |
return false; |
} |
[core.$removeWhere](test) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
ListMixin._filter(this, test, false); |
} |
[core.$retainWhere](test) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
ListMixin._filter(this, test, true); |
} |
static _filter(source, test, retainMatching) { |
+ dart.as(test, dart.functionType(core.bool, [dart.dynamic])); |
let retained = []; |
let length = source[core.$length]; |
for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i) + 1) { |
@@ -1596,6 +1674,7 @@ var collection; |
[core.$sort](compare) { |
if (compare === void 0) |
compare = null; |
+ dart.as(compare, dart.functionType(core.int, [E, E])); |
if (compare == null) { |
let defaultCompare = dart.bind(core.Comparable, 'compare'); |
compare = defaultCompare; |
@@ -1648,12 +1727,14 @@ var collection; |
[core.$fillRange](start, end, fill) { |
if (fill === void 0) |
fill = null; |
+ dart.as(fill, E); |
core.RangeError.checkValidRange(start, end, this[core.$length]); |
for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) { |
this[core.$set](i, fill); |
} |
} |
[core.$setRange](start, end, iterable, skipCount) { |
+ dart.as(iterable, core.Iterable$(E)); |
if (skipCount === void 0) |
skipCount = 0; |
core.RangeError.checkValidRange(start, end, this[core.$length]); |
@@ -1684,6 +1765,7 @@ var collection; |
} |
} |
[core.$replaceRange](start, end, newContents) { |
+ dart.as(newContents, core.Iterable$(E)); |
core.RangeError.checkValidRange(start, end, this[core.$length]); |
if (!dart.is(newContents, _internal.EfficientLength)) { |
newContents = newContents[core.$toList](); |
@@ -1745,6 +1827,7 @@ var collection; |
return -1; |
} |
[core.$insert](index, element) { |
+ dart.as(element, E); |
core.RangeError.checkValueInInterval(index, 0, this[core.$length], "index"); |
if (index == this[core.$length]) { |
this[core.$add](element); |
@@ -1764,6 +1847,7 @@ var collection; |
return result; |
} |
[core.$insertAll](index, iterable) { |
+ dart.as(iterable, core.Iterable$(E)); |
core.RangeError.checkValueInInterval(index, 0, this[core.$length], "index"); |
if (dart.is(iterable, _internal.EfficientLength)) { |
iterable = iterable[core.$toList](); |
@@ -1775,6 +1859,7 @@ var collection; |
this[core.$setAll](index, iterable); |
} |
[core.$setAll](index, iterable) { |
+ dart.as(iterable, core.Iterable$(E)); |
if (dart.is(iterable, core.List)) { |
this[core.$setRange](index, dart.notNull(index) + dart.notNull(iterable[core.$length]), iterable); |
} else { |
@@ -1810,16 +1895,19 @@ var collection; |
let MapMixin$ = dart.generic(function(K, V) { |
class MapMixin extends core.Object { |
forEach(action) { |
+ dart.as(action, dart.functionType(dart.void, [K, V])); |
for (let key of this.keys) { |
action(key, this.get(key)); |
} |
} |
addAll(other) { |
+ dart.as(other, core.Map$(K, V)); |
for (let key of other.keys) { |
this.set(key, other.get(key)); |
} |
} |
containsValue(value) { |
+ dart.as(value, V); |
for (let key of this.keys) { |
if (dart.equals(this.get(key), value)) |
return true; |
@@ -1827,6 +1915,8 @@ var collection; |
return false; |
} |
putIfAbsent(key, ifAbsent) { |
+ dart.as(key, K); |
+ dart.as(ifAbsent, dart.functionType(V, [])); |
if (this.keys[core.$contains](key)) { |
return this.get(key); |
} |
@@ -1863,9 +1953,12 @@ var collection; |
let _UnmodifiableMapMixin$ = dart.generic(function(K, V) { |
class _UnmodifiableMapMixin extends core.Object { |
set(key, value) { |
+ dart.as(key, K); |
+ dart.as(value, V); |
throw new core.UnsupportedError("Cannot modify unmodifiable map"); |
} |
addAll(other) { |
+ dart.as(other, core.Map$(K, V)); |
throw new core.UnsupportedError("Cannot modify unmodifiable map"); |
} |
clear() { |
@@ -1875,6 +1968,8 @@ var collection; |
throw new core.UnsupportedError("Cannot modify unmodifiable map"); |
} |
putIfAbsent(key, ifAbsent) { |
+ dart.as(key, K); |
+ dart.as(ifAbsent, dart.functionType(V, [])); |
throw new core.UnsupportedError("Cannot modify unmodifiable map"); |
} |
} |
@@ -1953,15 +2048,20 @@ var collection; |
return this[_map].get(key); |
} |
set(key, value) { |
+ dart.as(key, K); |
+ dart.as(value, V); |
this[_map].set(key, value); |
} |
addAll(other) { |
+ dart.as(other, core.Map$(K, V)); |
this[_map].addAll(other); |
} |
clear() { |
this[_map].clear(); |
} |
putIfAbsent(key, ifAbsent) { |
+ dart.as(key, K); |
+ dart.as(ifAbsent, dart.functionType(V, [])); |
return this[_map].putIfAbsent(key, ifAbsent); |
} |
containsKey(key) { |
@@ -1971,6 +2071,7 @@ var collection; |
return this[_map].containsValue(value); |
} |
forEach(action) { |
+ dart.as(action, dart.functionType(dart.void, [K, V])); |
this[_map].forEach(action); |
} |
get isEmpty() { |
@@ -2128,15 +2229,19 @@ var collection; |
this[_next] = null; |
} |
[_link](previous, next) { |
+ dart.as(previous, DoubleLinkedQueueEntry$(E)); |
+ dart.as(next, DoubleLinkedQueueEntry$(E)); |
this[_next] = next; |
this[_previous] = previous; |
previous[_next] = this; |
next[_previous] = this; |
} |
append(e) { |
+ dart.as(e, E); |
new (DoubleLinkedQueueEntry$(E))(e)[_link](this, this[_next]); |
} |
prepend(e) { |
+ dart.as(e, E); |
new (DoubleLinkedQueueEntry$(E))(e)[_link](this[_previous], this); |
} |
remove() { |
@@ -2159,6 +2264,7 @@ var collection; |
return this[_element]; |
} |
set element(e) { |
+ dart.as(e, E); |
this[_element] = e; |
} |
} |
@@ -2178,6 +2284,7 @@ var collection; |
return null; |
} |
set element(e) { |
+ dart.as(e, E); |
dart.assert(false); |
} |
get element() { |
@@ -2209,18 +2316,22 @@ var collection; |
return this[_elementCount]; |
} |
addLast(value) { |
+ dart.as(value, E); |
this[_sentinel].prepend(value); |
this[_elementCount] = dart.notNull(this[_elementCount]) + 1; |
} |
addFirst(value) { |
+ dart.as(value, E); |
this[_sentinel].append(value); |
this[_elementCount] = dart.notNull(this[_elementCount]) + 1; |
} |
add(value) { |
+ dart.as(value, E); |
this[_sentinel].prepend(value); |
this[_elementCount] = dart.notNull(this[_elementCount]) + 1; |
} |
addAll(iterable) { |
+ dart.as(iterable, core.Iterable$(E)); |
for (let value of iterable) { |
this[_sentinel].prepend(value); |
this[_elementCount] = dart.notNull(this[_elementCount]) + 1; |
@@ -2249,6 +2360,7 @@ var collection; |
return false; |
} |
[_filter](test, removeMatching) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
let entry = this[_sentinel][_next]; |
while (!dart.notNull(core.identical(entry, this[_sentinel]))) { |
let next = entry[_next]; |
@@ -2260,9 +2372,11 @@ var collection; |
} |
} |
removeWhere(test) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
this[_filter](test, true); |
} |
retainWhere(test) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
this[_filter](test, false); |
} |
get [core.$first]() { |
@@ -2292,6 +2406,7 @@ var collection; |
this[_elementCount] = 0; |
} |
forEachEntry(f) { |
+ dart.as(f, dart.functionType(dart.void, [DoubleLinkedQueueEntry$(E)])); |
let entry = this[_sentinel][_next]; |
while (!dart.notNull(core.identical(entry, this[_sentinel]))) { |
let nextEntry = entry[_next]; |
@@ -2390,6 +2505,7 @@ var collection; |
return new (_ListQueueIterator$(E))(this); |
} |
[core.$forEach](action) { |
+ dart.as(action, dart.functionType(dart.void, [E])); |
let modificationCount = this[_modificationCount]; |
for (let i = this[_head]; i != this[_tail]; i = dart.notNull(i) + 1 & dart.notNull(this[_table][core.$length]) - 1) { |
action(this[_table][core.$get](i)); |
@@ -2436,9 +2552,11 @@ var collection; |
return list; |
} |
add(element) { |
+ dart.as(element, E); |
this[_add](element); |
} |
addAll(elements) { |
+ dart.as(elements, core.Iterable$(E)); |
if (dart.is(elements, core.List)) { |
let list = dart.as(elements, core.List); |
let addCount = list[core.$length]; |
@@ -2477,6 +2595,7 @@ var collection; |
return false; |
} |
[_filterWhere](test, removeMatching) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
let index = this[_head]; |
let modificationCount = this[_modificationCount]; |
let i = this[_head]; |
@@ -2493,9 +2612,11 @@ var collection; |
} |
} |
removeWhere(test) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
this[_filterWhere](test, true); |
} |
retainWhere(test) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
this[_filterWhere](test, false); |
} |
clear() { |
@@ -2511,9 +2632,11 @@ var collection; |
return IterableBase.iterableToFullString(this, "{", "}"); |
} |
addLast(element) { |
+ dart.as(element, E); |
this[_add](element); |
} |
addFirst(element) { |
+ dart.as(element, E); |
this[_head] = dart.notNull(this[_head]) - 1 & dart.notNull(this[_table][core.$length]) - 1; |
this[_table][core.$set](this[_head], element); |
if (this[_head] == this[_tail]) |
@@ -2557,6 +2680,7 @@ var collection; |
} |
} |
[_add](element) { |
+ dart.as(element, E); |
this[_table][core.$set](this[_tail], element); |
this[_tail] = dart.notNull(this[_tail]) + 1 & dart.notNull(this[_table][core.$length]) - 1; |
if (this[_head] == this[_tail]) |
@@ -2599,6 +2723,7 @@ var collection; |
this[_table] = newTable; |
} |
[_writeToList](target) { |
+ dart.as(target, core.List$(E)); |
dart.assert(dart.notNull(target[core.$length]) >= dart.notNull(this[core.$length])); |
if (dart.notNull(this[_head]) <= dart.notNull(this[_tail])) { |
let length = dart.notNull(this[_tail]) - dart.notNull(this[_head]); |
@@ -2705,6 +2830,7 @@ var collection; |
this[_splayCount] = 0; |
} |
[_splay](key) { |
+ dart.as(key, K); |
if (this[_root] == null) |
return -1; |
let left = this[_dummy]; |
@@ -2758,6 +2884,7 @@ var collection; |
return comp; |
} |
[_splayMin](node) { |
+ dart.as(node, _SplayTreeNode$(K)); |
let current = node; |
while (current.left != null) { |
let left = current.left; |
@@ -2768,6 +2895,7 @@ var collection; |
return dart.as(current, _SplayTreeNode$(K)); |
} |
[_splayMax](node) { |
+ dart.as(node, _SplayTreeNode$(K)); |
let current = node; |
while (current.right != null) { |
let right = current.right; |
@@ -2778,6 +2906,7 @@ var collection; |
return dart.as(current, _SplayTreeNode$(K)); |
} |
[_remove](key) { |
+ dart.as(key, K); |
if (this[_root] == null) |
return null; |
let comp = this[_splay](key); |
@@ -2796,6 +2925,7 @@ var collection; |
return result; |
} |
[_addNewRoot](node, comp) { |
+ dart.as(node, _SplayTreeNode$(K)); |
this[_count] = dart.notNull(this[_count]) + 1; |
this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1; |
if (this[_root] == null) { |
@@ -2886,6 +3016,8 @@ var collection; |
return map; |
} |
[_compare](key1, key2) { |
+ dart.as(key1, K); |
+ dart.as(key2, K); |
return this[_comparator](key1, key2); |
} |
_internal() { |
@@ -2916,6 +3048,8 @@ var collection; |
return null; |
} |
set(key, value) { |
+ dart.as(key, K); |
+ dart.as(value, V); |
if (key == null) |
throw new core.ArgumentError(key); |
let comp = this[_splay](key); |
@@ -2927,6 +3061,8 @@ var collection; |
this[_addNewRoot](new (_SplayTreeMapNode$(K, dart.dynamic))(key, value), comp); |
} |
putIfAbsent(key, ifAbsent) { |
+ dart.as(key, K); |
+ dart.as(ifAbsent, dart.functionType(V, [])); |
if (key == null) |
throw new core.ArgumentError(key); |
let comp = this[_splay](key); |
@@ -2948,7 +3084,10 @@ var collection; |
return value; |
} |
addAll(other) { |
+ dart.as(other, core.Map$(K, V)); |
other.forEach(((key, value) => { |
+ dart.as(key, K); |
+ dart.as(value, V); |
this.set(key, value); |
}).bind(this)); |
} |
@@ -2959,6 +3098,7 @@ var collection; |
return !dart.notNull(this.isEmpty); |
} |
forEach(f) { |
+ dart.as(f, dart.functionType(dart.void, [K, V])); |
let nodes = new (_SplayTreeNodeIterator$(K))(this); |
while (nodes.moveNext()) { |
let node = dart.as(nodes.current, _SplayTreeMapNode$(K, V)); |
@@ -3013,6 +3153,7 @@ var collection; |
return dart.as(this[_last].key, K); |
} |
lastKeyBefore(key) { |
+ dart.as(key, K); |
if (key == null) |
throw new core.ArgumentError(key); |
if (this[_root] == null) |
@@ -3029,6 +3170,7 @@ var collection; |
return node.key; |
} |
firstKeyAfter(key) { |
+ dart.as(key, K); |
if (key == null) |
throw new core.ArgumentError(key); |
if (this[_root] == null) |
@@ -3240,6 +3382,8 @@ var collection; |
return result; |
} |
[_compare](e1, e2) { |
+ dart.as(e1, E); |
+ dart.as(e2, E); |
return dart.dcall(this[_comparator], e1, e2); |
} |
get [core.$iterator]() { |
@@ -3275,6 +3419,7 @@ var collection; |
return dart.notNull(dart.dcall(this[_validKey], object)) && this[_splay](dart.as(object, E)) == 0; |
} |
add(element) { |
+ dart.as(element, E); |
let compare = this[_splay](element); |
if (compare == 0) |
return false; |
@@ -3287,6 +3432,7 @@ var collection; |
return this[_remove](dart.as(object, E)) != null; |
} |
addAll(elements) { |
+ dart.as(elements, core.Iterable$(E)); |
for (let element of elements) { |
let compare = this[_splay](element); |
if (compare != 0) { |
@@ -3325,6 +3471,7 @@ var collection; |
return this[_root].key; |
} |
intersection(other) { |
+ dart.as(other, core.Set$(E)); |
let result = new (SplayTreeSet$(E))(dart.as(this[_comparator], dart.functionType(core.int, [E, E])), this[_validKey]); |
for (let element of this) { |
if (other[core.$contains](element)) |
@@ -3333,6 +3480,7 @@ var collection; |
return result; |
} |
difference(other) { |
+ dart.as(other, core.Set$(E)); |
let result = new (SplayTreeSet$(E))(dart.as(this[_comparator], dart.functionType(core.int, [E, E])), this[_validKey]); |
for (let element of this) { |
if (!dart.notNull(other[core.$contains](element))) |
@@ -3341,6 +3489,7 @@ var collection; |
return result; |
} |
union(other) { |
+ dart.as(other, core.Set$(E)); |
let _ = this[_clone](); |
_.addAll(other); |
return _; |
@@ -3352,6 +3501,7 @@ var collection; |
return set; |
} |
[_copyNode](node) { |
+ dart.as(node, _SplayTreeNode$(E)); |
if (node == null) |
return null; |
let _ = new (_SplayTreeNode$(E))(node.key); |
@@ -3442,7 +3592,10 @@ var collection; |
return this[_computeKeys]()[core.$any]((each => dart.equals(this.get(each), value)).bind(this)); |
} |
addAll(other) { |
+ dart.as(other, core.Map$(K, V)); |
other.forEach(((key, value) => { |
+ dart.as(key, K); |
+ dart.as(value, V); |
this.set(key, value); |
}).bind(this)); |
} |
@@ -3466,6 +3619,8 @@ var collection; |
return dart.as(dart.notNull(index) < 0 ? null : bucket[dart.notNull(index) + 1], V); |
} |
set(key, value) { |
+ dart.as(key, K); |
+ dart.as(value, V); |
if (_HashMap._isStringKey(key)) { |
let strings = this[_strings]; |
if (strings == null) |
@@ -3481,6 +3636,8 @@ var collection; |
} |
} |
[_set](key, value) { |
+ dart.as(key, K); |
+ dart.as(value, V); |
let rest = this[_rest]; |
if (rest == null) |
this[_rest] = rest = _HashMap._newHashTable(); |
@@ -3502,6 +3659,8 @@ var collection; |
} |
} |
putIfAbsent(key, ifAbsent) { |
+ dart.as(key, K); |
+ dart.as(ifAbsent, dart.functionType(V, [])); |
if (this.containsKey(key)) |
return this.get(key); |
let value = ifAbsent(); |
@@ -3536,6 +3695,7 @@ var collection; |
} |
} |
forEach(action) { |
+ dart.as(action, dart.functionType(dart.void, [K, V])); |
let keys = this[_computeKeys](); |
for (let i = 0, length = keys[core.$length]; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i) + 1) { |
let key = keys[i]; |
@@ -3589,6 +3749,8 @@ var collection; |
return this[_keys] = result; |
} |
[_addHashTableEntry](table, key, value) { |
+ dart.as(key, K); |
+ dart.as(value, V); |
if (!dart.notNull(_HashMap._hasTableEntry(table, key))) { |
this[_length] = dart.notNull(this[_length]) + 1; |
this[_keys] = null; |
@@ -3694,6 +3856,8 @@ var collection; |
return super[_get](key); |
} |
set(key, value) { |
+ dart.as(key, K); |
+ dart.as(value, V); |
super[_set](key, value); |
} |
containsKey(key) { |
@@ -3745,6 +3909,7 @@ var collection; |
return dart.as(dart.dsend(this[_map], 'containsKey', element), core.bool); |
} |
[core.$forEach](f) { |
+ dart.as(f, dart.functionType(dart.void, [E])); |
let keys = dart.as(dart.dsend(this[_map], _computeKeys), core.List); |
for (let i = 0, length = keys.length; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i) + 1) { |
f(dart.as(keys[i], E)); |
@@ -3849,7 +4014,10 @@ var collection; |
return this.keys[core.$any]((each => dart.equals(this.get(each), value)).bind(this)); |
} |
addAll(other) { |
+ dart.as(other, core.Map$(K, V)); |
other.forEach(((key, value) => { |
+ dart.as(key, K); |
+ dart.as(value, V); |
this.set(key, value); |
}).bind(this)); |
} |
@@ -3882,6 +4050,8 @@ var collection; |
return dart.as(cell[_value], V); |
} |
set(key, value) { |
+ dart.as(key, K); |
+ dart.as(value, V); |
if (_LinkedHashMap._isStringKey(key)) { |
let strings = this[_strings]; |
if (strings == null) |
@@ -3897,6 +4067,8 @@ var collection; |
} |
} |
[_set](key, value) { |
+ dart.as(key, K); |
+ dart.as(value, V); |
let rest = this[_rest]; |
if (rest == null) |
this[_rest] = rest = _LinkedHashMap._newHashTable(); |
@@ -3917,6 +4089,8 @@ var collection; |
} |
} |
putIfAbsent(key, ifAbsent) { |
+ dart.as(key, K); |
+ dart.as(ifAbsent, dart.functionType(V, [])); |
if (this.containsKey(key)) |
return this.get(key); |
let value = ifAbsent(); |
@@ -3952,6 +4126,7 @@ var collection; |
} |
} |
forEach(action) { |
+ dart.as(action, dart.functionType(dart.void, [K, V])); |
let cell = this[_first]; |
let modifications = this[_modifications]; |
while (cell != null) { |
@@ -3963,6 +4138,8 @@ var collection; |
} |
} |
[_addHashTableEntry](table, key, value) { |
+ dart.as(key, K); |
+ dart.as(value, V); |
let cell = dart.as(_LinkedHashMap._getTableEntry(table, key), LinkedHashMapCell); |
if (cell == null) { |
_LinkedHashMap._setTableEntry(table, key, this[_newLinkedCell](key, value)); |
@@ -3984,6 +4161,8 @@ var collection; |
this[_modifications] = dart.notNull(this[_modifications]) + 1 & 67108863; |
} |
[_newLinkedCell](key, value) { |
+ dart.as(key, K); |
+ dart.as(value, V); |
let cell = new LinkedHashMapCell(key, value); |
if (this[_first] == null) { |
this[_first] = this[_last] = cell; |
@@ -4097,6 +4276,8 @@ var collection; |
return super[_get](key); |
} |
set(key, value) { |
+ dart.as(key, K); |
+ dart.as(value, V); |
super[_set](key, value); |
} |
containsKey(key) { |
@@ -4154,6 +4335,7 @@ var collection; |
return dart.as(dart.dsend(this[_map], 'containsKey', element), core.bool); |
} |
[core.$forEach](f) { |
+ dart.as(f, dart.functionType(dart.void, [E])); |
let cell = dart.as(dart.dload(this[_map], _first), LinkedHashMapCell); |
let modifications = dart.as(dart.dload(this[_map], _modifications), core.int); |
while (cell != null) { |
@@ -4262,6 +4444,7 @@ var collection; |
return dart.as(bucket[core.$get](index), E); |
} |
add(element) { |
+ dart.as(element, E); |
if (_HashSet._isStringElement(element)) { |
let strings = this[_strings]; |
if (strings == null) |
@@ -4277,6 +4460,7 @@ var collection; |
} |
} |
[_add](element) { |
+ dart.as(element, E); |
let rest = this[_rest]; |
if (rest == null) |
this[_rest] = rest = _HashSet._newHashTable(); |
@@ -4295,6 +4479,7 @@ var collection; |
return true; |
} |
addAll(objects) { |
+ dart.as(objects, core.Iterable$(E)); |
for (let each of objects) { |
this.add(each); |
} |
@@ -4370,6 +4555,7 @@ var collection; |
return this[_elements] = result; |
} |
[_addHashTableEntry](table, element) { |
+ dart.as(element, E); |
if (_HashSet._hasTableEntry(table, element)) |
return false; |
_HashSet._setTableEntry(table, element, 0); |
@@ -4482,6 +4668,7 @@ var collection; |
return this[_hasher](dart.as(element, E)) & 0x3ffffff; |
} |
add(object) { |
+ dart.as(object, E); |
return super[_add](object); |
} |
[core.$contains](object) { |
@@ -4605,6 +4792,7 @@ var collection; |
return dart.as(dart.dload(bucket[core.$get](index), _element), E); |
} |
[core.$forEach](action) { |
+ dart.as(action, dart.functionType(dart.void, [E])); |
let cell = this[_first]; |
let modifications = this[_modifications]; |
while (cell != null) { |
@@ -4626,6 +4814,7 @@ var collection; |
return dart.as(this[_last][_element], E); |
} |
add(element) { |
+ dart.as(element, E); |
if (_LinkedHashSet._isStringElement(element)) { |
let strings = this[_strings]; |
if (strings == null) |
@@ -4641,6 +4830,7 @@ var collection; |
} |
} |
[_add](element) { |
+ dart.as(element, E); |
let rest = this[_rest]; |
if (rest == null) |
this[_rest] = rest = _LinkedHashSet._newHashTable(); |
@@ -4680,12 +4870,15 @@ var collection; |
return true; |
} |
removeWhere(test) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
this[_filterWhere](test, true); |
} |
retainWhere(test) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
this[_filterWhere](test, false); |
} |
[_filterWhere](test, removeMatching) { |
+ dart.as(test, dart.functionType(core.bool, [E])); |
let cell = this[_first]; |
while (cell != null) { |
let element = dart.as(cell[_element], E); |
@@ -4708,6 +4901,7 @@ var collection; |
} |
} |
[_addHashTableEntry](table, element) { |
+ dart.as(element, E); |
let cell = dart.as(_LinkedHashSet._getTableEntry(table, element), LinkedHashSetCell); |
if (cell != null) |
return false; |
@@ -4728,6 +4922,7 @@ var collection; |
this[_modifications] = dart.notNull(this[_modifications]) + 1 & 67108863; |
} |
[_newLinkedCell](element) { |
+ dart.as(element, E); |
let cell = new LinkedHashSetCell(element); |
if (this[_first] == null) { |
this[_first] = this[_last] = cell; |
@@ -4853,6 +5048,7 @@ var collection; |
return this[_hasher](dart.as(element, E)) & 0x3ffffff; |
} |
add(element) { |
+ dart.as(element, E); |
return super[_add](element); |
} |
[core.$contains](object) { |