| 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 new UnsupportedError("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 new UnsupportedError("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 new UnsupportedError("Cannot add to immutable List."); |
| 25 } | 25 } |
| 26 | 26 |
| 27 $if DEFINE_CONTAINS | 27 $if DEFINE_CONTAINS |
| 28 bool contains($E element) => _Collections.contains(this, element); | 28 bool contains($E element) => _Collections.contains(this, element); |
| 29 $else | 29 $else |
| 30 // contains() defined by IDL. | 30 // contains() defined by IDL. |
| 31 $endif | 31 $endif |
| 32 | 32 |
| 33 void forEach(void f($E element)) => _Collections.forEach(this, f); | 33 void forEach(void f($E element)) => _Collections.forEach(this, f); |
| 34 | 34 |
| 35 Collection map(f($E element)) => _Collections.map(this, [], f); | 35 Collection map(f($E element)) => _Collections.map(this, [], f); |
| 36 | 36 |
| 37 Collection<$E> filter(bool f($E element)) => | 37 Collection<$E> filter(bool f($E element)) => |
| 38 _Collections.filter(this, <$E>[], f); | 38 _Collections.filter(this, <$E>[], f); |
| 39 | 39 |
| 40 bool every(bool f($E element)) => _Collections.every(this, f); | 40 bool every(bool f($E element)) => _Collections.every(this, f); |
| 41 | 41 |
| 42 bool some(bool f($E element)) => _Collections.some(this, f); | 42 bool some(bool f($E element)) => _Collections.some(this, f); |
| 43 | 43 |
| 44 bool isEmpty() => this.length == 0; | 44 bool isEmpty() => this.length == 0; |
| 45 | 45 |
| 46 // From List<$E>: | 46 // From List<$E>: |
| 47 | 47 |
| 48 void sort([Comparator<$E> compare = Comparable.compare]) { | 48 void sort([Comparator<$E> compare = Comparable.compare]) { |
| 49 throw const UnsupportedOperationException("Cannot sort immutable List."); | 49 throw new UnsupportedError("Cannot sort immutable List."); |
| 50 } | 50 } |
| 51 | 51 |
| 52 int indexOf($E element, [int start = 0]) => | 52 int indexOf($E element, [int start = 0]) => |
| 53 _Lists.indexOf(this, element, start, this.length); | 53 _Lists.indexOf(this, element, start, this.length); |
| 54 | 54 |
| 55 int lastIndexOf($E element, [int start]) { | 55 int lastIndexOf($E element, [int start]) { |
| 56 if (start == null) start = length - 1; | 56 if (start == null) start = length - 1; |
| 57 return _Lists.lastIndexOf(this, element, start); | 57 return _Lists.lastIndexOf(this, element, start); |
| 58 } | 58 } |
| 59 | 59 |
| 60 $E last() => this[length - 1]; | 60 $E last() => this[length - 1]; |
| 61 | 61 |
| 62 $E removeLast() { | 62 $E removeLast() { |
| 63 throw const UnsupportedOperationException("Cannot removeLast on immutable Li
st."); | 63 throw new UnsupportedError("Cannot removeLast on immutable List."); |
| 64 } | 64 } |
| 65 | 65 |
| 66 void setRange(int start, int rangeLength, List<$E> from, [int startFrom]) { | 66 void setRange(int start, int rangeLength, List<$E> from, [int startFrom]) { |
| 67 throw const UnsupportedOperationException("Cannot setRange on immutable List
."); | 67 throw new UnsupportedError("Cannot setRange on immutable List."); |
| 68 } | 68 } |
| 69 | 69 |
| 70 void removeRange(int start, int rangeLength) { | 70 void removeRange(int start, int rangeLength) { |
| 71 throw const UnsupportedOperationException("Cannot removeRange on immutable L
ist."); | 71 throw new UnsupportedError("Cannot removeRange on immutable List."); |
| 72 } | 72 } |
| 73 | 73 |
| 74 void insertRange(int start, int rangeLength, [$E initialValue]) { | 74 void insertRange(int start, int rangeLength, [$E initialValue]) { |
| 75 throw const UnsupportedOperationException("Cannot insertRange on immutable L
ist."); | 75 throw new UnsupportedError("Cannot insertRange on immutable List."); |
| 76 } | 76 } |
| 77 | 77 |
| 78 List<$E> getRange(int start, int rangeLength) => | 78 List<$E> getRange(int start, int rangeLength) => |
| 79 _Lists.getRange(this, start, rangeLength, <$E>[]); | 79 _Lists.getRange(this, start, rangeLength, <$E>[]); |
| 80 | 80 |
| 81 // -- end List<$E> mixins. | 81 // -- end List<$E> mixins. |
| OLD | NEW |