Skip to content

Commit b970236

Browse files
committed
forEach -> for-loop
1 parent 0a287fe commit b970236

File tree

2 files changed

+27
-8
lines changed

2 files changed

+27
-8
lines changed

lib/ordered_set.dart

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,22 @@ abstract class OrderedSet<E> extends ReadOnlyOrderedSet<E> {
6464
/// Remove all elements that match the [test] condition; returns the removed
6565
/// elements.
6666
Iterable<E> removeWhere(bool Function(E element) test) {
67-
return where(test).toList(growable: false)..forEach(remove);
67+
final elements = where(test).toList(growable: false);
68+
for (final element in elements) {
69+
remove(element);
70+
}
71+
return elements;
6872
}
6973

7074
/// Remove all [elements] and returns the removed elements.
7175
Iterable<E> removeAll(Iterable<E> elements) {
72-
return elements.where(remove).toList(growable: false);
76+
final removed = <E>[];
77+
for (final element in elements) {
78+
if (remove(element)) {
79+
removed.add(element);
80+
}
81+
}
82+
return removed;
7383
}
7484

7585
/// Removes the element at [index].

lib/queryable_ordered_set_impl.dart

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ mixin QueryableOrderedSetImpl<E> on OrderedSet<E> {
2222
return;
2323
}
2424
_cache[C] = _CacheEntry<C, E>(
25-
data: _filter<C>(),
25+
_filter<C>(),
2626
);
2727
}
2828

@@ -62,19 +62,28 @@ mixin QueryableOrderedSetImpl<E> on OrderedSet<E> {
6262
bool isRegistered<C extends E>() => _cache.containsKey(C);
6363

6464
void onAdd(E t) {
65-
_cache.forEach((key, value) {
65+
for (final entry in _cache.entries) {
66+
final value = entry.value;
6667
if (value.check(t)) {
6768
value.data.add(t);
6869
}
69-
});
70+
}
7071
}
7172

7273
void onRemove(E e) {
73-
_cache.values.forEach((v) => v.data.remove(e));
74+
for (final entry in _cache.entries) {
75+
final value = entry.value;
76+
if (value.check(e)) {
77+
value.data.remove(e);
78+
}
79+
}
7480
}
7581

7682
void onClear() {
77-
_cache.values.forEach((v) => v.data.clear());
83+
for (final entry in _cache.entries) {
84+
final value = entry.value;
85+
value.data.clear();
86+
}
7887
}
7988

8089
List<C> _filter<C extends E>() => whereType<C>().toList();
@@ -83,7 +92,7 @@ mixin QueryableOrderedSetImpl<E> on OrderedSet<E> {
8392
class _CacheEntry<C, T> {
8493
final List<C> data;
8594

86-
_CacheEntry({required this.data});
95+
_CacheEntry(this.data);
8796

8897
bool check(T t) {
8998
return t is C;

0 commit comments

Comments
 (0)