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.transferrable(int length) { | |
|
Ivan Posva
2012/12/02 14:17:55
ditto
| |
| 11 return new _Int8Array.transferrable(length); | |
| 12 } | |
| 13 | |
| 10 /* patch */ factory Int8List.view(ByteArray array, | 14 /* patch */ factory Int8List.view(ByteArray array, |
| 11 [int start = 0, int length]) { | 15 [int start = 0, int length]) { |
| 12 return new _Int8ArrayView(array, start, length); | 16 return new _Int8ArrayView(array, start, length); |
| 13 } | 17 } |
| 14 } | 18 } |
| 15 | 19 |
| 16 | 20 |
| 17 patch class Uint8List { | 21 patch class Uint8List { |
| 18 /* patch */ factory Uint8List(int length) { | 22 /* patch */ factory Uint8List(int length) { |
| 19 return new _Uint8Array(length); | 23 return new _Uint8Array(length); |
| 20 } | 24 } |
| 21 | 25 |
| 26 /* patch */ factory Uint8List.transferrable(int length) { | |
| 27 return new _Uint8Array.transferrable(length); | |
| 28 } | |
| 29 | |
| 22 /* patch */ factory Uint8List.view(ByteArray array, | 30 /* patch */ factory Uint8List.view(ByteArray array, |
| 23 [int start = 0, int length]) { | 31 [int start = 0, int length]) { |
| 24 return new _Uint8ArrayView(array, start, length); | 32 return new _Uint8ArrayView(array, start, length); |
| 25 } | 33 } |
| 26 } | 34 } |
| 27 | 35 |
| 28 | 36 |
| 29 patch class Int16List { | 37 patch class Int16List { |
| 30 /* patch */ factory Int16List(int length) { | 38 /* patch */ factory Int16List(int length) { |
| 31 return new _Int16Array(length); | 39 return new _Int16Array(length); |
| 32 } | 40 } |
| 33 | 41 |
| 42 /* patch */ factory Int16List.transferrable(int length) { | |
| 43 return new _Int16Array.transferrable(length); | |
| 44 } | |
| 45 | |
| 34 /* patch */ factory Int16List.view(ByteArray array, [int start = 0, int length ]) { | 46 /* patch */ factory Int16List.view(ByteArray array, [int start = 0, int length ]) { |
| 35 return new _Int16ArrayView(array, start, length); | 47 return new _Int16ArrayView(array, start, length); |
| 36 } | 48 } |
| 37 } | 49 } |
| 38 | 50 |
| 39 | 51 |
| 40 patch class Uint16List { | 52 patch class Uint16List { |
| 41 /* patch */ factory Uint16List(int length) { | 53 /* patch */ factory Uint16List(int length) { |
| 42 return new _Uint16Array(length); | 54 return new _Uint16Array(length); |
| 43 } | 55 } |
| 44 | 56 |
| 57 /* patch */ factory Uint16List.transferrable(int length) { | |
| 58 return new _Uint16Array.transferrable(length); | |
| 59 } | |
| 60 | |
| 45 /* patch */ factory Uint16List.view(ByteArray array, [int start = 0, int lengt h]) { | 61 /* patch */ factory Uint16List.view(ByteArray array, [int start = 0, int lengt h]) { |
| 46 return new _Uint16ArrayView(array, start, length); | 62 return new _Uint16ArrayView(array, start, length); |
| 47 } | 63 } |
| 48 } | 64 } |
| 49 | 65 |
| 50 | 66 |
| 51 patch class Int32List { | 67 patch class Int32List { |
| 52 /* patch */ factory Int32List(int length) { | 68 /* patch */ factory Int32List(int length) { |
| 53 return new _Int32Array(length); | 69 return new _Int32Array(length); |
| 54 } | 70 } |
| 55 | 71 |
| 72 /* patch */ factory Int32List.transferrable(int length) { | |
| 73 return new _Int32Array.transferrable(length); | |
| 74 } | |
| 75 | |
| 56 /* patch */ factory Int32List.view(ByteArray array, [int start = 0, int length ]) { | 76 /* patch */ factory Int32List.view(ByteArray array, [int start = 0, int length ]) { |
| 57 return new _Int32ArrayView(array, start, length); | 77 return new _Int32ArrayView(array, start, length); |
| 58 } | 78 } |
| 59 } | 79 } |
| 60 | 80 |
| 61 | 81 |
| 62 patch class Uint32List { | 82 patch class Uint32List { |
| 63 /* patch */ factory Uint32List(int length) { | 83 /* patch */ factory Uint32List(int length) { |
| 64 return new _Uint32Array(length); | 84 return new _Uint32Array(length); |
| 65 } | 85 } |
| 66 | 86 |
| 87 /* patch */ factory Uint32List.transferrable(int length) { | |
| 88 return new _Uint32Array.transferrable(length); | |
| 89 } | |
| 90 | |
| 67 /* patch */ factory Uint32List.view(ByteArray array, [int start = 0, int lengt h]) { | 91 /* patch */ factory Uint32List.view(ByteArray array, [int start = 0, int lengt h]) { |
| 68 return new _Uint32ArrayView(array, start, length); | 92 return new _Uint32ArrayView(array, start, length); |
| 69 } | 93 } |
| 70 } | 94 } |
| 71 | 95 |
| 72 | 96 |
| 73 patch class Int64List { | 97 patch class Int64List { |
| 74 /* patch */ factory Int64List(int length) { | 98 /* patch */ factory Int64List(int length) { |
| 75 return new _Int64Array(length); | 99 return new _Int64Array(length); |
| 76 } | 100 } |
| 77 | 101 |
| 102 /* patch */ factory Int64List.transferrable(int length) { | |
| 103 return new _Int64Array.transferrable(length); | |
| 104 } | |
| 105 | |
| 78 /* patch */ factory Int64List.view(ByteArray array, [int start = 0, int length ]) { | 106 /* patch */ factory Int64List.view(ByteArray array, [int start = 0, int length ]) { |
| 79 return new _Int64ArrayView(array, start, length); | 107 return new _Int64ArrayView(array, start, length); |
| 80 } | 108 } |
| 81 } | 109 } |
| 82 | 110 |
| 83 | 111 |
| 84 patch class Uint64List { | 112 patch class Uint64List { |
| 85 /* patch */ factory Uint64List(int length) { | 113 /* patch */ factory Uint64List(int length) { |
| 86 return new _Uint64Array(length); | 114 return new _Uint64Array(length); |
| 87 } | 115 } |
| 88 | 116 |
| 117 /* patch */ factory Uint64List.transferrable(int length) { | |
| 118 return new _Uint64Array.transferrable(length); | |
| 119 } | |
| 120 | |
| 89 /* patch */ factory Uint64List.view(ByteArray array, [int start = 0, int lengt h]) { | 121 /* patch */ factory Uint64List.view(ByteArray array, [int start = 0, int lengt h]) { |
| 90 return new _Uint64ArrayView(array, start, length); | 122 return new _Uint64ArrayView(array, start, length); |
| 91 } | 123 } |
| 92 } | 124 } |
| 93 | 125 |
| 94 | 126 |
| 95 patch class Float32List { | 127 patch class Float32List { |
| 96 /* patch */ factory Float32List(int length) { | 128 /* patch */ factory Float32List(int length) { |
| 97 return new _Float32Array(length); | 129 return new _Float32Array(length); |
| 98 } | 130 } |
| 99 | 131 |
| 132 /* patch */ factory Float32List.transferrable(int length) { | |
| 133 return new _Float32Array.transferrable(length); | |
| 134 } | |
| 135 | |
| 100 /* patch */ factory Float32List.view(ByteArray array, [int start = 0, int leng th]) { | 136 /* patch */ factory Float32List.view(ByteArray array, [int start = 0, int leng th]) { |
| 101 return new _Float32ArrayView(array, start, length); | 137 return new _Float32ArrayView(array, start, length); |
| 102 } | 138 } |
| 103 } | 139 } |
| 104 | 140 |
| 105 | 141 |
| 106 patch class Float64List { | 142 patch class Float64List { |
| 107 /* patch */ factory Float64List(int length) { | 143 /* patch */ factory Float64List(int length) { |
| 108 return new _Float64Array(length); | 144 return new _Float64Array(length); |
| 109 } | 145 } |
| 110 | 146 |
| 147 /* patch */ factory Float64List.transferrable(int length) { | |
| 148 return new _Float64Array.transferrable(length); | |
| 149 } | |
| 150 | |
| 111 /* patch */ factory Float64List.view(ByteArray array, [int start = 0, int leng th]) { | 151 /* patch */ factory Float64List.view(ByteArray array, [int start = 0, int leng th]) { |
| 112 return new _Float64ArrayView(array, start, length); | 152 return new _Float64ArrayView(array, start, length); |
| 113 } | 153 } |
| 114 } | 154 } |
| 115 | 155 |
| 116 | 156 |
| 117 abstract class _ByteArrayBase { | 157 abstract class _ByteArrayBase { |
| 118 int lengthInBytes(); | 158 int lengthInBytes(); |
| 119 | 159 |
| 120 int bytesPerElement(); | 160 int bytesPerElement(); |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 340 } | 380 } |
| 341 throw new ArgumentError("$object is not an integer or null"); | 381 throw new ArgumentError("$object is not an integer or null"); |
| 342 } | 382 } |
| 343 | 383 |
| 344 | 384 |
| 345 class _Int8Array extends _ByteArrayBase implements Int8List { | 385 class _Int8Array extends _ByteArrayBase implements Int8List { |
| 346 factory _Int8Array(int length) { | 386 factory _Int8Array(int length) { |
| 347 return _new(length); | 387 return _new(length); |
| 348 } | 388 } |
| 349 | 389 |
| 390 factory _Int8Array.transferrable(int length) { | |
| 391 return _newTransferrable(length); | |
| 392 } | |
| 393 | |
| 350 factory _Int8Array.view(ByteArray array, [int start = 0, int length]) { | 394 factory _Int8Array.view(ByteArray array, [int start = 0, int length]) { |
| 351 if (length == null) { | 395 if (length == null) { |
| 352 length = array.lengthInBytes(); | 396 length = array.lengthInBytes(); |
| 353 } | 397 } |
| 354 return new _Int8ArrayView(array, start, length); | 398 return new _Int8ArrayView(array, start, length); |
| 355 } | 399 } |
| 356 | 400 |
| 357 int operator[](int index) { | 401 int operator[](int index) { |
| 358 return _getIndexed(index); | 402 return _getIndexed(index); |
| 359 } | 403 } |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 392 return _BYTES_PER_ELEMENT; | 436 return _BYTES_PER_ELEMENT; |
| 393 } | 437 } |
| 394 | 438 |
| 395 int lengthInBytes() { | 439 int lengthInBytes() { |
| 396 return _length() * _BYTES_PER_ELEMENT; | 440 return _length() * _BYTES_PER_ELEMENT; |
| 397 } | 441 } |
| 398 | 442 |
| 399 static const int _BYTES_PER_ELEMENT = 1; | 443 static const int _BYTES_PER_ELEMENT = 1; |
| 400 | 444 |
| 401 static _Int8Array _new(int length) native "Int8Array_new"; | 445 static _Int8Array _new(int length) native "Int8Array_new"; |
| 446 static _Int8Array _newTransferrable(int length) | |
| 447 native "Int8Array_newTransferrable"; | |
| 448 | |
| 402 | 449 |
| 403 int _getIndexed(int index) native "Int8Array_getIndexed"; | 450 int _getIndexed(int index) native "Int8Array_getIndexed"; |
| 404 int _setIndexed(int index, int value) native "Int8Array_setIndexed"; | 451 int _setIndexed(int index, int value) native "Int8Array_setIndexed"; |
| 405 } | 452 } |
| 406 | 453 |
| 407 | 454 |
| 408 class _Uint8Array extends _ByteArrayBase implements Uint8List { | 455 class _Uint8Array extends _ByteArrayBase implements Uint8List { |
| 409 factory _Uint8Array(int length) { | 456 factory _Uint8Array(int length) { |
| 410 return _new(length); | 457 return _new(length); |
| 411 } | 458 } |
| 412 | 459 |
| 460 factory _Uint8Array.transferrable(int length) { | |
| 461 return _newTransferrable(length); | |
| 462 } | |
| 463 | |
| 413 factory _Uint8Array.view(ByteArray array, [int start = 0, int length]) { | 464 factory _Uint8Array.view(ByteArray array, [int start = 0, int length]) { |
| 414 if (length == null) { | 465 if (length == null) { |
| 415 length = array.lengthInBytes(); | 466 length = array.lengthInBytes(); |
| 416 } | 467 } |
| 417 return new _Uint8ArrayView(array, start, length); | 468 return new _Uint8ArrayView(array, start, length); |
| 418 } | 469 } |
| 419 | 470 |
| 420 int operator[](int index) { | 471 int operator[](int index) { |
| 421 return _getIndexed(index); | 472 return _getIndexed(index); |
| 422 } | 473 } |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 455 return _BYTES_PER_ELEMENT; | 506 return _BYTES_PER_ELEMENT; |
| 456 } | 507 } |
| 457 | 508 |
| 458 int lengthInBytes() { | 509 int lengthInBytes() { |
| 459 return _length() * _BYTES_PER_ELEMENT; | 510 return _length() * _BYTES_PER_ELEMENT; |
| 460 } | 511 } |
| 461 | 512 |
| 462 static const int _BYTES_PER_ELEMENT = 1; | 513 static const int _BYTES_PER_ELEMENT = 1; |
| 463 | 514 |
| 464 static _Uint8Array _new(int length) native "Uint8Array_new"; | 515 static _Uint8Array _new(int length) native "Uint8Array_new"; |
| 465 | 516 static _Uint8Array _newTransferrable(int length) |
| 517 native "Uint8Array_newTransferrable"; | |
| 518 | |
| 466 int _getIndexed(int index) native "Uint8Array_getIndexed"; | 519 int _getIndexed(int index) native "Uint8Array_getIndexed"; |
| 467 int _setIndexed(int index, int value) native "Uint8Array_setIndexed"; | 520 int _setIndexed(int index, int value) native "Uint8Array_setIndexed"; |
| 468 } | 521 } |
| 469 | 522 |
| 470 | 523 |
| 471 class _Int16Array extends _ByteArrayBase implements Int16List { | 524 class _Int16Array extends _ByteArrayBase implements Int16List { |
| 472 factory _Int16Array(int length) { | 525 factory _Int16Array(int length) { |
| 473 return _new(length); | 526 return _new(length); |
| 474 } | 527 } |
| 475 | 528 |
| 529 factory _Int16Array.transferrable(int length) { | |
| 530 return _newTransferrable(length); | |
| 531 } | |
| 532 | |
| 476 factory _Int16Array.view(ByteArray array, [int start = 0, int length]) { | 533 factory _Int16Array.view(ByteArray array, [int start = 0, int length]) { |
| 477 if (length == null) { | 534 if (length == null) { |
| 478 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT; | 535 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT; |
| 479 } | 536 } |
| 480 return new _Int16ArrayView(array, start, length); | 537 return new _Int16ArrayView(array, start, length); |
| 481 } | 538 } |
| 482 | 539 |
| 483 int operator[](int index) { | 540 int operator[](int index) { |
| 484 return _getIndexed(index); | 541 return _getIndexed(index); |
| 485 } | 542 } |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 518 return _BYTES_PER_ELEMENT; | 575 return _BYTES_PER_ELEMENT; |
| 519 } | 576 } |
| 520 | 577 |
| 521 int lengthInBytes() { | 578 int lengthInBytes() { |
| 522 return _length() * _BYTES_PER_ELEMENT; | 579 return _length() * _BYTES_PER_ELEMENT; |
| 523 } | 580 } |
| 524 | 581 |
| 525 static const int _BYTES_PER_ELEMENT = 2; | 582 static const int _BYTES_PER_ELEMENT = 2; |
| 526 | 583 |
| 527 static _Int16Array _new(int length) native "Int16Array_new"; | 584 static _Int16Array _new(int length) native "Int16Array_new"; |
| 585 static _Int16Array _newTransferrable(int length) | |
| 586 native "Int16Array_newTransferrable"; | |
| 528 | 587 |
| 529 int _getIndexed(int index) native "Int16Array_getIndexed"; | 588 int _getIndexed(int index) native "Int16Array_getIndexed"; |
| 530 int _setIndexed(int index, int value) native "Int16Array_setIndexed"; | 589 int _setIndexed(int index, int value) native "Int16Array_setIndexed"; |
| 531 } | 590 } |
| 532 | 591 |
| 533 | 592 |
| 534 class _Uint16Array extends _ByteArrayBase implements Uint16List { | 593 class _Uint16Array extends _ByteArrayBase implements Uint16List { |
| 535 factory _Uint16Array(int length) { | 594 factory _Uint16Array(int length) { |
| 536 return _new(length); | 595 return _new(length); |
| 537 } | 596 } |
| 538 | 597 |
| 598 factory _Uint16Array.transferrable(int length) { | |
| 599 return _newTransferrable(length); | |
| 600 } | |
| 601 | |
| 539 factory _Uint16Array.view(ByteArray array, [int start = 0, int length]) { | 602 factory _Uint16Array.view(ByteArray array, [int start = 0, int length]) { |
| 540 if (length == null) { | 603 if (length == null) { |
| 541 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT; | 604 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT; |
| 542 } | 605 } |
| 543 return new _Uint16ArrayView(array, start, length); | 606 return new _Uint16ArrayView(array, start, length); |
| 544 } | 607 } |
| 545 | 608 |
| 546 int operator[](int index) { | 609 int operator[](int index) { |
| 547 return _getIndexed(index); | 610 return _getIndexed(index); |
| 548 } | 611 } |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 581 return _BYTES_PER_ELEMENT; | 644 return _BYTES_PER_ELEMENT; |
| 582 } | 645 } |
| 583 | 646 |
| 584 int lengthInBytes() { | 647 int lengthInBytes() { |
| 585 return _length() * _BYTES_PER_ELEMENT; | 648 return _length() * _BYTES_PER_ELEMENT; |
| 586 } | 649 } |
| 587 | 650 |
| 588 static const int _BYTES_PER_ELEMENT = 2; | 651 static const int _BYTES_PER_ELEMENT = 2; |
| 589 | 652 |
| 590 static _Uint16Array _new(int length) native "Uint16Array_new"; | 653 static _Uint16Array _new(int length) native "Uint16Array_new"; |
| 654 static _Uint16Array _newTransferrable(int length) | |
| 655 native "Uint16Array_newTransferrable"; | |
| 591 | 656 |
| 592 int _getIndexed(int index) native "Uint16Array_getIndexed"; | 657 int _getIndexed(int index) native "Uint16Array_getIndexed"; |
| 593 int _setIndexed(int index, int value) native "Uint16Array_setIndexed"; | 658 int _setIndexed(int index, int value) native "Uint16Array_setIndexed"; |
| 594 } | 659 } |
| 595 | 660 |
| 596 | 661 |
| 597 class _Int32Array extends _ByteArrayBase implements Int32List { | 662 class _Int32Array extends _ByteArrayBase implements Int32List { |
| 598 factory _Int32Array(int length) { | 663 factory _Int32Array(int length) { |
| 599 return _new(length); | 664 return _new(length); |
| 600 } | 665 } |
| 601 | 666 |
| 667 factory _Int32Array.transferrable(int length) { | |
| 668 return _newTransferrable(length); | |
| 669 } | |
| 670 | |
| 602 factory _Int32Array.view(ByteArray array, [int start = 0, int length]) { | 671 factory _Int32Array.view(ByteArray array, [int start = 0, int length]) { |
| 603 if (length == null) { | 672 if (length == null) { |
| 604 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT; | 673 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT; |
| 605 } | 674 } |
| 606 return new _Int32ArrayView(array, start, length); | 675 return new _Int32ArrayView(array, start, length); |
| 607 } | 676 } |
| 608 | 677 |
| 609 int operator[](int index) { | 678 int operator[](int index) { |
| 610 return _getIndexed(index); | 679 return _getIndexed(index); |
| 611 } | 680 } |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 644 return _BYTES_PER_ELEMENT; | 713 return _BYTES_PER_ELEMENT; |
| 645 } | 714 } |
| 646 | 715 |
| 647 int lengthInBytes() { | 716 int lengthInBytes() { |
| 648 return _length() * _BYTES_PER_ELEMENT; | 717 return _length() * _BYTES_PER_ELEMENT; |
| 649 } | 718 } |
| 650 | 719 |
| 651 static const int _BYTES_PER_ELEMENT = 4; | 720 static const int _BYTES_PER_ELEMENT = 4; |
| 652 | 721 |
| 653 static _Int32Array _new(int length) native "Int32Array_new"; | 722 static _Int32Array _new(int length) native "Int32Array_new"; |
| 723 static _Int32Array _newTransferrable(int length) | |
| 724 native "Int32Array_newTransferrable"; | |
| 725 | |
| 654 | 726 |
| 655 int _getIndexed(int index) native "Int32Array_getIndexed"; | 727 int _getIndexed(int index) native "Int32Array_getIndexed"; |
| 656 int _setIndexed(int index, int value) native "Int32Array_setIndexed"; | 728 int _setIndexed(int index, int value) native "Int32Array_setIndexed"; |
| 657 } | 729 } |
| 658 | 730 |
| 659 | 731 |
| 660 class _Uint32Array extends _ByteArrayBase implements Uint32List { | 732 class _Uint32Array extends _ByteArrayBase implements Uint32List { |
| 661 factory _Uint32Array(int length) { | 733 factory _Uint32Array(int length) { |
| 662 return _new(length); | 734 return _new(length); |
| 663 } | 735 } |
| 664 | 736 |
| 737 factory _Uint32Array.transferrable(int length) { | |
| 738 return _newTransferrable(length); | |
| 739 } | |
| 740 | |
| 665 factory _Uint32Array.view(ByteArray array, [int start = 0, int length]) { | 741 factory _Uint32Array.view(ByteArray array, [int start = 0, int length]) { |
| 666 if (length == null) { | 742 if (length == null) { |
| 667 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT; | 743 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT; |
| 668 } | 744 } |
| 669 return new _Uint32ArrayView(array, start, length); | 745 return new _Uint32ArrayView(array, start, length); |
| 670 } | 746 } |
| 671 | 747 |
| 672 int operator[](int index) { | 748 int operator[](int index) { |
| 673 return _getIndexed(index); | 749 return _getIndexed(index); |
| 674 } | 750 } |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 707 return _BYTES_PER_ELEMENT; | 783 return _BYTES_PER_ELEMENT; |
| 708 } | 784 } |
| 709 | 785 |
| 710 int lengthInBytes() { | 786 int lengthInBytes() { |
| 711 return _length() * _BYTES_PER_ELEMENT; | 787 return _length() * _BYTES_PER_ELEMENT; |
| 712 } | 788 } |
| 713 | 789 |
| 714 static const int _BYTES_PER_ELEMENT = 4; | 790 static const int _BYTES_PER_ELEMENT = 4; |
| 715 | 791 |
| 716 static _Uint32Array _new(int length) native "Uint32Array_new"; | 792 static _Uint32Array _new(int length) native "Uint32Array_new"; |
| 793 static _Uint32Array _newTransferrable(int length) | |
| 794 native "Uint32Array_newTransferrable"; | |
| 717 | 795 |
| 718 int _getIndexed(int index) native "Uint32Array_getIndexed"; | 796 int _getIndexed(int index) native "Uint32Array_getIndexed"; |
| 719 int _setIndexed(int index, int value) native "Uint32Array_setIndexed"; | 797 int _setIndexed(int index, int value) native "Uint32Array_setIndexed"; |
| 720 } | 798 } |
| 721 | 799 |
| 722 | 800 |
| 723 class _Int64Array extends _ByteArrayBase implements Int64List { | 801 class _Int64Array extends _ByteArrayBase implements Int64List { |
| 724 factory _Int64Array(int length) { | 802 factory _Int64Array(int length) { |
| 725 return _new(length); | 803 return _new(length); |
| 726 } | 804 } |
| 727 | 805 |
| 806 factory _Int64Array.transferrable(int length) { | |
| 807 return _newTransferrable(length); | |
| 808 } | |
| 809 | |
| 728 factory _Int64Array.view(ByteArray array, [int start = 0, int length]) { | 810 factory _Int64Array.view(ByteArray array, [int start = 0, int length]) { |
| 729 if (length == null) { | 811 if (length == null) { |
| 730 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT; | 812 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT; |
| 731 } | 813 } |
| 732 return new _Int64ArrayView(array, start, length); | 814 return new _Int64ArrayView(array, start, length); |
| 733 } | 815 } |
| 734 | 816 |
| 735 int operator[](int index) { | 817 int operator[](int index) { |
| 736 return _getIndexed(index); | 818 return _getIndexed(index); |
| 737 } | 819 } |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 770 return _BYTES_PER_ELEMENT; | 852 return _BYTES_PER_ELEMENT; |
| 771 } | 853 } |
| 772 | 854 |
| 773 int lengthInBytes() { | 855 int lengthInBytes() { |
| 774 return _length() * _BYTES_PER_ELEMENT; | 856 return _length() * _BYTES_PER_ELEMENT; |
| 775 } | 857 } |
| 776 | 858 |
| 777 static const int _BYTES_PER_ELEMENT = 8; | 859 static const int _BYTES_PER_ELEMENT = 8; |
| 778 | 860 |
| 779 static _Int64Array _new(int length) native "Int64Array_new"; | 861 static _Int64Array _new(int length) native "Int64Array_new"; |
| 862 static _Int64Array _newTransferrable(int length) | |
| 863 native "Int64Array_newTransferrable"; | |
| 780 | 864 |
| 781 int _getIndexed(int index) native "Int64Array_getIndexed"; | 865 int _getIndexed(int index) native "Int64Array_getIndexed"; |
| 782 int _setIndexed(int index, int value) native "Int64Array_setIndexed"; | 866 int _setIndexed(int index, int value) native "Int64Array_setIndexed"; |
| 783 } | 867 } |
| 784 | 868 |
| 785 | 869 |
| 786 class _Uint64Array extends _ByteArrayBase implements Uint64List { | 870 class _Uint64Array extends _ByteArrayBase implements Uint64List { |
| 787 factory _Uint64Array(int length) { | 871 factory _Uint64Array(int length) { |
| 788 return _new(length); | 872 return _new(length); |
| 789 } | 873 } |
| 790 | 874 |
| 875 factory _Uint64Array.transferrable(int length) { | |
| 876 return _newTransferrable(length); | |
| 877 } | |
| 878 | |
| 791 factory _Uint64Array.view(ByteArray array, [int start = 0, int length]) { | 879 factory _Uint64Array.view(ByteArray array, [int start = 0, int length]) { |
| 792 if (length == null) { | 880 if (length == null) { |
| 793 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT; | 881 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT; |
| 794 } | 882 } |
| 795 return new _Uint64ArrayView(array, start, length); | 883 return new _Uint64ArrayView(array, start, length); |
| 796 } | 884 } |
| 797 | 885 |
| 798 int operator[](int index) { | 886 int operator[](int index) { |
| 799 return _getIndexed(index); | 887 return _getIndexed(index); |
| 800 } | 888 } |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 833 return _BYTES_PER_ELEMENT; | 921 return _BYTES_PER_ELEMENT; |
| 834 } | 922 } |
| 835 | 923 |
| 836 int lengthInBytes() { | 924 int lengthInBytes() { |
| 837 return _length() * _BYTES_PER_ELEMENT; | 925 return _length() * _BYTES_PER_ELEMENT; |
| 838 } | 926 } |
| 839 | 927 |
| 840 static const int _BYTES_PER_ELEMENT = 8; | 928 static const int _BYTES_PER_ELEMENT = 8; |
| 841 | 929 |
| 842 static _Uint64Array _new(int length) native "Uint64Array_new"; | 930 static _Uint64Array _new(int length) native "Uint64Array_new"; |
| 931 static _Uint64Array _newTransferrable(int length) | |
| 932 native "Uint64Array_newTransferrable"; | |
| 843 | 933 |
| 844 int _getIndexed(int index) native "Uint64Array_getIndexed"; | 934 int _getIndexed(int index) native "Uint64Array_getIndexed"; |
| 845 int _setIndexed(int index, int value) native "Uint64Array_setIndexed"; | 935 int _setIndexed(int index, int value) native "Uint64Array_setIndexed"; |
| 846 } | 936 } |
| 847 | 937 |
| 848 | 938 |
| 849 class _Float32Array extends _ByteArrayBase implements Float32List { | 939 class _Float32Array extends _ByteArrayBase implements Float32List { |
| 850 factory _Float32Array(int length) { | 940 factory _Float32Array(int length) { |
| 851 return _new(length); | 941 return _new(length); |
| 852 } | 942 } |
| 853 | 943 |
| 944 factory _Float32Array.transferrable(int length) { | |
| 945 return _newTransferrable(length); | |
| 946 } | |
| 947 | |
| 854 factory _Float32Array.view(ByteArray array, [int start = 0, int length]) { | 948 factory _Float32Array.view(ByteArray array, [int start = 0, int length]) { |
| 855 if (length == null) { | 949 if (length == null) { |
| 856 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT; | 950 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT; |
| 857 } | 951 } |
| 858 return new _Float32ArrayView(array, start, length); | 952 return new _Float32ArrayView(array, start, length); |
| 859 } | 953 } |
| 860 | 954 |
| 861 double operator[](int index) { | 955 double operator[](int index) { |
| 862 return _getIndexed(index); | 956 return _getIndexed(index); |
| 863 } | 957 } |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 896 return _BYTES_PER_ELEMENT; | 990 return _BYTES_PER_ELEMENT; |
| 897 } | 991 } |
| 898 | 992 |
| 899 int lengthInBytes() { | 993 int lengthInBytes() { |
| 900 return _length() * _BYTES_PER_ELEMENT; | 994 return _length() * _BYTES_PER_ELEMENT; |
| 901 } | 995 } |
| 902 | 996 |
| 903 static const int _BYTES_PER_ELEMENT = 4; | 997 static const int _BYTES_PER_ELEMENT = 4; |
| 904 | 998 |
| 905 static _Float32Array _new(int length) native "Float32Array_new"; | 999 static _Float32Array _new(int length) native "Float32Array_new"; |
| 1000 static _Float32Array _newTransferrable(int length) | |
| 1001 native "Float32Array_newTransferrable"; | |
| 906 | 1002 |
| 907 double _getIndexed(int index) native "Float32Array_getIndexed"; | 1003 double _getIndexed(int index) native "Float32Array_getIndexed"; |
| 908 int _setIndexed(int index, double value) native "Float32Array_setIndexed"; | 1004 int _setIndexed(int index, double value) native "Float32Array_setIndexed"; |
| 909 } | 1005 } |
| 910 | 1006 |
| 911 | 1007 |
| 912 class _Float64Array extends _ByteArrayBase implements Float64List { | 1008 class _Float64Array extends _ByteArrayBase implements Float64List { |
| 913 factory _Float64Array(int length) { | 1009 factory _Float64Array(int length) { |
| 914 return _new(length); | 1010 return _new(length); |
| 915 } | 1011 } |
| 916 | 1012 |
| 1013 factory _Float64Array.transferrable(int length) { | |
| 1014 return _newTransferrable(length); | |
| 1015 } | |
| 1016 | |
| 917 factory _Float64Array.view(ByteArray array, [int start = 0, int length]) { | 1017 factory _Float64Array.view(ByteArray array, [int start = 0, int length]) { |
| 918 if (length == null) { | 1018 if (length == null) { |
| 919 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT; | 1019 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT; |
| 920 } | 1020 } |
| 921 return new _Float64ArrayView(array, start, length); | 1021 return new _Float64ArrayView(array, start, length); |
| 922 } | 1022 } |
| 923 | 1023 |
| 924 double operator[](int index) { | 1024 double operator[](int index) { |
| 925 return _getIndexed(index); | 1025 return _getIndexed(index); |
| 926 } | 1026 } |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 959 return _BYTES_PER_ELEMENT; | 1059 return _BYTES_PER_ELEMENT; |
| 960 } | 1060 } |
| 961 | 1061 |
| 962 int lengthInBytes() { | 1062 int lengthInBytes() { |
| 963 return _length() * _BYTES_PER_ELEMENT; | 1063 return _length() * _BYTES_PER_ELEMENT; |
| 964 } | 1064 } |
| 965 | 1065 |
| 966 static const int _BYTES_PER_ELEMENT = 8; | 1066 static const int _BYTES_PER_ELEMENT = 8; |
| 967 | 1067 |
| 968 static _Float64Array _new(int length) native "Float64Array_new"; | 1068 static _Float64Array _new(int length) native "Float64Array_new"; |
| 1069 static _Float64Array _newTransferrable(int length) | |
| 1070 native "Float64Array_newTransferrable"; | |
| 969 | 1071 |
| 970 double _getIndexed(int index) native "Float64Array_getIndexed"; | 1072 double _getIndexed(int index) native "Float64Array_getIndexed"; |
| 971 int _setIndexed(int index, double value) native "Float64Array_setIndexed"; | 1073 int _setIndexed(int index, double value) native "Float64Array_setIndexed"; |
| 972 } | 1074 } |
| 973 | 1075 |
| 974 | 1076 |
| 975 class _ExternalInt8Array extends _ByteArrayBase implements Int8List { | 1077 class _ExternalInt8Array extends _ByteArrayBase implements Int8List { |
| 976 int operator[](int index) { | 1078 int operator[](int index) { |
| 977 return _getIndexed(index); | 1079 return _getIndexed(index); |
| 978 } | 1080 } |
| (...skipping 1440 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2419 } | 2521 } |
| 2420 _rangeCheck(this.length, start, length); | 2522 _rangeCheck(this.length, start, length); |
| 2421 return _array.subByteArray(_offset + start, length); | 2523 return _array.subByteArray(_offset + start, length); |
| 2422 } | 2524 } |
| 2423 | 2525 |
| 2424 static const int _BYTES_PER_ELEMENT = 8; | 2526 static const int _BYTES_PER_ELEMENT = 8; |
| 2425 final ByteArray _array; | 2527 final ByteArray _array; |
| 2426 final int _offset; | 2528 final int _offset; |
| 2427 final int _length; | 2529 final int _length; |
| 2428 } | 2530 } |
| OLD | NEW |