Index: lib/runtime/dart/_internal.js |
diff --git a/lib/runtime/dart/_internal.js b/lib/runtime/dart/_internal.js |
index d2f61cdcb0d257086e1ad54533c9e0e334746ae1..684253827f102f60b5d8320ab30d898134f2909c 100644 |
--- a/lib/runtime/dart/_internal.js |
+++ b/lib/runtime/dart/_internal.js |
@@ -162,7 +162,7 @@ dart_library.library('dart/_internal', null, /* Imports */[ |
} |
map(f) { |
dart.as(f, dart.functionType(dart.dynamic, [E])); |
- return new MappedListIterable(this, f); |
+ return new (MappedListIterable$(E, dart.dynamic))(this, f); |
} |
reduce(combine) { |
dart.as(combine, dart.functionType(E, [dart.dynamic, E])); |
@@ -182,7 +182,7 @@ dart_library.library('dart/_internal', null, /* Imports */[ |
let value = initialValue; |
let length = this.length; |
for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i) + 1) { |
- value = dart.dcall(combine, value, this.elementAt(i)); |
+ value = combine(value, this.elementAt(i)); |
if (length != this.length) { |
dart.throw(new core.ConcurrentModificationError(this)); |
} |
@@ -1097,20 +1097,20 @@ dart_library.library('dart/_internal', null, /* Imports */[ |
static forEach(iterable, f) { |
dart.as(f, dart.functionType(dart.void, [dart.dynamic])); |
for (let e of iterable) { |
- dart.dcall(f, e); |
+ f(e); |
} |
} |
static any(iterable, f) { |
dart.as(f, dart.functionType(core.bool, [dart.dynamic])); |
for (let e of iterable) { |
- if (dart.notNull(dart.dcall(f, e))) return true; |
+ if (dart.notNull(f(e))) return true; |
} |
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; |
+ if (!dart.notNull(f(e))) return false; |
} |
return true; |
} |
@@ -1120,24 +1120,24 @@ dart_library.library('dart/_internal', null, /* Imports */[ |
if (!dart.notNull(iterator.moveNext())) dart.throw(IterableElementError.noElement()); |
let value = iterator.current; |
while (dart.notNull(iterator.moveNext())) { |
- value = dart.dcall(combine, value, iterator.current); |
+ value = combine(value, iterator.current); |
} |
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); |
+ initialValue = combine(initialValue, element); |
} |
return initialValue; |
} |
static removeWhereList(list, test) { |
dart.as(test, dart.functionType(core.bool, [dart.dynamic])); |
- let retained = []; |
+ let retained = dart.list([], dart.dynamic); |
let length = list[dartx.length]; |
for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i) + 1) { |
let element = list[dartx.get](i); |
- if (!dart.notNull(dart.dcall(test, element))) { |
+ if (!dart.notNull(test(element))) { |
retained[dartx.add](element); |
} |
if (length != list[dartx.length]) { |
@@ -1182,7 +1182,7 @@ dart_library.library('dart/_internal', null, /* Imports */[ |
dart.as(test, dart.functionType(core.bool, [dart.dynamic])); |
dart.as(orElse, dart.functionType(dart.dynamic, [])); |
for (let element of iterable) { |
- if (dart.notNull(dart.dcall(test, element))) return element; |
+ if (dart.notNull(test(element))) return element; |
} |
if (orElse != null) return orElse(); |
dart.throw(IterableElementError.noElement()); |
@@ -1193,7 +1193,7 @@ dart_library.library('dart/_internal', null, /* Imports */[ |
let result = null; |
let foundMatching = false; |
for (let element of iterable) { |
- if (dart.notNull(dart.dcall(test, element))) { |
+ if (dart.notNull(test(element))) { |
result = element; |
foundMatching = true; |
} |
@@ -1207,7 +1207,7 @@ dart_library.library('dart/_internal', null, /* Imports */[ |
dart.as(orElse, dart.functionType(dart.dynamic, [])); |
for (let i = dart.notNull(list[dartx.length]) - 1; dart.notNull(i) >= 0; i = dart.notNull(i) - 1) { |
let element = list[dartx.get](i); |
- if (dart.notNull(dart.dcall(test, element))) return element; |
+ if (dart.notNull(test(element))) return element; |
} |
if (orElse != null) return orElse(); |
dart.throw(IterableElementError.noElement()); |
@@ -1217,7 +1217,7 @@ dart_library.library('dart/_internal', null, /* Imports */[ |
let result = null; |
let foundMatching = false; |
for (let element of iterable) { |
- if (dart.notNull(dart.dcall(test, element))) { |
+ if (dart.notNull(test(element))) { |
if (dart.notNull(foundMatching)) { |
dart.throw(IterableElementError.tooMany()); |
} |
@@ -1263,8 +1263,9 @@ dart_library.library('dart/_internal', null, /* Imports */[ |
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, __CastType2)); |
+ dart.as(iterable, core.Iterable$(T)); |
+ dart.as(f, dart.functionType(core.bool, [T])); |
+ return new (WhereIterable$(T))(iterable, f); |
} |
static map(iterable, f) { |
dart.as(f, dart.functionType(dart.dynamic, [dart.dynamic])); |
@@ -1283,7 +1284,7 @@ dart_library.library('dart/_internal', null, /* Imports */[ |
} |
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]))); |
+ return new (TakeWhileIterable$(T))(dart.as(iterable, core.Iterable$(T)), dart.as(test, __CastType2)); |
} |
skipList(list, n) { |
return new (SubListIterable$(T))(dart.as(list, core.Iterable$(T)), n, null); |
@@ -1443,7 +1444,7 @@ dart_library.library('dart/_internal', null, /* Imports */[ |
} |
dart.setSignature(IterableMixinWorkaround, { |
methods: () => ({ |
- where: [core.Iterable$(T), [core.Iterable, dart.functionType(core.bool, [dart.dynamic])]], |
+ where: [core.Iterable$(T), [core.Iterable$(T), dart.functionType(core.bool, [T])]], |
takeList: [core.Iterable$(T), [core.List, core.int]], |
takeWhile: [core.Iterable$(T), [core.Iterable, dart.functionType(core.bool, [dart.dynamic])]], |
skipList: [core.Iterable$(T), [core.List, core.int]], |