| OLD | NEW |
| 1 part of dart.collection; | 1 part of dart.collection; |
| 2 | 2 abstract class SetMixin<E> implements Set<E> {bool add(E element); |
| 3 abstract class SetMixin<E> implements Set<E> { | 3 bool contains(Object element); |
| 4 bool add(E element); | 4 E lookup(E element); |
| 5 bool contains(Object element); | 5 bool remove(Object element); |
| 6 E lookup(E element); | 6 Iterator<E> get iterator; |
| 7 bool remove(Object element); | 7 Set<E> toSet(); |
| 8 Iterator<E> get iterator; | 8 int get length; |
| 9 Set<E> toSet(); | 9 bool get isEmpty => length == 0; |
| 10 int get length; | 10 bool get isNotEmpty => length != 0; |
| 11 bool get isEmpty => length == 0; | 11 void clear() { |
| 12 bool get isNotEmpty => length != 0; | 12 removeAll(toList()); |
| 13 void clear() { | 13 } |
| 14 removeAll(toList()); | 14 void addAll(Iterable<E> elements) { |
| 15 } | 15 for (E element in elements) add(element); |
| 16 void addAll(Iterable<E> elements) { | 16 } |
| 17 for (E element in elements) add(element); | 17 void removeAll(Iterable<Object> elements) { |
| 18 } | 18 for (Object element in elements) remove(element); |
| 19 void removeAll(Iterable<Object> elements) { | 19 } |
| 20 for (Object element in elements) remove(element); | 20 void retainAll(Iterable<Object> elements) { |
| 21 } | 21 Set<E> toRemove = toSet(); |
| 22 void retainAll(Iterable<Object> elements) { | 22 for (Object o in elements) { |
| 23 Set<E> toRemove = toSet(); | 23 toRemove.remove(o); |
| 24 for (Object o in elements) { | 24 } |
| 25 toRemove.remove(o); | 25 removeAll(toRemove); |
| 26 } | 26 } |
| 27 removeAll(toRemove); | 27 void removeWhere(bool test(E element)) { |
| 28 } | 28 List toRemove = []; |
| 29 void removeWhere(bool test(E element)) { | 29 for (E element in this) { |
| 30 List toRemove = []; | 30 if (test(element)) toRemove.add(element); |
| 31 for (E element in this) { | 31 } |
| 32 if (test(element)) toRemove.add(element); | 32 removeAll(DDC$RT.cast(toRemove, DDC$RT.type((List<dynamic> _) { |
| 33 } | 33 } |
| 34 removeAll(DDC$RT.cast(toRemove, DDC$RT.type((List<dynamic> _) {}), | 34 ), DDC$RT.type((Iterable<Object> _) { |
| 35 DDC$RT.type((Iterable<Object> _) {}), "CastDynamic", | 35 } |
| 36 """line 77, column 15 of dart:collection/set.dart: """, | 36 ), "CastDynamic", """line 77, column 15 of dart:collection/set.dart: """, toRe
move is Iterable<Object>, false)); |
| 37 toRemove is Iterable<Object>, false)); | 37 } |
| 38 } | 38 void retainWhere(bool test(E element)) { |
| 39 void retainWhere(bool test(E element)) { | 39 List toRemove = []; |
| 40 List toRemove = []; | 40 for (E element in this) { |
| 41 for (E element in this) { | 41 if (!test(element)) toRemove.add(element); |
| 42 if (!test(element)) toRemove.add(element); | 42 } |
| 43 } | 43 removeAll(DDC$RT.cast(toRemove, DDC$RT.type((List<dynamic> _) { |
| 44 removeAll(DDC$RT.cast(toRemove, DDC$RT.type((List<dynamic> _) {}), | 44 } |
| 45 DDC$RT.type((Iterable<Object> _) {}), "CastDynamic", | 45 ), DDC$RT.type((Iterable<Object> _) { |
| 46 """line 85, column 15 of dart:collection/set.dart: """, | 46 } |
| 47 toRemove is Iterable<Object>, false)); | 47 ), "CastDynamic", """line 85, column 15 of dart:collection/set.dart: """, toRe
move is Iterable<Object>, false)); |
| 48 } | 48 } |
| 49 bool containsAll(Iterable<Object> other) { | 49 bool containsAll(Iterable<Object> other) { |
| 50 for (Object o in other) { | 50 for (Object o in other) { |
| 51 if (!contains(o)) return false; | 51 if (!contains(o)) return false; |
| 52 } | 52 } |
| 53 return true; | 53 return true; |
| 54 } | 54 } |
| 55 Set<E> union(Set<E> other) { | 55 Set<E> union(Set<E> other) { |
| 56 return toSet()..addAll(other); | 56 return toSet()..addAll(other); |
| 57 } | 57 } |
| 58 Set<E> intersection(Set<Object> other) { | 58 Set<E> intersection(Set<Object> other) { |
| 59 Set<E> result = toSet(); | 59 Set<E> result = toSet(); |
| 60 for (E element in this) { | 60 for (E element in this) { |
| 61 if (!other.contains(element)) result.remove(element); | 61 if (!other.contains(element)) result.remove(element); |
| 62 } | 62 } |
| 63 return result; | 63 return result; |
| 64 } | 64 } |
| 65 Set<E> difference(Set<Object> other) { | 65 Set<E> difference(Set<Object> other) { |
| 66 Set<E> result = toSet(); | 66 Set<E> result = toSet(); |
| 67 for (E element in this) { | 67 for (E element in this) { |
| 68 if (other.contains(element)) result.remove(element); | 68 if (other.contains(element)) result.remove(element); |
| 69 } | 69 } |
| 70 return result; | 70 return result; |
| 71 } | 71 } |
| 72 List<E> toList({bool growable: true}) { | 72 List<E> toList({ |
| 73 List<E> result = | 73 bool growable : true} |
| 74 growable ? (new List<E>()..length = length) : new List<E>(length); | 74 ) { |
| 75 int i = 0; | 75 List<E> result = growable ? (new List<E>()..length = length) : new List<E>(len
gth); |
| 76 for (E element in this) result[i++] = element; | 76 int i = 0; |
| 77 return result; | 77 for (E element in this) result[i++] = element; |
| 78 } | 78 return result; |
| 79 Iterable map(f(E element)) => | 79 } |
| 80 new EfficientLengthMappedIterable<E, dynamic>(this, f); | 80 Iterable map(f(E element)) => new EfficientLengthMappedIterable<E, dynamic>(thi
s, f); |
| 81 E get single { | 81 E get single { |
| 82 if (length > 1) throw IterableElementError.tooMany(); | 82 if (length > 1) throw IterableElementError.tooMany(); |
| 83 Iterator it = iterator; | 83 Iterator it = iterator; |
| 84 if (!it.moveNext()) throw IterableElementError.noElement(); | 84 if (!it.moveNext()) throw IterableElementError.noElement(); |
| 85 E result = DDC$RT.cast(it.current, dynamic, E, "CastGeneral", | 85 E result = DDC$RT.cast(it.current, dynamic, E, "CastGeneral", """line 130, co
lumn 16 of dart:collection/set.dart: """, it.current is E, false); |
| 86 """line 130, column 16 of dart:collection/set.dart: """, | 86 return result; |
| 87 it.current is E, false); | 87 } |
| 88 return result; | 88 String toString() => IterableBase.iterableToFullString(this, '{', '}'); |
| 89 } | 89 Iterable<E> where(bool f(E element)) => new WhereIterable<E>(this, f); |
| 90 String toString() => IterableBase.iterableToFullString(this, '{', '}'); | 90 Iterable expand(Iterable f(E element)) => new ExpandIterable<E, dynamic>(this,
f); |
| 91 Iterable<E> where(bool f(E element)) => new WhereIterable<E>(this, f); | 91 void forEach(void f(E element)) { |
| 92 Iterable expand(Iterable f(E element)) => | 92 for (E element in this) f(element); |
| 93 new ExpandIterable<E, dynamic>(this, f); | 93 } |
| 94 void forEach(void f(E element)) { | 94 E reduce(E combine(E value, E element)) { |
| 95 for (E element in this) f(element); | 95 Iterator<E> iterator = this.iterator; |
| 96 } | 96 if (!iterator.moveNext()) { |
| 97 E reduce(E combine(E value, E element)) { | 97 throw IterableElementError.noElement(); |
| 98 Iterator<E> iterator = this.iterator; | 98 } |
| 99 if (!iterator.moveNext()) { | 99 E value = iterator.current; |
| 100 throw IterableElementError.noElement(); | 100 while (iterator.moveNext()) { |
| 101 } | 101 value = combine(value, iterator.current); |
| 102 E value = iterator.current; | 102 } |
| 103 while (iterator.moveNext()) { | 103 return value; |
| 104 value = combine(value, iterator.current); | 104 } |
| 105 } | 105 dynamic fold(var initialValue, dynamic combine(var previousValue, E element)) { |
| 106 return value; | 106 var value = initialValue; |
| 107 } | 107 for (E element in this) value = combine(value, element); |
| 108 dynamic fold( | 108 return value; |
| 109 var initialValue, dynamic combine(var previousValue, E element)) { | 109 } |
| 110 var value = initialValue; | 110 bool every(bool f(E element)) { |
| 111 for (E element in this) value = combine(value, element); | 111 for (E element in this) { |
| 112 return value; | 112 if (!f(element)) return false; |
| 113 } | 113 } |
| 114 bool every(bool f(E element)) { | 114 return true; |
| 115 for (E element in this) { | 115 } |
| 116 if (!f(element)) return false; | 116 String join([String separator = ""]) { |
| 117 } | 117 Iterator<E> iterator = this.iterator; |
| 118 return true; | 118 if (!iterator.moveNext()) return ""; |
| 119 } | 119 StringBuffer buffer = new StringBuffer(); |
| 120 String join([String separator = ""]) { | 120 if (separator == null || separator == "") { |
| 121 Iterator<E> iterator = this.iterator; | |
| 122 if (!iterator.moveNext()) return ""; | |
| 123 StringBuffer buffer = new StringBuffer(); | |
| 124 if (separator == null || separator == "") { | |
| 125 do { | |
| 126 buffer.write("${iterator.current}"); | |
| 127 } while (iterator.moveNext()); | |
| 128 } else { | |
| 129 buffer.write("${iterator.current}"); | |
| 130 while (iterator.moveNext()) { | |
| 131 buffer.write(separator); | |
| 132 buffer.write("${iterator.current}"); | |
| 133 } | |
| 134 } | |
| 135 return buffer.toString(); | |
| 136 } | |
| 137 bool any(bool test(E element)) { | |
| 138 for (E element in this) { | |
| 139 if (test(element)) return true; | |
| 140 } | |
| 141 return false; | |
| 142 } | |
| 143 Iterable<E> take(int n) { | |
| 144 return new TakeIterable<E>(this, n); | |
| 145 } | |
| 146 Iterable<E> takeWhile(bool test(E value)) { | |
| 147 return new TakeWhileIterable<E>(this, test); | |
| 148 } | |
| 149 Iterable<E> skip(int n) { | |
| 150 return new SkipIterable<E>(this, n); | |
| 151 } | |
| 152 Iterable<E> skipWhile(bool test(E value)) { | |
| 153 return new SkipWhileIterable<E>(this, test); | |
| 154 } | |
| 155 E get first { | |
| 156 Iterator it = iterator; | |
| 157 if (!it.moveNext()) { | |
| 158 throw IterableElementError.noElement(); | |
| 159 } | |
| 160 return DDC$RT.cast(it.current, dynamic, E, "CastGeneral", | |
| 161 """line 220, column 12 of dart:collection/set.dart: """, | |
| 162 it.current is E, false); | |
| 163 } | |
| 164 E get last { | |
| 165 Iterator it = iterator; | |
| 166 if (!it.moveNext()) { | |
| 167 throw IterableElementError.noElement(); | |
| 168 } | |
| 169 E result; | |
| 170 do { | 121 do { |
| 171 result = DDC$RT.cast(it.current, dynamic, E, "CastGeneral", | 122 buffer.write("${iterator.current} |
| 172 """line 230, column 16 of dart:collection/set.dart: """, | 123 "); |
| 173 it.current is E, false); | 124 } |
| 174 } while (it.moveNext()); | 125 while (iterator.moveNext());} |
| 175 return result; | 126 else { |
| 176 } | 127 buffer.write("${iterator.current} |
| 177 E firstWhere(bool test(E value), {E orElse()}) { | 128 "); |
| 178 for (E element in this) { | 129 while (iterator.moveNext()) { |
| 179 if (test(element)) return element; | 130 buffer.write(separator); |
| 180 } | 131 buffer.write("${iterator.current} |
| 181 if (orElse != null) return orElse(); | 132 "); |
| 182 throw IterableElementError.noElement(); | 133 } |
| 183 } | 134 } |
| 184 E lastWhere(bool test(E value), {E orElse()}) { | 135 return buffer.toString(); |
| 185 E result = ((__x43) => DDC$RT.cast(__x43, Null, E, "CastLiteral", | 136 } |
| 186 """line 244, column 16 of dart:collection/set.dart: """, __x43 is E, | 137 bool any(bool test(E element)) { |
| 187 false))(null); | 138 for (E element in this) { |
| 188 bool foundMatching = false; | 139 if (test(element)) return true; |
| 189 for (E element in this) { | 140 } |
| 190 if (test(element)) { | 141 return false; |
| 191 result = element; | 142 } |
| 192 foundMatching = true; | 143 Iterable<E> take(int n) { |
| 193 } | 144 return new TakeIterable<E>(this, n); |
| 194 } | 145 } |
| 195 if (foundMatching) return result; | 146 Iterable<E> takeWhile(bool test(E value)) { |
| 196 if (orElse != null) return orElse(); | 147 return new TakeWhileIterable<E>(this, test); |
| 197 throw IterableElementError.noElement(); | 148 } |
| 198 } | 149 Iterable<E> skip(int n) { |
| 199 E singleWhere(bool test(E value)) { | 150 return new SkipIterable<E>(this, n); |
| 200 E result = ((__x44) => DDC$RT.cast(__x44, Null, E, "CastLiteral", | 151 } |
| 201 """line 258, column 16 of dart:collection/set.dart: """, __x44 is E, | 152 Iterable<E> skipWhile(bool test(E value)) { |
| 202 false))(null); | 153 return new SkipWhileIterable<E>(this, test); |
| 203 bool foundMatching = false; | 154 } |
| 204 for (E element in this) { | 155 E get first { |
| 205 if (test(element)) { | 156 Iterator it = iterator; |
| 206 if (foundMatching) { | 157 if (!it.moveNext()) { |
| 207 throw IterableElementError.tooMany(); | 158 throw IterableElementError.noElement(); |
| 208 } | 159 } |
| 209 result = element; | 160 return DDC$RT.cast(it.current, dynamic, E, "CastGeneral", """line 220, column 1
2 of dart:collection/set.dart: """, it.current is E, false); |
| 210 foundMatching = true; | 161 } |
| 211 } | 162 E get last { |
| 212 } | 163 Iterator it = iterator; |
| 213 if (foundMatching) return result; | 164 if (!it.moveNext()) { |
| 214 throw IterableElementError.noElement(); | 165 throw IterableElementError.noElement(); |
| 215 } | 166 } |
| 216 E elementAt(int index) { | 167 E result; |
| 217 if (index is! int) throw new ArgumentError.notNull("index"); | 168 do { |
| 218 RangeError.checkNotNegative(index, "index"); | 169 result = DDC$RT.cast(it.current, dynamic, E, "CastGeneral", """line 230, column
16 of dart:collection/set.dart: """, it.current is E, false); |
| 219 int elementIndex = 0; | 170 } |
| 220 for (E element in this) { | 171 while (it.moveNext()); return result; |
| 221 if (index == elementIndex) return element; | 172 } |
| 222 elementIndex++; | 173 E firstWhere(bool test(E value), { |
| 223 } | 174 E orElse()} |
| 224 throw new RangeError.index(index, this, "index", null, elementIndex); | 175 ) { |
| 225 } | 176 for (E element in this) { |
| 226 } | 177 if (test(element)) return element; |
| 227 abstract class SetBase<E> extends SetMixin<E> { | 178 } |
| 228 static String setToString(Set set) => | 179 if (orElse != null) return orElse(); |
| 229 IterableBase.iterableToFullString(set, '{', '}'); | 180 throw IterableElementError.noElement(); |
| 230 } | 181 } |
| 182 E lastWhere(bool test(E value), { |
| 183 E orElse()} |
| 184 ) { |
| 185 E result = ((__x43) => DDC$RT.cast(__x43, Null, E, "CastLiteral", """line 244, c
olumn 16 of dart:collection/set.dart: """, __x43 is E, false))(null); |
| 186 bool foundMatching = false; |
| 187 for (E element in this) { |
| 188 if (test(element)) { |
| 189 result = element; |
| 190 foundMatching = true; |
| 191 } |
| 192 } |
| 193 if (foundMatching) return result; |
| 194 if (orElse != null) return orElse(); |
| 195 throw IterableElementError.noElement(); |
| 196 } |
| 197 E singleWhere(bool test(E value)) { |
| 198 E result = ((__x44) => DDC$RT.cast(__x44, Null, E, "CastLiteral", """line 258, c
olumn 16 of dart:collection/set.dart: """, __x44 is E, false))(null); |
| 199 bool foundMatching = false; |
| 200 for (E element in this) { |
| 201 if (test(element)) { |
| 202 if (foundMatching) { |
| 203 throw IterableElementError.tooMany(); |
| 204 } |
| 205 result = element; |
| 206 foundMatching = true; |
| 207 } |
| 208 } |
| 209 if (foundMatching) return result; |
| 210 throw IterableElementError.noElement(); |
| 211 } |
| 212 E elementAt(int index) { |
| 213 if (index is! int) throw new ArgumentError.notNull("index"); |
| 214 RangeError.checkNotNegative(index, "index"); |
| 215 int elementIndex = 0; |
| 216 for (E element in this) { |
| 217 if (index == elementIndex) return element; |
| 218 elementIndex++; |
| 219 } |
| 220 throw new RangeError.index(index, this, "index", null, elementIndex); |
| 221 } |
| 222 } |
| 223 abstract class SetBase<E> extends SetMixin<E> {static String setToString(Set se
t) => IterableBase.iterableToFullString(set, '{', '}'); |
| 224 } |
| OLD | NEW |