Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Unified Diff: samples/swarm/swarm_ui_lib/observable/observable.dart

Issue 11412086: Make 'where' lazy. (Closed) Base URL: https://dart.googlecode.com/svn/experimental/lib_v2/dart
Patch Set: FilteredIterable/Iterator -> WhereIterable/Iterator. Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: samples/swarm/swarm_ui_lib/observable/observable.dart
diff --git a/samples/swarm/swarm_ui_lib/observable/observable.dart b/samples/swarm/swarm_ui_lib/observable/observable.dart
index b702a3dc9599ab09ab99133dae30ccfc00ea88c1..6318de7ea571dd814edbb8804f4264028d5a0b30 100644
--- a/samples/swarm/swarm_ui_lib/observable/observable.dart
+++ b/samples/swarm/swarm_ui_lib/observable/observable.dart
@@ -75,7 +75,9 @@ class AbstractObservable implements Observable {
// TODO(rnystrom): This is awkward without List.remove(e).
if (listeners.indexOf(listener, 0) != -1) {
bool found = false;
- listeners = listeners.where((e) => found || !(found = (e == listener)));
+ listeners = listeners
+ .where((e) => found || !(found = (e == listener)))
+ .toList();
return true;
} else {
return false;
@@ -201,7 +203,7 @@ class ObservableList<T>
return false;
}
return true;
- });
+ }).toList();
if (found != null) {
recordListRemove(index, found);
}
@@ -260,7 +262,7 @@ class ObservableList<T>
Iterator<T> iterator() => _internal.iterator();
// Collection<T>:
- Collection<T> where(bool f(T element)) => _internal.where(f);
+ Iterable<T> where(bool f(T element)) => _internal.where(f);
Iterable mappedBy(f(T element)) => _internal.mappedBy(f);
bool every(bool f(T element)) => _internal.every(f);
bool some(bool f(T element)) => _internal.some(f);

Powered by Google App Engine
This is Rietveld 408576698