| OLD | NEW |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, 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 * A [List] is an indexable collection with a length. It can be of | 6 * A [List] is an indexable collection with a length. It can be of |
| 7 * fixed size or extendable. | 7 * fixed size or extendable. |
| 8 */ | 8 */ |
| 9 interface List<E> extends Collection<E> factory ListFactory { | 9 interface List<E> extends Collection<E> factory ListFactory { |
| 10 | 10 |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 125 /** | 125 /** |
| 126 * Returns the last element of the list, or throws an out of bounds | 126 * Returns the last element of the list, or throws an out of bounds |
| 127 * exception if the list is empty. | 127 * exception if the list is empty. |
| 128 */ | 128 */ |
| 129 E last(); | 129 E last(); |
| 130 | 130 |
| 131 /** | 131 /** |
| 132 * Returns a sub list copy of this list, from [start] to | 132 * Returns a sub list copy of this list, from [start] to |
| 133 * [:start + length:]. | 133 * [:start + length:]. |
| 134 * Returns an empty list if [length] is 0. | 134 * Returns an empty list if [length] is 0. |
| 135 * Throws an [IllegalArgumentException] if [length] is negative. |
| 135 * Throws an [IndexOutOfRangeException] if [start] or | 136 * Throws an [IndexOutOfRangeException] if [start] or |
| 136 * [:start + length:] are out of range. | 137 * [:start + length:] are out of range. |
| 137 */ | 138 */ |
| 138 List<E> getRange(int start, int length); | 139 List<E> getRange(int start, int length); |
| 139 | 140 |
| 140 /** | 141 /** |
| 141 * Copies [length] elements of the [from] array, starting | 142 * Copies [length] elements of the [from] array, starting |
| 142 * from [startFrom], into [:this:], starting at [start]. | 143 * from [startFrom], into [:this:], starting at [start]. |
| 143 * Throws an [UnsupportedOperationException] if the list is | 144 * Throws an [UnsupportedOperationException] if the list is |
| 144 * not extendable. | 145 * not extendable. |
| 145 * If [length] is 0, this method does not do anything. | 146 * If [length] is 0, this method does not do anything. |
| 147 * Throws an [IllegalArgumentException] if [length] is negative. |
| 146 * Throws an [IndexOutOfRangeException] if [start] or | 148 * Throws an [IndexOutOfRangeException] if [start] or |
| 147 * [:start + length:] are out of range for [:this:], or if | 149 * [:start + length:] are out of range for [:this:], or if |
| 148 * [startFrom] is out of range for [from]. | 150 * [startFrom] is out of range for [from]. |
| 149 */ | 151 */ |
| 150 void setRange(int start, int length, List<E> from, [int startFrom]); | 152 void setRange(int start, int length, List<E> from, [int startFrom]); |
| 151 | 153 |
| 152 /** | 154 /** |
| 153 * Removes the range in the list starting from [start] to | 155 * Removes the range in the list starting from [start] to |
| 154 * [:start + length:]. | 156 * [:start + length:]. |
| 155 * Throws an [UnsupportedOperationException] if the list is | 157 * Throws an [UnsupportedOperationException] if the list is |
| 156 * not extendable. | 158 * not extendable. |
| 157 * If [length] is 0, this method does not do anything. | 159 * If [length] is 0, this method does not do anything. |
| 160 * Throws an [IllegalArgumentException] if [length] is negative. |
| 158 * Throws an [IndexOutOfRangeException] if [start] or | 161 * Throws an [IndexOutOfRangeException] if [start] or |
| 159 * [:start + length:] are out of range. | 162 * [:start + length:] are out of range. |
| 160 */ | 163 */ |
| 161 void removeRange(int start, int length); | 164 void removeRange(int start, int length); |
| 162 | 165 |
| 163 /** | 166 /** |
| 164 * Inserts a new range in the list, starting from [start] to | 167 * Inserts a new range in the list, starting from [start] to |
| 165 * [:start + length:]. The entries are filled with [initialValue]. | 168 * [:start + length:]. The entries are filled with [initialValue]. |
| 166 * Throws an [UnsupportedOperationException] if the list is | 169 * Throws an [UnsupportedOperationException] if the list is |
| 167 * not extendable. | 170 * not extendable. |
| 168 * If [length] is 0, this method does not do anything. | 171 * If [length] is 0, this method does not do anything. |
| 172 * Throws an [IllegalArgumentException] if [length] is negative. |
| 169 * Throws an [IndexOutOfRangeException] if [start] or | 173 * Throws an [IndexOutOfRangeException] if [start] or |
| 170 * [:start + length:] are out of range. | 174 * [:start + length:] are out of range. |
| 171 */ | 175 */ |
| 172 void insertRange(int start, int length, [E initialValue]); | 176 void insertRange(int start, int length, [E initialValue]); |
| 173 } | 177 } |
| OLD | NEW |