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

Side by Side Diff: test/dart_codegen/expect/collection/set.dart

Issue 1038583004: Rationalize coercions (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: Rebase Created 5 years, 9 months 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 unified diff | Download patch
OLDNEW
1 part of dart.collection; 1 part of dart.collection;
2 abstract class SetMixin<E> implements Set<E> {bool add(E element); 2 abstract class SetMixin<E> implements Set<E> {bool add(E element);
3 bool contains(Object element); 3 bool contains(Object element);
4 E lookup(E element); 4 E lookup(E element);
5 bool remove(Object element); 5 bool remove(Object element);
6 Iterator<E> get iterator; 6 Iterator<E> get iterator;
7 Set<E> toSet(); 7 Set<E> toSet();
8 int get length; 8 int get length;
9 bool get isEmpty => length == 0; 9 bool get isEmpty => length == 0;
10 bool get isNotEmpty => length != 0; 10 bool get isNotEmpty => length != 0;
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 List<E> result = growable ? (new List<E>()..length = length) : new List<E>(len gth); 67 List<E> result = growable ? (new List<E>()..length = length) : new List<E>(len gth);
68 int i = 0; 68 int i = 0;
69 for (E element in this) result[i++] = element; 69 for (E element in this) result[i++] = element;
70 return result; 70 return result;
71 } 71 }
72 Iterable map(f(E element)) => new EfficientLengthMappedIterable<E, dynamic>(thi s, f); 72 Iterable map(f(E element)) => new EfficientLengthMappedIterable<E, dynamic>(thi s, f);
73 E get single { 73 E get single {
74 if (length > 1) throw IterableElementError.tooMany(); 74 if (length > 1) throw IterableElementError.tooMany();
75 Iterator it = iterator; 75 Iterator it = iterator;
76 if (!it.moveNext()) throw IterableElementError.noElement(); 76 if (!it.moveNext()) throw IterableElementError.noElement();
77 E result = DEVC$RT.cast(it.current, dynamic, E, "CastGeneral", """line 130, c olumn 16 of dart:collection/set.dart: """, it.current is E, false); 77 E result = DEVC$RT.cast(it.current, dynamic, E, "CompositeCast", """line 130, column 16 of dart:collection/set.dart: """, it.current is E, false);
78 return result; 78 return result;
79 } 79 }
80 String toString() => IterableBase.iterableToFullString(this, '{', '}'); 80 String toString() => IterableBase.iterableToFullString(this, '{', '}');
81 Iterable<E> where(bool f(E element)) => new WhereIterable<E>(this, f); 81 Iterable<E> where(bool f(E element)) => new WhereIterable<E>(this, f);
82 Iterable expand(Iterable f(E element)) => new ExpandIterable<E, dynamic>(this, f); 82 Iterable expand(Iterable f(E element)) => new ExpandIterable<E, dynamic>(this, f);
83 void forEach(void f(E element)) { 83 void forEach(void f(E element)) {
84 for (E element in this) f(element); 84 for (E element in this) f(element);
85 } 85 }
86 E reduce(E combine(E value, E element)) { 86 E reduce(E combine(E value, E element)) {
87 Iterator<E> iterator = this.iterator; 87 Iterator<E> iterator = this.iterator;
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 return new SkipIterable<E>(this, n); 139 return new SkipIterable<E>(this, n);
140 } 140 }
141 Iterable<E> skipWhile(bool test(E value)) { 141 Iterable<E> skipWhile(bool test(E value)) {
142 return new SkipWhileIterable<E>(this, test); 142 return new SkipWhileIterable<E>(this, test);
143 } 143 }
144 E get first { 144 E get first {
145 Iterator it = iterator; 145 Iterator it = iterator;
146 if (!it.moveNext()) { 146 if (!it.moveNext()) {
147 throw IterableElementError.noElement(); 147 throw IterableElementError.noElement();
148 } 148 }
149 return DEVC$RT.cast(it.current, dynamic, E, "CastGeneral", """line 220, colum n 12 of dart:collection/set.dart: """, it.current is E, false); 149 return DEVC$RT.cast(it.current, dynamic, E, "CompositeCast", """line 220, col umn 12 of dart:collection/set.dart: """, it.current is E, false);
150 } 150 }
151 E get last { 151 E get last {
152 Iterator it = iterator; 152 Iterator it = iterator;
153 if (!it.moveNext()) { 153 if (!it.moveNext()) {
154 throw IterableElementError.noElement(); 154 throw IterableElementError.noElement();
155 } 155 }
156 E result; 156 E result;
157 do { 157 do {
158 result = DEVC$RT.cast(it.current, dynamic, E, "CastGeneral", """line 230, co lumn 16 of dart:collection/set.dart: """, it.current is E, false); 158 result = DEVC$RT.cast(it.current, dynamic, E, "CompositeCast", """line 230, column 16 of dart:collection/set.dart: """, it.current is E, false);
159 } 159 }
160 while (it.moveNext()); return result; 160 while (it.moveNext()); return result;
161 } 161 }
162 E firstWhere(bool test(E value), { 162 E firstWhere(bool test(E value), {
163 E orElse()} 163 E orElse()}
164 ) { 164 ) {
165 for (E element in this) { 165 for (E element in this) {
166 if (test(element)) return element; 166 if (test(element)) return element;
167 } 167 }
168 if (orElse != null) return orElse(); 168 if (orElse != null) return orElse();
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 int elementIndex = 0; 204 int elementIndex = 0;
205 for (E element in this) { 205 for (E element in this) {
206 if (index == elementIndex) return element; 206 if (index == elementIndex) return element;
207 elementIndex++; 207 elementIndex++;
208 } 208 }
209 throw new RangeError.index(index, this, "index", null, elementIndex); 209 throw new RangeError.index(index, this, "index", null, elementIndex);
210 } 210 }
211 } 211 }
212 abstract class SetBase<E> extends SetMixin<E> {static String setToString(Set se t) => IterableBase.iterableToFullString(set, '{', '}'); 212 abstract class SetBase<E> extends SetMixin<E> {static String setToString(Set se t) => IterableBase.iterableToFullString(set, '{', '}');
213 } 213 }
OLDNEW
« no previous file with comments | « test/dart_codegen/expect/collection/queue.dart ('k') | test/dart_codegen/expect/collection/splay_tree.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698