OLD | NEW |
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 class _GrowableObjectArray<T> implements List<T> { | 5 class _GrowableObjectArray<T> implements List<T> { |
6 factory _GrowableObjectArray._uninstantiable() { | 6 factory _GrowableObjectArray._uninstantiable() { |
7 throw new UnsupportedError( | 7 throw new UnsupportedError( |
8 "GrowableObjectArray can only be allocated by the VM"); | 8 "GrowableObjectArray can only be allocated by the VM"); |
9 } | 9 } |
10 | 10 |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 | 147 |
148 T get last { | 148 T get last { |
149 return this[length - 1]; | 149 return this[length - 1]; |
150 } | 150 } |
151 | 151 |
152 int indexOf(T element, [int start = 0]) { | 152 int indexOf(T element, [int start = 0]) { |
153 return Arrays.indexOf(this, element, start, length); | 153 return Arrays.indexOf(this, element, start, length); |
154 } | 154 } |
155 | 155 |
156 int lastIndexOf(T element, [int start = null]) { | 156 int lastIndexOf(T element, [int start = null]) { |
157 if (start === null) start = length - 1; | 157 if (start == null) start = length - 1; |
158 return Arrays.lastIndexOf(this, element, start); | 158 return Arrays.lastIndexOf(this, element, start); |
159 } | 159 } |
160 | 160 |
161 void _grow(int new_length) { | 161 void _grow(int new_length) { |
162 var new_data = new _ObjectArray<T>(new_length); | 162 var new_data = new _ObjectArray<T>(new_length); |
163 for (int i = 0; i < length; i++) { | 163 for (int i = 0; i < length; i++) { |
164 new_data[i] = this[i]; | 164 new_data[i] = this[i]; |
165 } | 165 } |
166 _setData(new_data); | 166 _setData(new_data); |
167 } | 167 } |
(...skipping 25 matching lines...) Expand all Loading... |
193 | 193 |
194 bool every(bool f(T element)) { | 194 bool every(bool f(T element)) { |
195 return Collections.every(this, f); | 195 return Collections.every(this, f); |
196 } | 196 } |
197 | 197 |
198 bool some(bool f(T element)) { | 198 bool some(bool f(T element)) { |
199 return Collections.some(this, f); | 199 return Collections.some(this, f); |
200 } | 200 } |
201 | 201 |
202 bool get isEmpty { | 202 bool get isEmpty { |
203 return this.length === 0; | 203 return this.length == 0; |
204 } | 204 } |
205 | 205 |
206 void clear() { | 206 void clear() { |
207 this.length = 0; | 207 this.length = 0; |
208 } | 208 } |
209 | 209 |
210 void sort([Comparator<T> compare = Comparable.compare]) { | 210 void sort([Comparator<T> compare = Comparable.compare]) { |
211 coreSort(this, compare); | 211 coreSort(this, compare); |
212 } | 212 } |
213 | 213 |
214 String toString() { | 214 String toString() { |
215 return Collections.collectionToString(this); | 215 return Collections.collectionToString(this); |
216 } | 216 } |
217 | 217 |
218 Iterator<T> iterator() { | 218 Iterator<T> iterator() { |
219 return new SequenceIterator<T>(this); | 219 return new SequenceIterator<T>(this); |
220 } | 220 } |
221 } | 221 } |
OLD | NEW |