Index: lib/runtime/dart/collection.js |
diff --git a/lib/runtime/dart/collection.js b/lib/runtime/dart/collection.js |
index 209233c939d4186e49028d79b293a7b147855fb3..170c9d489e8702c4c45f43f7b6c89ddff7984822 100644 |
--- a/lib/runtime/dart/collection.js |
+++ b/lib/runtime/dart/collection.js |
@@ -49,13 +49,13 @@ var collection; |
if (equals == null) { |
return new (_HashMap$(K, V))(); |
} |
- hashCode = dart.as(_defaultHashCode, dart.functionType(core.int, [K])); |
+ hashCode = dart.as(_defaultHashCode, __CastType0); |
} else { |
if (dart.notNull(core.identical(core.identityHashCode, hashCode)) && dart.notNull(core.identical(core.identical, equals))) { |
return new (_IdentityHashMap$(K, V))(); |
} |
if (equals == null) { |
- equals = dart.as(_defaultEquals, dart.functionType(core.bool, [K, K])); |
+ equals = dart.as(_defaultEquals, __CastType2); |
} |
} |
} else { |
@@ -99,6 +99,16 @@ var collection; |
return HashMap; |
}); |
let HashMap = HashMap$(); |
+ let __CastType0$ = dart.generic(function(K) { |
+ let __CastType0 = dart.typedef('__CastType0', () => dart.functionType(core.int, [K])); |
+ return __CastType0; |
+ }); |
+ let __CastType0 = __CastType0$(); |
+ let __CastType2$ = dart.generic(function(K) { |
+ let __CastType2 = dart.typedef('__CastType2', () => dart.functionType(core.bool, [K, K])); |
+ return __CastType2; |
+ }); |
+ let __CastType2 = __CastType2$(); |
let _newSet = Symbol('_newSet'); |
let SetMixin$ = dart.generic(function(E) { |
class SetMixin extends core.Object { |
@@ -400,13 +410,13 @@ var collection; |
if (equals == null) { |
return new (_HashSet$(E))(); |
} |
- hashCode = dart.as(_defaultHashCode, dart.functionType(core.int, [E])); |
+ hashCode = dart.as(_defaultHashCode, __CastType5); |
} else { |
if (dart.notNull(core.identical(core.identityHashCode, hashCode)) && dart.notNull(core.identical(core.identical, equals))) { |
return new (_IdentityHashSet$(E))(); |
} |
if (equals == null) { |
- equals = dart.as(_defaultEquals, dart.functionType(core.bool, [E, E])); |
+ equals = dart.as(_defaultEquals, __CastType7); |
} |
} |
} else { |
@@ -435,6 +445,16 @@ var collection; |
return HashSet; |
}); |
let HashSet = HashSet$(); |
+ let __CastType5$ = dart.generic(function(E) { |
+ let __CastType5 = dart.typedef('__CastType5', () => dart.functionType(core.int, [E])); |
+ return __CastType5; |
+ }); |
+ let __CastType5 = __CastType5$(); |
+ let __CastType7$ = dart.generic(function(E) { |
+ let __CastType7 = dart.typedef('__CastType7', () => dart.functionType(core.bool, [E, E])); |
+ return __CastType7; |
+ }); |
+ let __CastType7 = __CastType7$(); |
let IterableMixin$ = dart.generic(function(E) { |
class IterableMixin extends core.Object { |
[core.$map](f) { |
@@ -1019,13 +1039,13 @@ var collection; |
if (equals == null) { |
return new (_LinkedHashMap$(K, V))(); |
} |
- hashCode = dart.as(_defaultHashCode, dart.functionType(core.int, [K])); |
+ hashCode = dart.as(_defaultHashCode, __CastType10); |
} else { |
if (dart.notNull(core.identical(core.identityHashCode, hashCode)) && dart.notNull(core.identical(core.identical, equals))) { |
return new (_LinkedIdentityHashMap$(K, V))(); |
} |
if (equals == null) { |
- equals = dart.as(_defaultEquals, dart.functionType(core.bool, [K, K])); |
+ equals = dart.as(_defaultEquals, __CastType12); |
} |
} |
} else { |
@@ -1077,6 +1097,16 @@ var collection; |
return LinkedHashMap; |
}); |
let LinkedHashMap = LinkedHashMap$(); |
+ let __CastType10$ = dart.generic(function(K) { |
+ let __CastType10 = dart.typedef('__CastType10', () => dart.functionType(core.int, [K])); |
+ return __CastType10; |
+ }); |
+ let __CastType10 = __CastType10$(); |
+ let __CastType12$ = dart.generic(function(K) { |
+ let __CastType12 = dart.typedef('__CastType12', () => dart.functionType(core.bool, [K, K])); |
+ return __CastType12; |
+ }); |
+ let __CastType12 = __CastType12$(); |
let LinkedHashSet$ = dart.generic(function(E) { |
class LinkedHashSet extends core.Object { |
LinkedHashSet(opts) { |
@@ -1088,13 +1118,13 @@ var collection; |
if (equals == null) { |
return new (_LinkedHashSet$(E))(); |
} |
- hashCode = dart.as(_defaultHashCode, dart.functionType(core.int, [E])); |
+ hashCode = dart.as(_defaultHashCode, __CastType15); |
} else { |
if (dart.notNull(core.identical(core.identityHashCode, hashCode)) && dart.notNull(core.identical(core.identical, equals))) { |
return new (_LinkedIdentityHashSet$(E))(); |
} |
if (equals == null) { |
- equals = dart.as(_defaultEquals, dart.functionType(core.bool, [E, E])); |
+ equals = dart.as(_defaultEquals, __CastType17); |
} |
} |
} else { |
@@ -1124,6 +1154,16 @@ var collection; |
return LinkedHashSet; |
}); |
let LinkedHashSet = LinkedHashSet$(); |
+ let __CastType15$ = dart.generic(function(E) { |
+ let __CastType15 = dart.typedef('__CastType15', () => dart.functionType(core.int, [E])); |
+ return __CastType15; |
+ }); |
+ let __CastType15 = __CastType15$(); |
+ let __CastType17$ = dart.generic(function(E) { |
+ let __CastType17 = dart.typedef('__CastType17', () => dart.functionType(core.bool, [E, E])); |
+ return __CastType17; |
+ }); |
+ let __CastType17 = __CastType17$(); |
let _modificationCount = Symbol('_modificationCount'); |
let _length = Symbol('_length'); |
let _next = Symbol('_next'); |
@@ -1148,7 +1188,7 @@ var collection; |
this[_insertAfter](this[_previous], entry); |
} |
addAll(entries) { |
- entries[core.$forEach](dart.as((entry => this[_insertAfter](this[_previous], dart.as(entry, E))).bind(this), dart.functionType(dart.void, [E]))); |
+ entries[core.$forEach]((entry => this[_insertAfter](this[_previous], dart.as(entry, E))).bind(this)); |
} |
remove(entry) { |
if (!dart.equals(entry[_list], this)) |
@@ -2171,7 +2211,7 @@ var collection; |
this[_sentinel] = new (_DoubleLinkedQueueEntrySentinel$(E))(); |
} |
from(elements) { |
- let list = dart.as(new DoubleLinkedQueue(), Queue$(E)); |
+ let list = new (DoubleLinkedQueue$(E))(); |
for (let e of dart.as(elements, core.Iterable$(E))) { |
list.addLast(e); |
} |
@@ -2343,7 +2383,7 @@ var collection; |
from(elements) { |
if (dart.is(elements, core.List)) { |
let length = elements[core.$length]; |
- let queue = dart.as(new ListQueue(dart.notNull(length) + 1), ListQueue$(E)); |
+ let queue = new (ListQueue$(E))(dart.notNull(length) + 1); |
dart.assert(dart.notNull(queue[_table][core.$length]) > dart.notNull(length)); |
let sourceList = elements; |
queue[_table][core.$setRange](0, length, dart.as(sourceList, core.Iterable$(E)), 0); |
@@ -2900,7 +2940,7 @@ var collection; |
mapRoot.value = value; |
return; |
} |
- this[_addNewRoot](dart.as(new _SplayTreeMapNode(key, value), _SplayTreeNode$(K)), comp); |
+ this[_addNewRoot](new (_SplayTreeMapNode$(K, dart.dynamic))(key, value), comp); |
} |
putIfAbsent(key, ifAbsent) { |
if (key == null) |
@@ -2920,7 +2960,7 @@ var collection; |
comp = this[_splay](key); |
dart.assert(comp != 0); |
} |
- this[_addNewRoot](dart.as(new _SplayTreeMapNode(key, value), _SplayTreeNode$(K)), comp); |
+ this[_addNewRoot](new (_SplayTreeMapNode$(K, dart.dynamic))(key, value), comp); |
return value; |
} |
addAll(other) { |
@@ -3122,7 +3162,7 @@ var collection; |
} |
[core.$toSet]() { |
let setOrMap = this[_tree]; |
- let set = new (SplayTreeSet$(K))(dart.as(setOrMap[_comparator], dart.functionType(core.int, [K, K])), dart.as(setOrMap[_validKey], dart.functionType(core.bool, [dart.dynamic]))); |
+ let set = new (SplayTreeSet$(K))(dart.as(setOrMap[_comparator], __CastType20), dart.as(setOrMap[_validKey], __CastType23)); |
set[_count] = this[_tree][_count]; |
set[_root] = set[_copyNode](this[_tree][_root]); |
return set; |
@@ -3254,7 +3294,7 @@ var collection; |
let compare = this[_splay](element); |
if (compare == 0) |
return false; |
- this[_addNewRoot](dart.as(new _SplayTreeNode(element), _SplayTreeNode$(E)), compare); |
+ this[_addNewRoot](new (_SplayTreeNode$(E))(element), compare); |
return true; |
} |
remove(object) { |
@@ -3266,7 +3306,7 @@ var collection; |
for (let element of elements) { |
let compare = this[_splay](element); |
if (compare != 0) { |
- this[_addNewRoot](dart.as(new _SplayTreeNode(element), _SplayTreeNode$(E)), compare); |
+ this[_addNewRoot](new (_SplayTreeNode$(E))(element), compare); |
} |
} |
} |
@@ -3277,7 +3317,7 @@ var collection; |
} |
} |
retainAll(elements) { |
- let retainSet = new (SplayTreeSet$(E))(dart.as(this[_comparator], dart.functionType(core.int, [E, E])), this[_validKey]); |
+ let retainSet = new (SplayTreeSet$(E))(dart.as(this[_comparator], __CastType25), this[_validKey]); |
let modificationCount = this[_modificationCount]; |
for (let object of elements) { |
if (modificationCount != this[_modificationCount]) { |
@@ -3349,6 +3389,17 @@ var collection; |
return SplayTreeSet; |
}); |
let SplayTreeSet = SplayTreeSet$(); |
+ let __CastType20$ = dart.generic(function(K) { |
+ let __CastType20 = dart.typedef('__CastType20', () => dart.functionType(core.int, [K, K])); |
+ return __CastType20; |
+ }); |
+ let __CastType20 = __CastType20$(); |
+ let __CastType23 = dart.typedef('__CastType23', () => dart.functionType(core.bool, [dart.dynamic])); |
+ let __CastType25$ = dart.generic(function(E) { |
+ let __CastType25 = dart.typedef('__CastType25', () => dart.functionType(core.int, [E, E])); |
+ return __CastType25; |
+ }); |
+ let __CastType25 = __CastType25$(); |
let _strings = Symbol('_strings'); |
let _nums = Symbol('_nums'); |
let _rest = Symbol('_rest'); |
@@ -3390,7 +3441,7 @@ var collection; |
return new (HashMapKeyIterable$(K))(this); |
} |
get values() { |
- return new (_internal.MappedIterable$(K, V))(this.keys, dart.as((each => this.get(each)).bind(this), dart.functionType(V, [K]))); |
+ return new (_internal.MappedIterable$(K, V))(this.keys, (each => this.get(each)).bind(this)); |
} |
containsKey(key) { |
if (_HashMap[_isStringKey](key)) { |
@@ -3791,7 +3842,7 @@ var collection; |
return new (LinkedHashMapKeyIterable$(K))(this); |
} |
get values() { |
- return new (_internal.MappedIterable$(K, V))(this.keys, dart.as((each => this.get(each)).bind(this), dart.functionType(V, [K]))); |
+ return new (_internal.MappedIterable$(K, V))(this.keys, (each => this.get(each)).bind(this)); |
} |
containsKey(key) { |
if (_LinkedHashMap[_isStringKey](key)) { |
@@ -3818,7 +3869,7 @@ var collection; |
return dart.notNull(this[_findBucketIndex](bucket, key)) >= 0; |
} |
containsValue(value) { |
- return this.keys[core.$any](dart.as((each => dart.equals(this.get(each), value)).bind(this), dart.functionType(core.bool, [K]))); |
+ return this.keys[core.$any]((each => dart.equals(this.get(each), value)).bind(this)); |
} |
addAll(other) { |
other.forEach(((key, value) => { |
@@ -4528,7 +4579,7 @@ var collection; |
throw `LinkedHashSet: unsupported ${operation}`; |
} |
get [core.$iterator]() { |
- return dart.as(new LinkedHashSetIterator(this, this[_modifications]), core.Iterator$(E)); |
+ return new (LinkedHashSetIterator$(E))(this, this[_modifications]); |
} |
get [core.$length]() { |
return this[_length]; |