Chromium Code Reviews| 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]) { | |
|
cshapiro
2012/12/05 23:01:49
Is this indented correctly? I would assume the op
srdjan
2012/12/06 19:23:14
Done.
| |
| 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 391 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 438 | 454 |
| 439 int lengthInBytes() { | 455 int lengthInBytes() { |
| 440 return _length() * _BYTES_PER_ELEMENT; | 456 return _length() * _BYTES_PER_ELEMENT; |
| 441 } | 457 } |
| 442 | 458 |
| 443 static const int _BYTES_PER_ELEMENT = 1; | 459 static const int _BYTES_PER_ELEMENT = 1; |
| 444 | 460 |
| 445 static _Int8Array _new(int length) native "Int8Array_new"; | 461 static _Int8Array _new(int length) native "Int8Array_new"; |
| 446 static _Int8Array _newTransferable(int length) | 462 static _Int8Array _newTransferable(int length) |
| 447 native "Int8Array_newTransferable"; | 463 native "Int8Array_newTransferable"; |
| 448 | |
| 449 | 464 |
| 450 int _getIndexed(int index) native "Int8Array_getIndexed"; | 465 int _getIndexed(int index) native "Int8Array_getIndexed"; |
| 451 int _setIndexed(int index, int value) native "Int8Array_setIndexed"; | 466 int _setIndexed(int index, int value) native "Int8Array_setIndexed"; |
| 452 } | 467 } |
| 453 | 468 |
| 454 | 469 |
| 455 class _Uint8Array extends _ByteArrayBase implements Uint8List { | 470 class _Uint8Array extends _ByteArrayBase implements Uint8List { |
| 456 factory _Uint8Array(int length) { | 471 factory _Uint8Array(int length) { |
| 457 return _new(length); | 472 return _new(length); |
| 458 } | 473 } |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 506 return _BYTES_PER_ELEMENT; | 521 return _BYTES_PER_ELEMENT; |
| 507 } | 522 } |
| 508 | 523 |
| 509 int lengthInBytes() { | 524 int lengthInBytes() { |
| 510 return _length() * _BYTES_PER_ELEMENT; | 525 return _length() * _BYTES_PER_ELEMENT; |
| 511 } | 526 } |
| 512 | 527 |
| 513 static const int _BYTES_PER_ELEMENT = 1; | 528 static const int _BYTES_PER_ELEMENT = 1; |
| 514 | 529 |
| 515 static _Uint8Array _new(int length) native "Uint8Array_new"; | 530 static _Uint8Array _new(int length) native "Uint8Array_new"; |
| 516 static _Uint8Array _newTransferable(int length) | 531 static _Uint8Array _newTransferable(int length) |
| 517 native "Uint8Array_newTransferable"; | 532 native "Uint8Array_newTransferable"; |
| 518 | 533 |
| 519 int _getIndexed(int index) native "Uint8Array_getIndexed"; | 534 int _getIndexed(int index) native "Uint8Array_getIndexed"; |
| 520 int _setIndexed(int index, int value) native "Uint8Array_setIndexed"; | 535 int _setIndexed(int index, int value) native "Uint8Array_setIndexed"; |
| 521 } | 536 } |
| 522 | 537 |
| 523 | 538 |
| 539 | |
|
cshapiro
2012/12/05 23:01:49
extra vertical space?
srdjan
2012/12/06 19:23:14
Done.
| |
| 540 class _Uint8ClampedArray extends _ByteArrayBase implements Uint8ClampedList { | |
| 541 factory _Uint8ClampedArray(int length) { | |
| 542 return _new(length); | |
| 543 } | |
| 544 | |
| 545 factory _Uint8ClampedArray.transferable(int length) { | |
| 546 return _newTransferable(length); | |
| 547 } | |
| 548 | |
| 549 factory _Uint8ClampedArray.view(ByteArray array, | |
| 550 [int start = 0, int length]) { | |
| 551 if (length == null) { | |
| 552 length = array.lengthInBytes(); | |
| 553 } | |
| 554 return new _Uint8ClampedArrayView(array, start, length); | |
| 555 } | |
| 556 | |
| 557 int operator[](int index) { | |
| 558 return _getIndexed(index); | |
| 559 } | |
| 560 | |
| 561 int operator[]=(int index, int value) { | |
| 562 if (value < 0) { | |
| 563 value = 0; | |
| 564 } else if (value > 0xFF) { | |
| 565 value = 0xFF; | |
| 566 } | |
| 567 _setIndexed(index, _toUint8(value)); | |
|
cshapiro
2012/12/05 23:01:49
Why not replace lines 562-566 with a new function
srdjan
2012/12/06 19:23:14
Done.
| |
| 568 } | |
| 569 | |
| 570 Iterator<int> iterator() { | |
| 571 return new _ByteArrayIterator<int>(this); | |
| 572 } | |
| 573 | |
| 574 List<int> getRange(int start, int length) { | |
| 575 _rangeCheck(this.length, start, length); | |
| 576 List<int> result = _new(length); | |
| 577 result.setRange(0, length, this, start); | |
| 578 return result; | |
| 579 } | |
| 580 | |
| 581 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { | |
| 582 if (from is _Uint8ClampedArray || from is _ExternalUint8ClampedArray) { | |
|
cshapiro
2012/12/05 23:01:49
I think _Uint8Array and _ExternalUint8Array are va
srdjan
2012/12/06 19:23:14
We need to talk more about that.
| |
| 583 _setRange(start * _BYTES_PER_ELEMENT, | |
| 584 length * _BYTES_PER_ELEMENT, | |
| 585 from, | |
| 586 startFrom * _BYTES_PER_ELEMENT); | |
| 587 } else { | |
| 588 Arrays.copy(from, startFrom, this, start, length); | |
| 589 } | |
| 590 } | |
| 591 | |
| 592 String toString() { | |
| 593 return Collections.collectionToString(this); | |
| 594 } | |
| 595 | |
| 596 int bytesPerElement() { | |
| 597 return _BYTES_PER_ELEMENT; | |
| 598 } | |
| 599 | |
| 600 int lengthInBytes() { | |
| 601 return _length() * _BYTES_PER_ELEMENT; | |
| 602 } | |
| 603 | |
| 604 static const int _BYTES_PER_ELEMENT = 1; | |
| 605 | |
| 606 static _Uint8ClampedArray _new(int length) native "Uint8ClampedArray_new"; | |
| 607 static _Uint8ClampedArray _newTransferable(int length) | |
| 608 native "Uint8ClampedArray_newTransferable"; | |
| 609 | |
| 610 int _getIndexed(int index) native "Uint8ClampedArray_getIndexed"; | |
| 611 int _setIndexed(int index, int value) native "Uint8ClampedArray_setIndexed"; | |
| 612 } | |
| 613 | |
| 614 | |
| 524 class _Int16Array extends _ByteArrayBase implements Int16List { | 615 class _Int16Array extends _ByteArrayBase implements Int16List { |
| 525 factory _Int16Array(int length) { | 616 factory _Int16Array(int length) { |
| 526 return _new(length); | 617 return _new(length); |
| 527 } | 618 } |
| 528 | 619 |
| 529 factory _Int16Array.transferable(int length) { | 620 factory _Int16Array.transferable(int length) { |
| 530 return _newTransferable(length); | 621 return _newTransferable(length); |
| 531 } | 622 } |
| 532 | 623 |
| 533 factory _Int16Array.view(ByteArray array, [int start = 0, int length]) { | 624 factory _Int16Array.view(ByteArray array, [int start = 0, int length]) { |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 715 | 806 |
| 716 int lengthInBytes() { | 807 int lengthInBytes() { |
| 717 return _length() * _BYTES_PER_ELEMENT; | 808 return _length() * _BYTES_PER_ELEMENT; |
| 718 } | 809 } |
| 719 | 810 |
| 720 static const int _BYTES_PER_ELEMENT = 4; | 811 static const int _BYTES_PER_ELEMENT = 4; |
| 721 | 812 |
| 722 static _Int32Array _new(int length) native "Int32Array_new"; | 813 static _Int32Array _new(int length) native "Int32Array_new"; |
| 723 static _Int32Array _newTransferable(int length) | 814 static _Int32Array _newTransferable(int length) |
| 724 native "Int32Array_newTransferable"; | 815 native "Int32Array_newTransferable"; |
| 725 | 816 |
| 726 | 817 |
| 727 int _getIndexed(int index) native "Int32Array_getIndexed"; | 818 int _getIndexed(int index) native "Int32Array_getIndexed"; |
| 728 int _setIndexed(int index, int value) native "Int32Array_setIndexed"; | 819 int _setIndexed(int index, int value) native "Int32Array_setIndexed"; |
| 729 } | 820 } |
| 730 | 821 |
| 731 | 822 |
| 732 class _Uint32Array extends _ByteArrayBase implements Uint32List { | 823 class _Uint32Array extends _ByteArrayBase implements Uint32List { |
| 733 factory _Uint32Array(int length) { | 824 factory _Uint32Array(int length) { |
| 734 return _new(length); | 825 return _new(length); |
| 735 } | 826 } |
| (...skipping 1785 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2521 } | 2612 } |
| 2522 _rangeCheck(this.length, start, length); | 2613 _rangeCheck(this.length, start, length); |
| 2523 return _array.subByteArray(_offset + start, length); | 2614 return _array.subByteArray(_offset + start, length); |
| 2524 } | 2615 } |
| 2525 | 2616 |
| 2526 static const int _BYTES_PER_ELEMENT = 8; | 2617 static const int _BYTES_PER_ELEMENT = 8; |
| 2527 final ByteArray _array; | 2618 final ByteArray _array; |
| 2528 final int _offset; | 2619 final int _offset; |
| 2529 final int _length; | 2620 final int _length; |
| 2530 } | 2621 } |
| OLD | NEW |