Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(271)

Side by Side Diff: runtime/lib/byte_array.dart

Issue 12379085: Revert "Move Arrays class to private library." (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | runtime/lib/growable_array.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 void addAll(Iterable value) { 318 void addAll(Iterable value) {
319 throw new UnsupportedError( 319 throw new UnsupportedError(
320 "Cannot add to a non-extendable array"); 320 "Cannot add to a non-extendable array");
321 } 321 }
322 322
323 void sort([int compare(var a, var b)]) { 323 void sort([int compare(var a, var b)]) {
324 return IterableMixinWorkaround.sortList(this, compare); 324 return IterableMixinWorkaround.sortList(this, compare);
325 } 325 }
326 326
327 int indexOf(element, [int start = 0]) { 327 int indexOf(element, [int start = 0]) {
328 return IterableMixinWorkaround.indexOfList(this, element, start); 328 return Arrays.indexOf(this, element, start, this.length);
329 } 329 }
330 330
331 int lastIndexOf(element, [int start = null]) { 331 int lastIndexOf(element, [int start = null]) {
332 return IterableMixinWorkaround.lastIndexOfList(this, element, start); 332 if (start == null) start = length - 1;
333 return Arrays.lastIndexOf(this, element, start);
333 } 334 }
334 335
335 void clear() { 336 void clear() {
336 throw new UnsupportedError( 337 throw new UnsupportedError(
337 "Cannot remove from a non-extendable array"); 338 "Cannot remove from a non-extendable array");
338 } 339 }
339 340
340 int removeLast() { 341 int removeLast() {
341 throw new UnsupportedError( 342 throw new UnsupportedError(
342 "Cannot remove from a non-extendable array"); 343 "Cannot remove from a non-extendable array");
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
563 return result; 564 return result;
564 } 565 }
565 566
566 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 567 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
567 if (from is _Int8Array) { 568 if (from is _Int8Array) {
568 _setRange(start * _BYTES_PER_ELEMENT, 569 _setRange(start * _BYTES_PER_ELEMENT,
569 length * _BYTES_PER_ELEMENT, 570 length * _BYTES_PER_ELEMENT,
570 from, 571 from,
571 startFrom * _BYTES_PER_ELEMENT); 572 startFrom * _BYTES_PER_ELEMENT);
572 } else { 573 } else {
573 IterableMixinWorkaround.setRangeList( 574 Arrays.copy(from, startFrom, this, start, length);
574 this, start, length, from, startFrom);
575 } 575 }
576 } 576 }
577 577
578 String toString() { 578 String toString() {
579 return Collections.collectionToString(this); 579 return Collections.collectionToString(this);
580 } 580 }
581 581
582 int bytesPerElement() { 582 int bytesPerElement() {
583 return _BYTES_PER_ELEMENT; 583 return _BYTES_PER_ELEMENT;
584 } 584 }
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
628 } 628 }
629 629
630 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 630 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
631 if (from is _Uint8Array || from is _ExternalUint8Array || 631 if (from is _Uint8Array || from is _ExternalUint8Array ||
632 from is _Uint8ClampedArray || from is _ExternalUint8ClampedArray) { 632 from is _Uint8ClampedArray || from is _ExternalUint8ClampedArray) {
633 _setRange(start * _BYTES_PER_ELEMENT, 633 _setRange(start * _BYTES_PER_ELEMENT,
634 length * _BYTES_PER_ELEMENT, 634 length * _BYTES_PER_ELEMENT,
635 from, 635 from,
636 startFrom * _BYTES_PER_ELEMENT); 636 startFrom * _BYTES_PER_ELEMENT);
637 } else { 637 } else {
638 IterableMixinWorkaround.setRangeList( 638 Arrays.copy(from, startFrom, this, start, length);
639 this, start, length, from, startFrom);
640 } 639 }
641 } 640 }
642 641
643 String toString() { 642 String toString() {
644 return Collections.collectionToString(this); 643 return Collections.collectionToString(this);
645 } 644 }
646 645
647 int bytesPerElement() { 646 int bytesPerElement() {
648 return _BYTES_PER_ELEMENT; 647 return _BYTES_PER_ELEMENT;
649 } 648 }
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
694 } 693 }
695 694
696 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 695 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
697 if (from is _Uint8Array || from is _ExternalUint8Array || 696 if (from is _Uint8Array || from is _ExternalUint8Array ||
698 from is _Uint8ClampedArray || from is _ExternalUint8ClampedArray) { 697 from is _Uint8ClampedArray || from is _ExternalUint8ClampedArray) {
699 _setRange(start * _BYTES_PER_ELEMENT, 698 _setRange(start * _BYTES_PER_ELEMENT,
700 length * _BYTES_PER_ELEMENT, 699 length * _BYTES_PER_ELEMENT,
701 from, 700 from,
702 startFrom * _BYTES_PER_ELEMENT); 701 startFrom * _BYTES_PER_ELEMENT);
703 } else { 702 } else {
704 IterableMixinWorkaround.setRangeList( 703 Arrays.copy(from, startFrom, this, start, length);
705 this, start, length, from, startFrom);
706 } 704 }
707 } 705 }
708 706
709 String toString() { 707 String toString() {
710 return Collections.collectionToString(this); 708 return Collections.collectionToString(this);
711 } 709 }
712 710
713 int bytesPerElement() { 711 int bytesPerElement() {
714 return _BYTES_PER_ELEMENT; 712 return _BYTES_PER_ELEMENT;
715 } 713 }
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
758 return result; 756 return result;
759 } 757 }
760 758
761 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 759 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
762 if (from is _Int16Array) { 760 if (from is _Int16Array) {
763 _setRange(start * _BYTES_PER_ELEMENT, 761 _setRange(start * _BYTES_PER_ELEMENT,
764 length * _BYTES_PER_ELEMENT, 762 length * _BYTES_PER_ELEMENT,
765 from, 763 from,
766 startFrom * _BYTES_PER_ELEMENT); 764 startFrom * _BYTES_PER_ELEMENT);
767 } else { 765 } else {
768 IterableMixinWorkaround.setRangeList( 766 Arrays.copy(from, startFrom, this, start, length);
769 this, start, length, from, startFrom);
770 } 767 }
771 } 768 }
772 769
773 String toString() { 770 String toString() {
774 return Collections.collectionToString(this); 771 return Collections.collectionToString(this);
775 } 772 }
776 773
777 int bytesPerElement() { 774 int bytesPerElement() {
778 return _BYTES_PER_ELEMENT; 775 return _BYTES_PER_ELEMENT;
779 } 776 }
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
822 return result; 819 return result;
823 } 820 }
824 821
825 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 822 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
826 if (from is _Uint16Array) { 823 if (from is _Uint16Array) {
827 _setRange(start * _BYTES_PER_ELEMENT, 824 _setRange(start * _BYTES_PER_ELEMENT,
828 length * _BYTES_PER_ELEMENT, 825 length * _BYTES_PER_ELEMENT,
829 from, 826 from,
830 startFrom * _BYTES_PER_ELEMENT); 827 startFrom * _BYTES_PER_ELEMENT);
831 } else { 828 } else {
832 IterableMixinWorkaround.setRangeList( 829 Arrays.copy(from, startFrom, this, start, length);
833 this, start, length, from, startFrom);
834 } 830 }
835 } 831 }
836 832
837 String toString() { 833 String toString() {
838 return Collections.collectionToString(this); 834 return Collections.collectionToString(this);
839 } 835 }
840 836
841 int bytesPerElement() { 837 int bytesPerElement() {
842 return _BYTES_PER_ELEMENT; 838 return _BYTES_PER_ELEMENT;
843 } 839 }
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
886 return result; 882 return result;
887 } 883 }
888 884
889 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 885 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
890 if (from is _Int32Array) { 886 if (from is _Int32Array) {
891 _setRange(start * _BYTES_PER_ELEMENT, 887 _setRange(start * _BYTES_PER_ELEMENT,
892 length * _BYTES_PER_ELEMENT, 888 length * _BYTES_PER_ELEMENT,
893 from, 889 from,
894 startFrom * _BYTES_PER_ELEMENT); 890 startFrom * _BYTES_PER_ELEMENT);
895 } else { 891 } else {
896 IterableMixinWorkaround.setRangeList( 892 Arrays.copy(from, startFrom, this, start, length);
897 this, start, length, from, startFrom);
898 } 893 }
899 } 894 }
900 895
901 String toString() { 896 String toString() {
902 return Collections.collectionToString(this); 897 return Collections.collectionToString(this);
903 } 898 }
904 899
905 int bytesPerElement() { 900 int bytesPerElement() {
906 return _BYTES_PER_ELEMENT; 901 return _BYTES_PER_ELEMENT;
907 } 902 }
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
951 return result; 946 return result;
952 } 947 }
953 948
954 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 949 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
955 if (from is _Uint32Array) { 950 if (from is _Uint32Array) {
956 _setRange(start * _BYTES_PER_ELEMENT, 951 _setRange(start * _BYTES_PER_ELEMENT,
957 length * _BYTES_PER_ELEMENT, 952 length * _BYTES_PER_ELEMENT,
958 from, 953 from,
959 startFrom * _BYTES_PER_ELEMENT); 954 startFrom * _BYTES_PER_ELEMENT);
960 } else { 955 } else {
961 IterableMixinWorkaround.setRangeList( 956 Arrays.copy(from, startFrom, this, start, length);
962 this, start, length, from, startFrom);
963 } 957 }
964 } 958 }
965 959
966 String toString() { 960 String toString() {
967 return Collections.collectionToString(this); 961 return Collections.collectionToString(this);
968 } 962 }
969 963
970 int bytesPerElement() { 964 int bytesPerElement() {
971 return _BYTES_PER_ELEMENT; 965 return _BYTES_PER_ELEMENT;
972 } 966 }
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
1015 return result; 1009 return result;
1016 } 1010 }
1017 1011
1018 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 1012 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
1019 if (from is _Int64Array) { 1013 if (from is _Int64Array) {
1020 _setRange(start * _BYTES_PER_ELEMENT, 1014 _setRange(start * _BYTES_PER_ELEMENT,
1021 length * _BYTES_PER_ELEMENT, 1015 length * _BYTES_PER_ELEMENT,
1022 from, 1016 from,
1023 startFrom * _BYTES_PER_ELEMENT); 1017 startFrom * _BYTES_PER_ELEMENT);
1024 } else { 1018 } else {
1025 IterableMixinWorkaround.setRangeList( 1019 Arrays.copy(from, startFrom, this, start, length);
1026 this, start, length, from, startFrom);
1027 } 1020 }
1028 } 1021 }
1029 1022
1030 String toString() { 1023 String toString() {
1031 return Collections.collectionToString(this); 1024 return Collections.collectionToString(this);
1032 } 1025 }
1033 1026
1034 int bytesPerElement() { 1027 int bytesPerElement() {
1035 return _BYTES_PER_ELEMENT; 1028 return _BYTES_PER_ELEMENT;
1036 } 1029 }
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
1079 return result; 1072 return result;
1080 } 1073 }
1081 1074
1082 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 1075 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
1083 if (from is _Uint64Array) { 1076 if (from is _Uint64Array) {
1084 _setRange(start * _BYTES_PER_ELEMENT, 1077 _setRange(start * _BYTES_PER_ELEMENT,
1085 length * _BYTES_PER_ELEMENT, 1078 length * _BYTES_PER_ELEMENT,
1086 from, 1079 from,
1087 startFrom * _BYTES_PER_ELEMENT); 1080 startFrom * _BYTES_PER_ELEMENT);
1088 } else { 1081 } else {
1089 IterableMixinWorkaround.setRangeList( 1082 Arrays.copy(from, startFrom, this, start, length);
1090 this, start, length, from, startFrom);
1091 } 1083 }
1092 } 1084 }
1093 1085
1094 String toString() { 1086 String toString() {
1095 return Collections.collectionToString(this); 1087 return Collections.collectionToString(this);
1096 } 1088 }
1097 1089
1098 int bytesPerElement() { 1090 int bytesPerElement() {
1099 return _BYTES_PER_ELEMENT; 1091 return _BYTES_PER_ELEMENT;
1100 } 1092 }
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
1143 return result; 1135 return result;
1144 } 1136 }
1145 1137
1146 void setRange(int start, int length, List<double> from, [int startFrom = 0]) { 1138 void setRange(int start, int length, List<double> from, [int startFrom = 0]) {
1147 if (from is _Float32Array) { 1139 if (from is _Float32Array) {
1148 _setRange(start * _BYTES_PER_ELEMENT, 1140 _setRange(start * _BYTES_PER_ELEMENT,
1149 length * _BYTES_PER_ELEMENT, 1141 length * _BYTES_PER_ELEMENT,
1150 from, 1142 from,
1151 startFrom * _BYTES_PER_ELEMENT); 1143 startFrom * _BYTES_PER_ELEMENT);
1152 } else { 1144 } else {
1153 IterableMixinWorkaround.setRangeList( 1145 Arrays.copy(from, startFrom, this, start, length);
1154 this, start, length, from, startFrom);
1155 } 1146 }
1156 } 1147 }
1157 1148
1158 String toString() { 1149 String toString() {
1159 return Collections.collectionToString(this); 1150 return Collections.collectionToString(this);
1160 } 1151 }
1161 1152
1162 int bytesPerElement() { 1153 int bytesPerElement() {
1163 return _BYTES_PER_ELEMENT; 1154 return _BYTES_PER_ELEMENT;
1164 } 1155 }
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
1207 return result; 1198 return result;
1208 } 1199 }
1209 1200
1210 void setRange(int start, int length, List<double> from, [int startFrom = 0]) { 1201 void setRange(int start, int length, List<double> from, [int startFrom = 0]) {
1211 if (from is _Float64Array) { 1202 if (from is _Float64Array) {
1212 _setRange(start * _BYTES_PER_ELEMENT, 1203 _setRange(start * _BYTES_PER_ELEMENT,
1213 length * _BYTES_PER_ELEMENT, 1204 length * _BYTES_PER_ELEMENT,
1214 from, 1205 from,
1215 startFrom * _BYTES_PER_ELEMENT); 1206 startFrom * _BYTES_PER_ELEMENT);
1216 } else { 1207 } else {
1217 IterableMixinWorkaround.setRangeList( 1208 Arrays.copy(from, startFrom, this, start, length);
1218 this, start, length, from, startFrom);
1219 } 1209 }
1220 } 1210 }
1221 1211
1222 String toString() { 1212 String toString() {
1223 return Collections.collectionToString(this); 1213 return Collections.collectionToString(this);
1224 } 1214 }
1225 1215
1226 int bytesPerElement() { 1216 int bytesPerElement() {
1227 return _BYTES_PER_ELEMENT; 1217 return _BYTES_PER_ELEMENT;
1228 } 1218 }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1260 return result; 1250 return result;
1261 } 1251 }
1262 1252
1263 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 1253 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
1264 if (from is _ExternalInt8Array) { 1254 if (from is _ExternalInt8Array) {
1265 _setRange(start * _BYTES_PER_ELEMENT, 1255 _setRange(start * _BYTES_PER_ELEMENT,
1266 length * _BYTES_PER_ELEMENT, 1256 length * _BYTES_PER_ELEMENT,
1267 from, 1257 from,
1268 startFrom * _BYTES_PER_ELEMENT); 1258 startFrom * _BYTES_PER_ELEMENT);
1269 } else { 1259 } else {
1270 IterableMixinWorkaround.setRangeList( 1260 Arrays.copy(from, startFrom, this, start, length);
1271 this, start, length, from, startFrom);
1272 } 1261 }
1273 } 1262 }
1274 1263
1275 String toString() { 1264 String toString() {
1276 return Collections.collectionToString(this); 1265 return Collections.collectionToString(this);
1277 } 1266 }
1278 1267
1279 int bytesPerElement() { 1268 int bytesPerElement() {
1280 return _BYTES_PER_ELEMENT; 1269 return _BYTES_PER_ELEMENT;
1281 } 1270 }
(...skipping 29 matching lines...) Expand all
1311 return result; 1300 return result;
1312 } 1301 }
1313 1302
1314 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 1303 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
1315 if (from is _ExternalUint8Array || from is _Uint8Array) { 1304 if (from is _ExternalUint8Array || from is _Uint8Array) {
1316 _setRange(start * _BYTES_PER_ELEMENT, 1305 _setRange(start * _BYTES_PER_ELEMENT,
1317 length * _BYTES_PER_ELEMENT, 1306 length * _BYTES_PER_ELEMENT,
1318 from, 1307 from,
1319 startFrom * _BYTES_PER_ELEMENT); 1308 startFrom * _BYTES_PER_ELEMENT);
1320 } else { 1309 } else {
1321 IterableMixinWorkaround.setRangeList(this, start, length, from, startFrom) ; 1310 Arrays.copy(from, startFrom, this, start, length);
1322 } 1311 }
1323 } 1312 }
1324 1313
1325 String toString() { 1314 String toString() {
1326 return Collections.collectionToString(this); 1315 return Collections.collectionToString(this);
1327 } 1316 }
1328 1317
1329 int bytesPerElement() { 1318 int bytesPerElement() {
1330 return _BYTES_PER_ELEMENT; 1319 return _BYTES_PER_ELEMENT;
1331 } 1320 }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1363 return result; 1352 return result;
1364 } 1353 }
1365 1354
1366 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 1355 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
1367 if (from is _ExternalUint8ClampedArray || from is _Uint8ClampedArray) { 1356 if (from is _ExternalUint8ClampedArray || from is _Uint8ClampedArray) {
1368 _setRange(start * _BYTES_PER_ELEMENT, 1357 _setRange(start * _BYTES_PER_ELEMENT,
1369 length * _BYTES_PER_ELEMENT, 1358 length * _BYTES_PER_ELEMENT,
1370 from, 1359 from,
1371 startFrom * _BYTES_PER_ELEMENT); 1360 startFrom * _BYTES_PER_ELEMENT);
1372 } else { 1361 } else {
1373 IterableMixinWorkaround.setRangeList( 1362 Arrays.copy(from, startFrom, this, start, length);
1374 this, start, length, from, startFrom);
1375 } 1363 }
1376 } 1364 }
1377 1365
1378 String toString() { 1366 String toString() {
1379 return Collections.collectionToString(this); 1367 return Collections.collectionToString(this);
1380 } 1368 }
1381 1369
1382 int bytesPerElement() { 1370 int bytesPerElement() {
1383 return _BYTES_PER_ELEMENT; 1371 return _BYTES_PER_ELEMENT;
1384 } 1372 }
(...skipping 29 matching lines...) Expand all
1414 return result; 1402 return result;
1415 } 1403 }
1416 1404
1417 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 1405 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
1418 if (from is _ExternalInt16Array) { 1406 if (from is _ExternalInt16Array) {
1419 _setRange(start * _BYTES_PER_ELEMENT, 1407 _setRange(start * _BYTES_PER_ELEMENT,
1420 length * _BYTES_PER_ELEMENT, 1408 length * _BYTES_PER_ELEMENT,
1421 from, 1409 from,
1422 startFrom * _BYTES_PER_ELEMENT); 1410 startFrom * _BYTES_PER_ELEMENT);
1423 } else { 1411 } else {
1424 IterableMixinWorkaround.setRangeList( 1412 Arrays.copy(from, startFrom, this, start, length);
1425 this, start, length, from, startFrom);
1426 } 1413 }
1427 } 1414 }
1428 1415
1429 String toString() { 1416 String toString() {
1430 return Collections.collectionToString(this); 1417 return Collections.collectionToString(this);
1431 } 1418 }
1432 1419
1433 int bytesPerElement() { 1420 int bytesPerElement() {
1434 return _BYTES_PER_ELEMENT; 1421 return _BYTES_PER_ELEMENT;
1435 } 1422 }
(...skipping 29 matching lines...) Expand all
1465 return result; 1452 return result;
1466 } 1453 }
1467 1454
1468 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 1455 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
1469 if (from is _ExternalUint16Array) { 1456 if (from is _ExternalUint16Array) {
1470 _setRange(start * _BYTES_PER_ELEMENT, 1457 _setRange(start * _BYTES_PER_ELEMENT,
1471 length * _BYTES_PER_ELEMENT, 1458 length * _BYTES_PER_ELEMENT,
1472 from, 1459 from,
1473 startFrom * _BYTES_PER_ELEMENT); 1460 startFrom * _BYTES_PER_ELEMENT);
1474 } else { 1461 } else {
1475 IterableMixinWorkaround.setRangeList( 1462 Arrays.copy(from, startFrom, this, start, length);
1476 this, start, length, from, startFrom);
1477 } 1463 }
1478 } 1464 }
1479 1465
1480 String toString() { 1466 String toString() {
1481 return Collections.collectionToString(this); 1467 return Collections.collectionToString(this);
1482 } 1468 }
1483 1469
1484 int bytesPerElement() { 1470 int bytesPerElement() {
1485 return _BYTES_PER_ELEMENT; 1471 return _BYTES_PER_ELEMENT;
1486 } 1472 }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1518 return result; 1504 return result;
1519 } 1505 }
1520 1506
1521 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 1507 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
1522 if (from is _ExternalInt32Array) { 1508 if (from is _ExternalInt32Array) {
1523 _setRange(start * _BYTES_PER_ELEMENT, 1509 _setRange(start * _BYTES_PER_ELEMENT,
1524 length * _BYTES_PER_ELEMENT, 1510 length * _BYTES_PER_ELEMENT,
1525 from, 1511 from,
1526 startFrom * _BYTES_PER_ELEMENT); 1512 startFrom * _BYTES_PER_ELEMENT);
1527 } else { 1513 } else {
1528 IterableMixinWorkaround.setRangeList( 1514 Arrays.copy(from, startFrom, this, start, length);
1529 this, start, length, from, startFrom);
1530 } 1515 }
1531 } 1516 }
1532 1517
1533 String toString() { 1518 String toString() {
1534 return Collections.collectionToString(this); 1519 return Collections.collectionToString(this);
1535 } 1520 }
1536 1521
1537 int bytesPerElement() { 1522 int bytesPerElement() {
1538 return _BYTES_PER_ELEMENT; 1523 return _BYTES_PER_ELEMENT;
1539 } 1524 }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1571 return result; 1556 return result;
1572 } 1557 }
1573 1558
1574 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 1559 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
1575 if (from is _ExternalUint32Array) { 1560 if (from is _ExternalUint32Array) {
1576 _setRange(start * _BYTES_PER_ELEMENT, 1561 _setRange(start * _BYTES_PER_ELEMENT,
1577 length * _BYTES_PER_ELEMENT, 1562 length * _BYTES_PER_ELEMENT,
1578 from, 1563 from,
1579 startFrom * _BYTES_PER_ELEMENT); 1564 startFrom * _BYTES_PER_ELEMENT);
1580 } else { 1565 } else {
1581 IterableMixinWorkaround.setRangeList( 1566 Arrays.copy(from, startFrom, this, start, length);
1582 this, start, length, from, startFrom);
1583 } 1567 }
1584 } 1568 }
1585 1569
1586 String toString() { 1570 String toString() {
1587 return Collections.collectionToString(this); 1571 return Collections.collectionToString(this);
1588 } 1572 }
1589 1573
1590 int bytesPerElement() { 1574 int bytesPerElement() {
1591 return _BYTES_PER_ELEMENT; 1575 return _BYTES_PER_ELEMENT;
1592 } 1576 }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1624 return result; 1608 return result;
1625 } 1609 }
1626 1610
1627 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 1611 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
1628 if (from is _ExternalInt64Array) { 1612 if (from is _ExternalInt64Array) {
1629 _setRange(start * _BYTES_PER_ELEMENT, 1613 _setRange(start * _BYTES_PER_ELEMENT,
1630 length * _BYTES_PER_ELEMENT, 1614 length * _BYTES_PER_ELEMENT,
1631 from, 1615 from,
1632 startFrom * _BYTES_PER_ELEMENT); 1616 startFrom * _BYTES_PER_ELEMENT);
1633 } else { 1617 } else {
1634 IterableMixinWorkaround.setRangeList( 1618 Arrays.copy(from, startFrom, this, start, length);
1635 this, start, length, from, startFrom);
1636 } 1619 }
1637 } 1620 }
1638 1621
1639 String toString() { 1622 String toString() {
1640 return Collections.collectionToString(this); 1623 return Collections.collectionToString(this);
1641 } 1624 }
1642 1625
1643 int bytesPerElement() { 1626 int bytesPerElement() {
1644 return _BYTES_PER_ELEMENT; 1627 return _BYTES_PER_ELEMENT;
1645 } 1628 }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1677 return result; 1660 return result;
1678 } 1661 }
1679 1662
1680 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 1663 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
1681 if (from is _ExternalUint64Array) { 1664 if (from is _ExternalUint64Array) {
1682 _setRange(start * _BYTES_PER_ELEMENT, 1665 _setRange(start * _BYTES_PER_ELEMENT,
1683 length * _BYTES_PER_ELEMENT, 1666 length * _BYTES_PER_ELEMENT,
1684 from, 1667 from,
1685 startFrom * _BYTES_PER_ELEMENT); 1668 startFrom * _BYTES_PER_ELEMENT);
1686 } else { 1669 } else {
1687 IterableMixinWorkaround.setRangeList( 1670 Arrays.copy(from, startFrom, this, start, length);
1688 this, start, length, from, startFrom);
1689 } 1671 }
1690 } 1672 }
1691 1673
1692 String toString() { 1674 String toString() {
1693 return Collections.collectionToString(this); 1675 return Collections.collectionToString(this);
1694 } 1676 }
1695 1677
1696 int bytesPerElement() { 1678 int bytesPerElement() {
1697 return _BYTES_PER_ELEMENT; 1679 return _BYTES_PER_ELEMENT;
1698 } 1680 }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1730 return result; 1712 return result;
1731 } 1713 }
1732 1714
1733 void setRange(int start, int length, List<double> from, [int startFrom = 0]) { 1715 void setRange(int start, int length, List<double> from, [int startFrom = 0]) {
1734 if (from is _ExternalFloat32Array) { 1716 if (from is _ExternalFloat32Array) {
1735 _setRange(start * _BYTES_PER_ELEMENT, 1717 _setRange(start * _BYTES_PER_ELEMENT,
1736 length * _BYTES_PER_ELEMENT, 1718 length * _BYTES_PER_ELEMENT,
1737 from, 1719 from,
1738 startFrom * _BYTES_PER_ELEMENT); 1720 startFrom * _BYTES_PER_ELEMENT);
1739 } else { 1721 } else {
1740 IterableMixinWorkaround.setRangeList( 1722 Arrays.copy(from, startFrom, this, start, length);
1741 this, start, length, from, startFrom);
1742 } 1723 }
1743 } 1724 }
1744 1725
1745 String toString() { 1726 String toString() {
1746 return Collections.collectionToString(this); 1727 return Collections.collectionToString(this);
1747 } 1728 }
1748 1729
1749 int bytesPerElement() { 1730 int bytesPerElement() {
1750 return _BYTES_PER_ELEMENT; 1731 return _BYTES_PER_ELEMENT;
1751 } 1732 }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1783 return result; 1764 return result;
1784 } 1765 }
1785 1766
1786 void setRange(int start, int length, List<double> from, [int startFrom = 0]) { 1767 void setRange(int start, int length, List<double> from, [int startFrom = 0]) {
1787 if (from is _ExternalFloat64Array) { 1768 if (from is _ExternalFloat64Array) {
1788 _setRange(start * _BYTES_PER_ELEMENT, 1769 _setRange(start * _BYTES_PER_ELEMENT,
1789 length * _BYTES_PER_ELEMENT, 1770 length * _BYTES_PER_ELEMENT,
1790 from, 1771 from,
1791 startFrom * _BYTES_PER_ELEMENT); 1772 startFrom * _BYTES_PER_ELEMENT);
1792 } else { 1773 } else {
1793 IterableMixinWorkaround.setRangeList( 1774 Arrays.copy(from, startFrom, this, start, length);
1794 this, start, length, from, startFrom);
1795 } 1775 }
1796 } 1776 }
1797 1777
1798 String toString() { 1778 String toString() {
1799 return Collections.collectionToString(this); 1779 return Collections.collectionToString(this);
1800 } 1780 }
1801 1781
1802 int bytesPerElement() { 1782 int bytesPerElement() {
1803 return _BYTES_PER_ELEMENT; 1783 return _BYTES_PER_ELEMENT;
1804 } 1784 }
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
1986 void addAll(Iterable value) { 1966 void addAll(Iterable value) {
1987 throw new UnsupportedError( 1967 throw new UnsupportedError(
1988 "Cannot add to a non-extendable array"); 1968 "Cannot add to a non-extendable array");
1989 } 1969 }
1990 1970
1991 void sort([int compare(var a, var b)]) { 1971 void sort([int compare(var a, var b)]) {
1992 return IterableMixinWorkaround.sortList(this, compare); 1972 return IterableMixinWorkaround.sortList(this, compare);
1993 } 1973 }
1994 1974
1995 int indexOf(element, [int start = 0]) { 1975 int indexOf(element, [int start = 0]) {
1996 return IterableMixinWorkaround.indexOfList(this, element, start); 1976 return Arrays.indexOf(this, element, start, this.length);
1997 } 1977 }
1998 1978
1999 int lastIndexOf(element, [int start = null]) { 1979 int lastIndexOf(element, [int start = null]) {
2000 return IterableMixinWorkaround.lastIndexOfList(this, element, start); 1980 if (start == null) start = length - 1;
1981 return Arrays.lastIndexOf(this, element, start);
2001 } 1982 }
2002 1983
2003 void clear() { 1984 void clear() {
2004 throw new UnsupportedError( 1985 throw new UnsupportedError(
2005 "Cannot remove from a non-extendable array"); 1986 "Cannot remove from a non-extendable array");
2006 } 1987 }
2007 1988
2008 int removeLast() { 1989 int removeLast() {
2009 throw new UnsupportedError( 1990 throw new UnsupportedError(
2010 "Cannot remove from a non-extendable array"); 1991 "Cannot remove from a non-extendable array");
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
2106 } 2087 }
2107 2088
2108 List<int> getRange(int start, int length) { 2089 List<int> getRange(int start, int length) {
2109 _rangeCheck(this.length, start, length); 2090 _rangeCheck(this.length, start, length);
2110 List<int> result = new Int8List(length); 2091 List<int> result = new Int8List(length);
2111 result.setRange(0, length, this, start); 2092 result.setRange(0, length, this, start);
2112 return result; 2093 return result;
2113 } 2094 }
2114 2095
2115 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 2096 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
2116 IterableMixinWorkaround.setRangeList(this, start, length, from, startFrom); 2097 Arrays.copy(from, startFrom, this, start, length);
2117 } 2098 }
2118 2099
2119 String toString() { 2100 String toString() {
2120 return Collections.collectionToString(this); 2101 return Collections.collectionToString(this);
2121 } 2102 }
2122 2103
2123 int bytesPerElement() { 2104 int bytesPerElement() {
2124 return _BYTES_PER_ELEMENT; 2105 return _BYTES_PER_ELEMENT;
2125 } 2106 }
2126 2107
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
2170 } 2151 }
2171 2152
2172 List<int> getRange(int start, int length) { 2153 List<int> getRange(int start, int length) {
2173 _rangeCheck(this.length, start, length); 2154 _rangeCheck(this.length, start, length);
2174 List<int> result = new Uint8List(length); 2155 List<int> result = new Uint8List(length);
2175 result.setRange(0, length, this, start); 2156 result.setRange(0, length, this, start);
2176 return result; 2157 return result;
2177 } 2158 }
2178 2159
2179 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 2160 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
2180 IterableMixinWorkaround.setRangeList(this, start, length, from, startFrom); 2161 Arrays.copy(from, startFrom, this, start, length);
2181 } 2162 }
2182 2163
2183 String toString() { 2164 String toString() {
2184 return Collections.collectionToString(this); 2165 return Collections.collectionToString(this);
2185 } 2166 }
2186 2167
2187 int bytesPerElement() { 2168 int bytesPerElement() {
2188 return _BYTES_PER_ELEMENT; 2169 return _BYTES_PER_ELEMENT;
2189 } 2170 }
2190 2171
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
2234 } 2215 }
2235 2216
2236 List<int> getRange(int start, int length) { 2217 List<int> getRange(int start, int length) {
2237 _rangeCheck(this.length, start, length); 2218 _rangeCheck(this.length, start, length);
2238 List<int> result = new Int16List(length); 2219 List<int> result = new Int16List(length);
2239 result.setRange(0, length, this, start); 2220 result.setRange(0, length, this, start);
2240 return result; 2221 return result;
2241 } 2222 }
2242 2223
2243 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 2224 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
2244 IterableMixinWorkaround.setRangeList(this, start, length, from, startFrom); 2225 Arrays.copy(from, startFrom, this, start, length);
2245 } 2226 }
2246 2227
2247 String toString() { 2228 String toString() {
2248 return Collections.collectionToString(this); 2229 return Collections.collectionToString(this);
2249 } 2230 }
2250 2231
2251 int bytesPerElement() { 2232 int bytesPerElement() {
2252 return _BYTES_PER_ELEMENT; 2233 return _BYTES_PER_ELEMENT;
2253 } 2234 }
2254 2235
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
2298 } 2279 }
2299 2280
2300 List<int> getRange(int start, int length) { 2281 List<int> getRange(int start, int length) {
2301 _rangeCheck(this.length, start, length); 2282 _rangeCheck(this.length, start, length);
2302 List<int> result = new Uint16List(length); 2283 List<int> result = new Uint16List(length);
2303 result.setRange(0, length, this, start); 2284 result.setRange(0, length, this, start);
2304 return result; 2285 return result;
2305 } 2286 }
2306 2287
2307 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 2288 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
2308 IterableMixinWorkaround.setRangeList(this, start, length, from, startFrom); 2289 Arrays.copy(from, startFrom, this, start, length);
2309 } 2290 }
2310 2291
2311 String toString() { 2292 String toString() {
2312 return Collections.collectionToString(this); 2293 return Collections.collectionToString(this);
2313 } 2294 }
2314 2295
2315 int bytesPerElement() { 2296 int bytesPerElement() {
2316 return _BYTES_PER_ELEMENT; 2297 return _BYTES_PER_ELEMENT;
2317 } 2298 }
2318 2299
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
2362 } 2343 }
2363 2344
2364 List<int> getRange(int start, int length) { 2345 List<int> getRange(int start, int length) {
2365 _rangeCheck(this.length, start, length); 2346 _rangeCheck(this.length, start, length);
2366 List<int> result = new Int32List(length); 2347 List<int> result = new Int32List(length);
2367 result.setRange(0, length, this, start); 2348 result.setRange(0, length, this, start);
2368 return result; 2349 return result;
2369 } 2350 }
2370 2351
2371 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 2352 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
2372 IterableMixinWorkaround.setRangeList(this, start, length, from, startFrom); 2353 Arrays.copy(from, startFrom, this, start, length);
2373 } 2354 }
2374 2355
2375 String toString() { 2356 String toString() {
2376 return Collections.collectionToString(this); 2357 return Collections.collectionToString(this);
2377 } 2358 }
2378 2359
2379 int bytesPerElement() { 2360 int bytesPerElement() {
2380 return _BYTES_PER_ELEMENT; 2361 return _BYTES_PER_ELEMENT;
2381 } 2362 }
2382 2363
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
2426 } 2407 }
2427 2408
2428 List<int> getRange(int start, int length) { 2409 List<int> getRange(int start, int length) {
2429 _rangeCheck(this.length, start, length); 2410 _rangeCheck(this.length, start, length);
2430 List<int> result = new Uint32List(length); 2411 List<int> result = new Uint32List(length);
2431 result.setRange(0, length, this, start); 2412 result.setRange(0, length, this, start);
2432 return result; 2413 return result;
2433 } 2414 }
2434 2415
2435 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 2416 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
2436 IterableMixinWorkaround.setRangeList(this, start, length, from, startFrom); 2417 Arrays.copy(from, startFrom, this, start, length);
2437 } 2418 }
2438 2419
2439 String toString() { 2420 String toString() {
2440 return Collections.collectionToString(this); 2421 return Collections.collectionToString(this);
2441 } 2422 }
2442 2423
2443 int bytesPerElement() { 2424 int bytesPerElement() {
2444 return _BYTES_PER_ELEMENT; 2425 return _BYTES_PER_ELEMENT;
2445 } 2426 }
2446 2427
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
2490 } 2471 }
2491 2472
2492 List<int> getRange(int start, int length) { 2473 List<int> getRange(int start, int length) {
2493 _rangeCheck(this.length, start, length); 2474 _rangeCheck(this.length, start, length);
2494 List<int> result = new Int64List(length); 2475 List<int> result = new Int64List(length);
2495 result.setRange(0, length, this, start); 2476 result.setRange(0, length, this, start);
2496 return result; 2477 return result;
2497 } 2478 }
2498 2479
2499 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 2480 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
2500 IterableMixinWorkaround.setRangeList(this, start, length, from, startFrom); 2481 Arrays.copy(from, startFrom, this, start, length);
2501 } 2482 }
2502 2483
2503 String toString() { 2484 String toString() {
2504 return Collections.collectionToString(this); 2485 return Collections.collectionToString(this);
2505 } 2486 }
2506 2487
2507 int bytesPerElement() { 2488 int bytesPerElement() {
2508 return _BYTES_PER_ELEMENT; 2489 return _BYTES_PER_ELEMENT;
2509 } 2490 }
2510 2491
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
2554 } 2535 }
2555 2536
2556 List<int> getRange(int start, int length) { 2537 List<int> getRange(int start, int length) {
2557 _rangeCheck(this.length, start, length); 2538 _rangeCheck(this.length, start, length);
2558 List<int> result = new Uint64List(length); 2539 List<int> result = new Uint64List(length);
2559 result.setRange(0, length, this, start); 2540 result.setRange(0, length, this, start);
2560 return result; 2541 return result;
2561 } 2542 }
2562 2543
2563 void setRange(int start, int length, List<int> from, [int startFrom = 0]) { 2544 void setRange(int start, int length, List<int> from, [int startFrom = 0]) {
2564 IterableMixinWorkaround.setRangeList(this, start, length, from, startFrom); 2545 Arrays.copy(from, startFrom, this, start, length);
2565 } 2546 }
2566 2547
2567 String toString() { 2548 String toString() {
2568 return Collections.collectionToString(this); 2549 return Collections.collectionToString(this);
2569 } 2550 }
2570 2551
2571 int bytesPerElement() { 2552 int bytesPerElement() {
2572 return _BYTES_PER_ELEMENT; 2553 return _BYTES_PER_ELEMENT;
2573 } 2554 }
2574 2555
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
2618 } 2599 }
2619 2600
2620 List<double> getRange(int start, int length) { 2601 List<double> getRange(int start, int length) {
2621 _rangeCheck(this.length, start, length); 2602 _rangeCheck(this.length, start, length);
2622 List<double> result = new Float32List(length); 2603 List<double> result = new Float32List(length);
2623 result.setRange(0, length, this, start); 2604 result.setRange(0, length, this, start);
2624 return result; 2605 return result;
2625 } 2606 }
2626 2607
2627 void setRange(int start, int length, List<double> from, [int startFrom = 0]) { 2608 void setRange(int start, int length, List<double> from, [int startFrom = 0]) {
2628 IterableMixinWorkaround.setRangeList(this, start, length, from, startFrom); 2609 Arrays.copy(from, startFrom, this, start, length);
2629 } 2610 }
2630 2611
2631 String toString() { 2612 String toString() {
2632 return Collections.collectionToString(this); 2613 return Collections.collectionToString(this);
2633 } 2614 }
2634 2615
2635 int bytesPerElement() { 2616 int bytesPerElement() {
2636 return _BYTES_PER_ELEMENT; 2617 return _BYTES_PER_ELEMENT;
2637 } 2618 }
2638 2619
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
2682 } 2663 }
2683 2664
2684 List<double> getRange(int start, int length) { 2665 List<double> getRange(int start, int length) {
2685 _rangeCheck(this.length, start, length); 2666 _rangeCheck(this.length, start, length);
2686 List<double> result = new Float64List(length); 2667 List<double> result = new Float64List(length);
2687 result.setRange(0, length, this, start); 2668 result.setRange(0, length, this, start);
2688 return result; 2669 return result;
2689 } 2670 }
2690 2671
2691 void setRange(int start, int length, List<double> from, [int startFrom = 0]) { 2672 void setRange(int start, int length, List<double> from, [int startFrom = 0]) {
2692 IterableMixinWorkaround.setRangeList(this, start, length, from, startFrom); 2673 Arrays.copy(from, startFrom, this, start, length);
2693 } 2674 }
2694 2675
2695 String toString() { 2676 String toString() {
2696 return Collections.collectionToString(this); 2677 return Collections.collectionToString(this);
2697 } 2678 }
2698 2679
2699 int bytesPerElement() { 2680 int bytesPerElement() {
2700 return _BYTES_PER_ELEMENT; 2681 return _BYTES_PER_ELEMENT;
2701 } 2682 }
2702 2683
2703 int lengthInBytes() { 2684 int lengthInBytes() {
2704 return length * _BYTES_PER_ELEMENT; 2685 return length * _BYTES_PER_ELEMENT;
2705 } 2686 }
2706 2687
2707 ByteArray asByteArray([int start = 0, int length]) { 2688 ByteArray asByteArray([int start = 0, int length]) {
2708 if (length == null) { 2689 if (length == null) {
2709 length = this.lengthInBytes(); 2690 length = this.lengthInBytes();
2710 } 2691 }
2711 _rangeCheck(this.length, start, length); 2692 _rangeCheck(this.length, start, length);
2712 return _array.subByteArray(_offset + start, length); 2693 return _array.subByteArray(_offset + start, length);
2713 } 2694 }
2714 2695
2715 static const int _BYTES_PER_ELEMENT = 8; 2696 static const int _BYTES_PER_ELEMENT = 8;
2716 } 2697 }
OLDNEW
« no previous file with comments | « no previous file | runtime/lib/growable_array.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698