| 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 patch class Int8List { | 5 patch class Int8List { |
| 6 /* patch */ factory Int8List(int length) { | 6 /* patch */ factory Int8List(int length) { |
| 7 return new _Int8Array(length); | 7 return new _Int8Array(length); |
| 8 } | 8 } |
| 9 | 9 |
| 10 /* patch */ factory Int8List.transferable(int length) { | 10 /* patch */ factory Int8List.transferable(int length) { |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 return new _Uint8Array.transferable(length); | 27 return new _Uint8Array.transferable(length); |
| 28 } | 28 } |
| 29 | 29 |
| 30 /* patch */ factory Uint8List.view(ByteArray array, | 30 /* patch */ factory Uint8List.view(ByteArray array, |
| 31 [int start = 0, int length]) { | 31 [int start = 0, int length]) { |
| 32 return new _Uint8ArrayView(array, start, length); | 32 return new _Uint8ArrayView(array, start, length); |
| 33 } | 33 } |
| 34 } | 34 } |
| 35 | 35 |
| 36 | 36 |
| 37 patch class Uint8ClampedList { |
| 38 /* patch */ factory Uint8ClampedList(int length) { |
| 39 return new _Uint8ClampedArray(length); |
| 40 } |
| 41 |
| 42 /* patch */ factory Uint8ClampedList.transferable(int length) { |
| 43 return new _Uint8ClampedArray.transferable(length); |
| 44 } |
| 45 |
| 46 /* patch */ factory Uint8ClampedList.view(ByteArray array, |
| 47 [int start = 0, int length]) { |
| 48 return new _Uint8ClampedArrayView(array, start, length); |
| 49 } |
| 50 } |
| 51 |
| 52 |
| 37 patch class Int16List { | 53 patch class Int16List { |
| 38 /* patch */ factory Int16List(int length) { | 54 /* patch */ factory Int16List(int length) { |
| 39 return new _Int16Array(length); | 55 return new _Int16Array(length); |
| 40 } | 56 } |
| 41 | 57 |
| 42 /* patch */ factory Int16List.transferable(int length) { | 58 /* patch */ factory Int16List.transferable(int length) { |
| 43 return new _Int16Array.transferable(length); | 59 return new _Int16Array.transferable(length); |
| 44 } | 60 } |
| 45 | 61 |
| 46 /* patch */ factory Int16List.view(ByteArray array, [int start = 0, int length
]) { | 62 /* patch */ factory Int16List.view(ByteArray array, [int start = 0, int length
]) { |
| (...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 318 if (value > (mask >> 1)) value -= mask + 1; | 334 if (value > (mask >> 1)) value -= mask + 1; |
| 319 return value; | 335 return value; |
| 320 } | 336 } |
| 321 | 337 |
| 322 int _toInt8(int value) { | 338 int _toInt8(int value) { |
| 323 return _toInt(value, 0xFF); | 339 return _toInt(value, 0xFF); |
| 324 } | 340 } |
| 325 int _toUint8(int value) { | 341 int _toUint8(int value) { |
| 326 return value & 0xFF; | 342 return value & 0xFF; |
| 327 } | 343 } |
| 344 int _toClampedUint8(int value) { |
| 345 if (value < 0) return 0; |
| 346 if (value > 0xFF) return 0xFF; |
| 347 return value; |
| 348 } |
| 328 | 349 |
| 329 | 350 |
| 330 int _toInt16(int value) { | 351 int _toInt16(int value) { |
| 331 return _toInt(value, 0xFFFF); | 352 return _toInt(value, 0xFFFF); |
| 332 } | 353 } |
| 333 int _toUint16(int value) { | 354 int _toUint16(int value) { |
| 334 return value & 0xFFFF; | 355 return value & 0xFFFF; |
| 335 } | 356 } |
| 336 | 357 |
| 337 | 358 |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 439 | 460 |
| 440 int lengthInBytes() { | 461 int lengthInBytes() { |
| 441 return _length() * _BYTES_PER_ELEMENT; | 462 return _length() * _BYTES_PER_ELEMENT; |
| 442 } | 463 } |
| 443 | 464 |
| 444 static const int _BYTES_PER_ELEMENT = 1; | 465 static const int _BYTES_PER_ELEMENT = 1; |
| 445 | 466 |
| 446 static _Int8Array _new(int length) native "Int8Array_new"; | 467 static _Int8Array _new(int length) native "Int8Array_new"; |
| 447 static _Int8Array _newTransferable(int length) | 468 static _Int8Array _newTransferable(int length) |
| 448 native "Int8Array_newTransferable"; | 469 native "Int8Array_newTransferable"; |
| 449 | |
| 450 | 470 |
| 451 int _getIndexed(int index) native "Int8Array_getIndexed"; | 471 int _getIndexed(int index) native "Int8Array_getIndexed"; |
| 452 int _setIndexed(int index, int value) native "Int8Array_setIndexed"; | 472 int _setIndexed(int index, int value) native "Int8Array_setIndexed"; |
| 453 } | 473 } |
| 454 | 474 |
| 455 | 475 |
| 456 class _Uint8Array extends _ByteArrayBase implements Uint8List { | 476 class _Uint8Array extends _ByteArrayBase implements Uint8List { |
| 457 factory _Uint8Array(int length) { | 477 factory _Uint8Array(int length) { |
| 458 return _new(length); | 478 return _new(length); |
| 459 } | 479 } |
| (...skipping 22 matching lines...) Expand all Loading... |
| 482 } | 502 } |
| 483 | 503 |
| 484 List<int> getRange(int start, int length) { | 504 List<int> getRange(int start, int length) { |
| 485 _rangeCheck(this.length, start, length); | 505 _rangeCheck(this.length, start, length); |
| 486 List<int> result = _new(length); | 506 List<int> result = _new(length); |
| 487 result.setRange(0, length, this, start); | 507 result.setRange(0, length, this, start); |
| 488 return result; | 508 return result; |
| 489 } | 509 } |
| 490 | 510 |
| 491 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { | 511 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { |
| 492 if (from is _Uint8Array || from is _ExternalUint8Array) { | 512 if (from is _Uint8Array || from is _ExternalUint8Array || |
| 513 from is _Uint8ClampedArray || from is _ExternalUint8ClampedArray) { |
| 493 _setRange(start * _BYTES_PER_ELEMENT, | 514 _setRange(start * _BYTES_PER_ELEMENT, |
| 494 length * _BYTES_PER_ELEMENT, | 515 length * _BYTES_PER_ELEMENT, |
| 495 from, | 516 from, |
| 496 startFrom * _BYTES_PER_ELEMENT); | 517 startFrom * _BYTES_PER_ELEMENT); |
| 497 } else { | 518 } else { |
| 498 Arrays.copy(from, startFrom, this, start, length); | 519 Arrays.copy(from, startFrom, this, start, length); |
| 499 } | 520 } |
| 500 } | 521 } |
| 501 | 522 |
| 502 String toString() { | 523 String toString() { |
| 503 return Collections.collectionToString(this); | 524 return Collections.collectionToString(this); |
| 504 } | 525 } |
| 505 | 526 |
| 506 int bytesPerElement() { | 527 int bytesPerElement() { |
| 507 return _BYTES_PER_ELEMENT; | 528 return _BYTES_PER_ELEMENT; |
| 508 } | 529 } |
| 509 | 530 |
| 510 int lengthInBytes() { | 531 int lengthInBytes() { |
| 511 return _length() * _BYTES_PER_ELEMENT; | 532 return _length() * _BYTES_PER_ELEMENT; |
| 512 } | 533 } |
| 513 | 534 |
| 514 static const int _BYTES_PER_ELEMENT = 1; | 535 static const int _BYTES_PER_ELEMENT = 1; |
| 515 | 536 |
| 516 static _Uint8Array _new(int length) native "Uint8Array_new"; | 537 static _Uint8Array _new(int length) native "Uint8Array_new"; |
| 517 static _Uint8Array _newTransferable(int length) | 538 static _Uint8Array _newTransferable(int length) |
| 518 native "Uint8Array_newTransferable"; | 539 native "Uint8Array_newTransferable"; |
| 519 | 540 |
| 541 int _getIndexed(int index) native "Uint8Array_getIndexed"; |
| 542 int _setIndexed(int index, int value) native "Uint8Array_setIndexed"; |
| 543 } |
| 544 |
| 545 |
| 546 class _Uint8ClampedArray extends _ByteArrayBase implements Uint8ClampedList { |
| 547 factory _Uint8ClampedArray(int length) { |
| 548 return _new(length); |
| 549 } |
| 550 |
| 551 factory _Uint8ClampedArray.transferable(int length) { |
| 552 return _newTransferable(length); |
| 553 } |
| 554 |
| 555 factory _Uint8ClampedArray.view(ByteArray array, |
| 556 [int start = 0, int length]) { |
| 557 if (length == null) { |
| 558 length = array.lengthInBytes(); |
| 559 } |
| 560 return new _Uint8ClampedArrayView(array, start, length); |
| 561 } |
| 562 |
| 563 int operator[](int index) { |
| 564 return _getIndexed(index); |
| 565 } |
| 566 |
| 567 int operator[]=(int index, int value) { |
| 568 _setIndexed(index, _toClampedUint8(value)); |
| 569 } |
| 570 |
| 571 Iterator<int> iterator() { |
| 572 return new _ByteArrayIterator<int>(this); |
| 573 } |
| 574 |
| 575 List<int> getRange(int start, int length) { |
| 576 _rangeCheck(this.length, start, length); |
| 577 List<int> result = _new(length); |
| 578 result.setRange(0, length, this, start); |
| 579 return result; |
| 580 } |
| 581 |
| 582 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { |
| 583 if (from is _Uint8Array || from is _ExternalUint8Array || |
| 584 from is _Uint8ClampedArray || from is _ExternalUint8ClampedArray) { |
| 585 _setRange(start * _BYTES_PER_ELEMENT, |
| 586 length * _BYTES_PER_ELEMENT, |
| 587 from, |
| 588 startFrom * _BYTES_PER_ELEMENT); |
| 589 } else { |
| 590 Arrays.copy(from, startFrom, this, start, length); |
| 591 } |
| 592 } |
| 593 |
| 594 String toString() { |
| 595 return Collections.collectionToString(this); |
| 596 } |
| 597 |
| 598 int bytesPerElement() { |
| 599 return _BYTES_PER_ELEMENT; |
| 600 } |
| 601 |
| 602 int lengthInBytes() { |
| 603 return _length() * _BYTES_PER_ELEMENT; |
| 604 } |
| 605 |
| 606 static const int _BYTES_PER_ELEMENT = 1; |
| 607 |
| 608 static _Uint8ClampedArray _new(int length) native "Uint8ClampedArray_new"; |
| 609 static _Uint8ClampedArray _newTransferable(int length) |
| 610 native "Uint8ClampedArray_newTransferable"; |
| 611 |
| 520 int _getIndexed(int index) native "Uint8Array_getIndexed"; | 612 int _getIndexed(int index) native "Uint8Array_getIndexed"; |
| 521 int _setIndexed(int index, int value) native "Uint8Array_setIndexed"; | 613 int _setIndexed(int index, int value) native "Uint8Array_setIndexed"; |
| 522 } | 614 } |
| 523 | 615 |
| 524 | 616 |
| 525 class _Int16Array extends _ByteArrayBase implements Int16List { | 617 class _Int16Array extends _ByteArrayBase implements Int16List { |
| 526 factory _Int16Array(int length) { | 618 factory _Int16Array(int length) { |
| 527 return _new(length); | 619 return _new(length); |
| 528 } | 620 } |
| 529 | 621 |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 716 | 808 |
| 717 int lengthInBytes() { | 809 int lengthInBytes() { |
| 718 return _length() * _BYTES_PER_ELEMENT; | 810 return _length() * _BYTES_PER_ELEMENT; |
| 719 } | 811 } |
| 720 | 812 |
| 721 static const int _BYTES_PER_ELEMENT = 4; | 813 static const int _BYTES_PER_ELEMENT = 4; |
| 722 | 814 |
| 723 static _Int32Array _new(int length) native "Int32Array_new"; | 815 static _Int32Array _new(int length) native "Int32Array_new"; |
| 724 static _Int32Array _newTransferable(int length) | 816 static _Int32Array _newTransferable(int length) |
| 725 native "Int32Array_newTransferable"; | 817 native "Int32Array_newTransferable"; |
| 726 | 818 |
| 727 | 819 |
| 728 int _getIndexed(int index) native "Int32Array_getIndexed"; | 820 int _getIndexed(int index) native "Int32Array_getIndexed"; |
| 729 int _setIndexed(int index, int value) native "Int32Array_setIndexed"; | 821 int _setIndexed(int index, int value) native "Int32Array_setIndexed"; |
| 730 } | 822 } |
| 731 | 823 |
| 732 | 824 |
| 733 class _Uint32Array extends _ByteArrayBase implements Uint32List { | 825 class _Uint32Array extends _ByteArrayBase implements Uint32List { |
| 734 factory _Uint32Array(int length) { | 826 factory _Uint32Array(int length) { |
| 735 return _new(length); | 827 return _new(length); |
| 736 } | 828 } |
| (...skipping 1786 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2523 } | 2615 } |
| 2524 _rangeCheck(this.length, start, length); | 2616 _rangeCheck(this.length, start, length); |
| 2525 return _array.subByteArray(_offset + start, length); | 2617 return _array.subByteArray(_offset + start, length); |
| 2526 } | 2618 } |
| 2527 | 2619 |
| 2528 static const int _BYTES_PER_ELEMENT = 8; | 2620 static const int _BYTES_PER_ELEMENT = 8; |
| 2529 final ByteArray _array; | 2621 final ByteArray _array; |
| 2530 final int _offset; | 2622 final int _offset; |
| 2531 final int _length; | 2623 final int _length; |
| 2532 } | 2624 } |
| OLD | NEW |