OLD | NEW |
1 // -- start List<$E> mixins. | 1 // -- start List<$E> mixins. |
2 // $E is the element type. | 2 // $E is the element type. |
3 | 3 |
4 // From Iterable<$E>: | 4 // From Iterable<$E>: |
5 | 5 |
6 Iterator<$E> iterator() { | 6 Iterator<$E> iterator() { |
7 // Note: NodeLists are not fixed size. And most probably length shouldn't | 7 // Note: NodeLists are not fixed size. And most probably length shouldn't |
8 // be cached in both iterator _and_ forEach method. For now caching it | 8 // be cached in both iterator _and_ forEach method. For now caching it |
9 // for consistency. | 9 // for consistency. |
10 return new _FixedSizeListIterator<$E>(this); | 10 return new _FixedSizeListIterator<$E>(this); |
11 } | 11 } |
12 | 12 |
13 // From Collection<$E>: | 13 // From Collection<$E>: |
14 | 14 |
15 void add($E value) { | 15 void add($E value) { |
16 throw const UnsupportedOperationException("Cannot add to immutable List."); | 16 throw const UnsupportedOperationException("Cannot add to immutable List."); |
17 } | 17 } |
18 | 18 |
19 void addLast($E value) { | 19 void addLast($E value) { |
20 throw const UnsupportedOperationException("Cannot add to immutable List."); | 20 throw const UnsupportedOperationException("Cannot add to immutable List."); |
21 } | 21 } |
22 | 22 |
23 void addAll(Collection<$E> collection) { | 23 void addAll(Collection<$E> collection) { |
24 throw const UnsupportedOperationException("Cannot add to immutable List."); | 24 throw const UnsupportedOperationException("Cannot add to immutable List."); |
25 } | 25 } |
26 | 26 |
| 27 $if DEFINE_CONTAINS |
| 28 bool contains($E element) => _Collections.contains(this, element); |
| 29 $else |
| 30 // contains() defined by IDL. |
| 31 $endif |
| 32 |
27 void forEach(void f($E element)) => _Collections.forEach(this, f); | 33 void forEach(void f($E element)) => _Collections.forEach(this, f); |
28 | 34 |
29 Collection map(f($E element)) => _Collections.map(this, [], f); | 35 Collection map(f($E element)) => _Collections.map(this, [], f); |
30 | 36 |
31 Collection<$E> filter(bool f($E element)) => | 37 Collection<$E> filter(bool f($E element)) => |
32 _Collections.filter(this, <$E>[], f); | 38 _Collections.filter(this, <$E>[], f); |
33 | 39 |
34 bool every(bool f($E element)) => _Collections.every(this, f); | 40 bool every(bool f($E element)) => _Collections.every(this, f); |
35 | 41 |
36 bool some(bool f($E element)) => _Collections.some(this, f); | 42 bool some(bool f($E element)) => _Collections.some(this, f); |
(...skipping 29 matching lines...) Expand all Loading... |
66 } | 72 } |
67 | 73 |
68 void insertRange(int start, int rangeLength, [$E initialValue]) { | 74 void insertRange(int start, int rangeLength, [$E initialValue]) { |
69 throw const UnsupportedOperationException("Cannot insertRange on immutable L
ist."); | 75 throw const UnsupportedOperationException("Cannot insertRange on immutable L
ist."); |
70 } | 76 } |
71 | 77 |
72 List<$E> getRange(int start, int rangeLength) => | 78 List<$E> getRange(int start, int rangeLength) => |
73 _Lists.getRange(this, start, rangeLength, <$E>[]); | 79 _Lists.getRange(this, start, rangeLength, <$E>[]); |
74 | 80 |
75 // -- end List<$E> mixins. | 81 // -- end List<$E> mixins. |
OLD | NEW |