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

Side by Side Diff: runtime/lib/array.dart

Issue 12295009: Recommit changing List.skip/take/revert returns Iterable and remove mappedBy. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Make Future.wait simpler. Created 7 years, 10 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 5
6 // TODO(srdjan): Use shared array implementation. 6 // TODO(srdjan): Use shared array implementation.
7 class _ObjectArray<E> implements List<E> { 7 class _ObjectArray<E> implements List<E> {
8 8
9 factory _ObjectArray(int length) native "ObjectArray_allocate"; 9 factory _ObjectArray(int length) native "ObjectArray_allocate";
10 10
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 } 97 }
98 98
99 String join([String separator]) { 99 String join([String separator]) {
100 return IterableMixinWorkaround.joinList(this, separator); 100 return IterableMixinWorkaround.joinList(this, separator);
101 } 101 }
102 102
103 Iterable map(f(E element)) { 103 Iterable map(f(E element)) {
104 return IterableMixinWorkaround.mapList(this, f); 104 return IterableMixinWorkaround.mapList(this, f);
105 } 105 }
106 106
107 List mappedBy(f(E element)) {
108 IterableMixinWorkaround.mappedByList(this, f);
109 }
110
111 reduce(initialValue, combine(previousValue, E element)) { 107 reduce(initialValue, combine(previousValue, E element)) {
112 return IterableMixinWorkaround.reduce(this, initialValue, combine); 108 return IterableMixinWorkaround.reduce(this, initialValue, combine);
113 } 109 }
114 110
115 Iterable<E> where(bool f(E element)) { 111 Iterable<E> where(bool f(E element)) {
116 return IterableMixinWorkaround.where(this, f); 112 return IterableMixinWorkaround.where(this, f);
117 } 113 }
118 114
119 Iterable expand(Iterable f(E element)) { 115 Iterable expand(Iterable f(E element)) {
120 return IterableMixinWorkaround.expand(this, f); 116 return IterableMixinWorkaround.expand(this, f);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 } 153 }
158 154
159 E elementAt(int index) { 155 E elementAt(int index) {
160 return this[index]; 156 return this[index];
161 } 157 }
162 158
163 bool get isEmpty { 159 bool get isEmpty {
164 return this.length == 0; 160 return this.length == 0;
165 } 161 }
166 162
167 List<E> get reversed => new ReversedListView<E>(this, 0, null); 163 Iterable<E> get reversed => new ReversedListIterable<E>(this);
168 164
169 void sort([int compare(E a, E b)]) { 165 void sort([int compare(E a, E b)]) {
170 IterableMixinWorkaround.sortList(this, compare); 166 IterableMixinWorkaround.sortList(this, compare);
171 } 167 }
172 168
173 int indexOf(E element, [int start = 0]) { 169 int indexOf(E element, [int start = 0]) {
174 return Arrays.indexOf(this, element, start, this.length); 170 return Arrays.indexOf(this, element, start, this.length);
175 } 171 }
176 172
177 int lastIndexOf(E element, [int start = null]) { 173 int lastIndexOf(E element, [int start = null]) {
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 } 327 }
332 328
333 void forEach(f(E element)) { 329 void forEach(f(E element)) {
334 IterableMixinWorkaround.forEach(this, f); 330 IterableMixinWorkaround.forEach(this, f);
335 } 331 }
336 332
337 Iterable map(f(E element)) { 333 Iterable map(f(E element)) {
338 return IterableMixinWorkaround.mapList(this, f); 334 return IterableMixinWorkaround.mapList(this, f);
339 } 335 }
340 336
341 List mappedBy(f(E element)) {
342 return IterableMixinWorkaround.mappedByList(this, f);
343 }
344
345 String join([String separator]) { 337 String join([String separator]) {
346 return IterableMixinWorkaround.joinList(this, separator); 338 return IterableMixinWorkaround.joinList(this, separator);
347 } 339 }
348 340
349 reduce(initialValue, combine(previousValue, E element)) { 341 reduce(initialValue, combine(previousValue, E element)) {
350 return IterableMixinWorkaround.reduce(this, initialValue, combine); 342 return IterableMixinWorkaround.reduce(this, initialValue, combine);
351 } 343 }
352 344
353 Iterable<E> where(bool f(E element)) { 345 Iterable<E> where(bool f(E element)) {
354 return IterableMixinWorkaround.where(this, f); 346 return IterableMixinWorkaround.where(this, f);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 } 387 }
396 388
397 E elementAt(int index) { 389 E elementAt(int index) {
398 return this[index]; 390 return this[index];
399 } 391 }
400 392
401 bool get isEmpty { 393 bool get isEmpty {
402 return this.length == 0; 394 return this.length == 0;
403 } 395 }
404 396
405 List<E> get reversed => new ReversedListView<E>(this, 0, null); 397 Iterable<E> get reversed => new ReversedListIterable<E>(this);
406 398
407 void sort([int compare(E a, E b)]) { 399 void sort([int compare(E a, E b)]) {
408 throw new UnsupportedError( 400 throw new UnsupportedError(
409 "Cannot modify an immutable array"); 401 "Cannot modify an immutable array");
410 } 402 }
411 403
412 String toString() { 404 String toString() {
413 return Collections.collectionToString(this); 405 return Collections.collectionToString(this);
414 } 406 }
415 407
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
506 } 498 }
507 _position = _length; 499 _position = _length;
508 _current = null; 500 _current = null;
509 return false; 501 return false;
510 } 502 }
511 503
512 E get current { 504 E get current {
513 return _current; 505 return _current;
514 } 506 }
515 } 507 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698