OLD | NEW |
1 library java.core; | 1 library java.core; |
2 | 2 |
3 import "dart:math" as math; | 3 import "dart:math" as math; |
4 import "dart:uri"; | 4 import "dart:uri"; |
| 5 import "dart:collection" show ListBase; |
5 | 6 |
6 class JavaSystem { | 7 class JavaSystem { |
7 static int currentTimeMillis() { | 8 static int currentTimeMillis() { |
8 return (new DateTime.now()).millisecondsSinceEpoch; | 9 return (new DateTime.now()).millisecondsSinceEpoch; |
9 } | 10 } |
10 | 11 |
11 static void arraycopy(List src, int srcPos, List dest, int destPos, int length
) { | 12 static void arraycopy(List src, int srcPos, List dest, int destPos, int length
) { |
12 for (int i = 0; i < length; i++) { | 13 for (int i = 0; i < length; i++) { |
13 dest[destPos + i] = src[srcPos + i]; | 14 dest[destPos + i] = src[srcPos + i]; |
14 } | 15 } |
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
269 } | 270 } |
270 | 271 |
271 void operator []=(int index, E value) { | 272 void operator []=(int index, E value) { |
272 elements[index] = value; | 273 elements[index] = value; |
273 } | 274 } |
274 | 275 |
275 void set length(int newLength) { | 276 void set length(int newLength) { |
276 elements.length = newLength; | 277 elements.length = newLength; |
277 } | 278 } |
278 | 279 |
| 280 int get length => elements.length; |
| 281 |
279 void add(E value) { | 282 void add(E value) { |
280 elements.add(value); | 283 elements.add(value); |
281 } | 284 } |
282 | 285 |
| 286 void addLast(E value) { |
| 287 elements.add(value); |
| 288 } |
| 289 |
283 void addAll(Iterable<E> iterable) { | 290 void addAll(Iterable<E> iterable) { |
284 elements.addAll(iterable); | 291 elements.addAll(iterable); |
285 } | 292 } |
286 | 293 |
287 void sort([int compare(E a, E b)]) { | 294 void sort([int compare(E a, E b)]) { |
288 elements.sort(compare); | 295 elements.sort(compare); |
289 } | 296 } |
290 | 297 |
291 int indexOf(E element, [int start = 0]) { | 298 int indexOf(E element, [int start = 0]) { |
292 return elements.indexOf(element, start); | 299 return elements.indexOf(element, start); |
(...skipping 20 matching lines...) Expand all Loading... |
313 } | 320 } |
314 | 321 |
315 E removeLast() { | 322 E removeLast() { |
316 return elements.removeLast(); | 323 return elements.removeLast(); |
317 } | 324 } |
318 | 325 |
319 Iterable<E> get reversed => elements.reversed; | 326 Iterable<E> get reversed => elements.reversed; |
320 | 327 |
321 List<E> sublist(int start, [int end]) => elements.sublist(start, end); | 328 List<E> sublist(int start, [int end]) => elements.sublist(start, end); |
322 | 329 |
323 Iterable<E> getRange(int start, int end) => elements.getRange(start, end); | 330 List<E> getRange(int start, int length) => sublist(start, start + length); |
324 | 331 |
325 void setRange(int start, int length, List<E> from, [int startFrom]) { | 332 void setRange(int start, int length, List<E> from, [int startFrom]) { |
326 elements.setRange(start, length, from, startFrom); | 333 elements.setRange(start, length, from, startFrom); |
327 } | 334 } |
328 | 335 |
329 void removeRange(int start, int length) { | 336 void removeRange(int start, int length) { |
330 elements.removeRange(start, length); | 337 elements.removeRange(start, length); |
331 } | 338 } |
332 | 339 |
333 void insertRange(int start, int length, [E fill]) { | 340 void insertRange(int start, int length, [E fill]) { |
(...skipping 27 matching lines...) Expand all Loading... |
361 _coPos++; | 368 _coPos++; |
362 _elPos++; | 369 _elPos++; |
363 return _current; | 370 return _current; |
364 } | 371 } |
365 | 372 |
366 void remove() { | 373 void remove() { |
367 if (_iterable is List) { | 374 if (_iterable is List) { |
368 _coPos--; | 375 _coPos--; |
369 (_iterable as List).remove(_coPos); | 376 (_iterable as List).remove(_coPos); |
370 } else if (_iterable is Set) { | 377 } else if (_iterable is Set) { |
371 _iterable.remove(_current); | 378 (_iterable as Set).remove(_current); |
372 } else { | 379 } else { |
373 throw new StateError("Unsupported iterable ${_iterable.runtimeType}"); | 380 throw new StateError("Unsupported iterable ${_iterable.runtimeType}"); |
374 } | 381 } |
375 } | 382 } |
376 } | 383 } |
377 | 384 |
378 class MapEntry<K, V> { | 385 class MapEntry<K, V> { |
379 K _key; | 386 K _key; |
380 V _value; | 387 V _value; |
381 MapEntry(this._key, this._value); | 388 MapEntry(this._key, this._value); |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
433 } | 440 } |
434 } else if (sb.length > newLength) { | 441 } else if (sb.length > newLength) { |
435 var s = sb.toString().substring(0, newLength); | 442 var s = sb.toString().substring(0, newLength); |
436 sb = new StringBuffer(s); | 443 sb = new StringBuffer(s); |
437 } | 444 } |
438 } | 445 } |
439 void clear() { | 446 void clear() { |
440 sb = new StringBuffer(); | 447 sb = new StringBuffer(); |
441 } | 448 } |
442 } | 449 } |
OLD | NEW |