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

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

Issue 10787021: Fix type checking of void type. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 5 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 | « runtime/lib/byte_array.cc ('k') | runtime/vm/code_generator.cc » ('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 /** 5 /**
6 * A random-access sequence of bytes that also provides random access to 6 * A random-access sequence of bytes that also provides random access to
7 * the fixed-width integers and floating point numbers represented by 7 * the fixed-width integers and floating point numbers represented by
8 * those bytes. Byte arrays may be used to pack and unpack data from 8 * those bytes. Byte arrays may be used to pack and unpack data from
9 * external sources (such as networks or files systems), and to process 9 * external sources (such as networks or files systems), and to process
10 * large quantities of numerical data more efficiently than would be possible 10 * large quantities of numerical data more efficiently than would be possible
(...skipping 1007 matching lines...) Expand 10 before | Expand all | Expand 10 after
1018 if (length === null) { 1018 if (length === null) {
1019 length = array.lengthInBytes(); 1019 length = array.lengthInBytes();
1020 } 1020 }
1021 return new _Int8ArrayView(array, start, length); 1021 return new _Int8ArrayView(array, start, length);
1022 } 1022 }
1023 1023
1024 int operator[](int index) { 1024 int operator[](int index) {
1025 return _getIndexed(index); 1025 return _getIndexed(index);
1026 } 1026 }
1027 1027
1028 void operator[]=(int index, int value) { 1028 int operator[]=(int index, int value) {
1029 _setIndexed(index, _toInt8(value)); 1029 _setIndexed(index, _toInt8(value));
1030 } 1030 }
1031 1031
1032 Iterator<int> iterator() { 1032 Iterator<int> iterator() {
1033 return new _ByteArrayIterator<int>(this); 1033 return new _ByteArrayIterator<int>(this);
1034 } 1034 }
1035 1035
1036 List<int> getRange(int start, int length) { 1036 List<int> getRange(int start, int length) {
1037 _rangeCheck(this.length, start, length); 1037 _rangeCheck(this.length, start, length);
1038 List<int> result = _new(length); 1038 List<int> result = _new(length);
(...skipping 22 matching lines...) Expand all
1061 1061
1062 int lengthInBytes() { 1062 int lengthInBytes() {
1063 return _length() * _BYTES_PER_ELEMENT; 1063 return _length() * _BYTES_PER_ELEMENT;
1064 } 1064 }
1065 1065
1066 static final int _BYTES_PER_ELEMENT = 1; 1066 static final int _BYTES_PER_ELEMENT = 1;
1067 1067
1068 static _Int8Array _new(int length) native "Int8Array_new"; 1068 static _Int8Array _new(int length) native "Int8Array_new";
1069 1069
1070 int _getIndexed(int index) native "Int8Array_getIndexed"; 1070 int _getIndexed(int index) native "Int8Array_getIndexed";
1071 void _setIndexed(int index, int value) native "Int8Array_setIndexed"; 1071 int _setIndexed(int index, int value) native "Int8Array_setIndexed";
1072 } 1072 }
1073 1073
1074 1074
1075 class _Uint8Array extends _ByteArrayBase implements Uint8List { 1075 class _Uint8Array extends _ByteArrayBase implements Uint8List {
1076 factory _Uint8Array(int length) { 1076 factory _Uint8Array(int length) {
1077 return _new(length); 1077 return _new(length);
1078 } 1078 }
1079 1079
1080 factory _Uint8Array.view(ByteArray array, [int start = 0, int length]) { 1080 factory _Uint8Array.view(ByteArray array, [int start = 0, int length]) {
1081 if (length === null) { 1081 if (length === null) {
1082 length = array.lengthInBytes(); 1082 length = array.lengthInBytes();
1083 } 1083 }
1084 return new _Uint8ArrayView(array, start, length); 1084 return new _Uint8ArrayView(array, start, length);
1085 } 1085 }
1086 1086
1087 int operator[](int index) { 1087 int operator[](int index) {
1088 return _getIndexed(index); 1088 return _getIndexed(index);
1089 } 1089 }
1090 1090
1091 void operator[]=(int index, int value) { 1091 int operator[]=(int index, int value) {
1092 _setIndexed(index, _toUint8(value)); 1092 _setIndexed(index, _toUint8(value));
1093 } 1093 }
1094 1094
1095 Iterator<int> iterator() { 1095 Iterator<int> iterator() {
1096 return new _ByteArrayIterator<int>(this); 1096 return new _ByteArrayIterator<int>(this);
1097 } 1097 }
1098 1098
1099 List<int> getRange(int start, int length) { 1099 List<int> getRange(int start, int length) {
1100 _rangeCheck(this.length, start, length); 1100 _rangeCheck(this.length, start, length);
1101 List<int> result = _new(length); 1101 List<int> result = _new(length);
(...skipping 22 matching lines...) Expand all
1124 1124
1125 int lengthInBytes() { 1125 int lengthInBytes() {
1126 return _length() * _BYTES_PER_ELEMENT; 1126 return _length() * _BYTES_PER_ELEMENT;
1127 } 1127 }
1128 1128
1129 static final int _BYTES_PER_ELEMENT = 1; 1129 static final int _BYTES_PER_ELEMENT = 1;
1130 1130
1131 static _Uint8Array _new(int length) native "Uint8Array_new"; 1131 static _Uint8Array _new(int length) native "Uint8Array_new";
1132 1132
1133 int _getIndexed(int index) native "Uint8Array_getIndexed"; 1133 int _getIndexed(int index) native "Uint8Array_getIndexed";
1134 void _setIndexed(int index, int value) native "Uint8Array_setIndexed"; 1134 int _setIndexed(int index, int value) native "Uint8Array_setIndexed";
1135 } 1135 }
1136 1136
1137 1137
1138 class _Int16Array extends _ByteArrayBase implements Int16List { 1138 class _Int16Array extends _ByteArrayBase implements Int16List {
1139 factory _Int16Array(int length) { 1139 factory _Int16Array(int length) {
1140 return _new(length); 1140 return _new(length);
1141 } 1141 }
1142 1142
1143 factory _Int16Array.view(ByteArray array, [int start = 0, int length]) { 1143 factory _Int16Array.view(ByteArray array, [int start = 0, int length]) {
1144 if (length === null) { 1144 if (length === null) {
1145 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT; 1145 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT;
1146 } 1146 }
1147 return new _Int16ArrayView(array, start, length); 1147 return new _Int16ArrayView(array, start, length);
1148 } 1148 }
1149 1149
1150 int operator[](int index) { 1150 int operator[](int index) {
1151 return _getIndexed(index); 1151 return _getIndexed(index);
1152 } 1152 }
1153 1153
1154 void operator[]=(int index, int value) { 1154 int operator[]=(int index, int value) {
1155 _setIndexed(index, _toInt16(value)); 1155 _setIndexed(index, _toInt16(value));
1156 } 1156 }
1157 1157
1158 Iterator<int> iterator() { 1158 Iterator<int> iterator() {
1159 return new _ByteArrayIterator<int>(this); 1159 return new _ByteArrayIterator<int>(this);
1160 } 1160 }
1161 1161
1162 List<int> getRange(int start, int length) { 1162 List<int> getRange(int start, int length) {
1163 _rangeCheck(this.length, start, length); 1163 _rangeCheck(this.length, start, length);
1164 List<int> result = _new(length); 1164 List<int> result = _new(length);
(...skipping 22 matching lines...) Expand all
1187 1187
1188 int lengthInBytes() { 1188 int lengthInBytes() {
1189 return _length() * _BYTES_PER_ELEMENT; 1189 return _length() * _BYTES_PER_ELEMENT;
1190 } 1190 }
1191 1191
1192 static final int _BYTES_PER_ELEMENT = 2; 1192 static final int _BYTES_PER_ELEMENT = 2;
1193 1193
1194 static _Int16Array _new(int length) native "Int16Array_new"; 1194 static _Int16Array _new(int length) native "Int16Array_new";
1195 1195
1196 int _getIndexed(int index) native "Int16Array_getIndexed"; 1196 int _getIndexed(int index) native "Int16Array_getIndexed";
1197 void _setIndexed(int index, int value) native "Int16Array_setIndexed"; 1197 int _setIndexed(int index, int value) native "Int16Array_setIndexed";
1198 } 1198 }
1199 1199
1200 1200
1201 class _Uint16Array extends _ByteArrayBase implements Uint16List { 1201 class _Uint16Array extends _ByteArrayBase implements Uint16List {
1202 factory _Uint16Array(int length) { 1202 factory _Uint16Array(int length) {
1203 return _new(length); 1203 return _new(length);
1204 } 1204 }
1205 1205
1206 factory _Uint16Array.view(ByteArray array, [int start = 0, int length]) { 1206 factory _Uint16Array.view(ByteArray array, [int start = 0, int length]) {
1207 if (length === null) { 1207 if (length === null) {
1208 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT; 1208 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT;
1209 } 1209 }
1210 return new _Uint16ArrayView(array, start, length); 1210 return new _Uint16ArrayView(array, start, length);
1211 } 1211 }
1212 1212
1213 int operator[](int index) { 1213 int operator[](int index) {
1214 return _getIndexed(index); 1214 return _getIndexed(index);
1215 } 1215 }
1216 1216
1217 void operator[]=(int index, int value) { 1217 int operator[]=(int index, int value) {
1218 _setIndexed(index, _toUint16(value)); 1218 _setIndexed(index, _toUint16(value));
1219 } 1219 }
1220 1220
1221 Iterator<int> iterator() { 1221 Iterator<int> iterator() {
1222 return new _ByteArrayIterator<int>(this); 1222 return new _ByteArrayIterator<int>(this);
1223 } 1223 }
1224 1224
1225 List<int> getRange(int start, int length) { 1225 List<int> getRange(int start, int length) {
1226 _rangeCheck(this.length, start, length); 1226 _rangeCheck(this.length, start, length);
1227 List<int> result = _new(length); 1227 List<int> result = _new(length);
(...skipping 22 matching lines...) Expand all
1250 1250
1251 int lengthInBytes() { 1251 int lengthInBytes() {
1252 return _length() * _BYTES_PER_ELEMENT; 1252 return _length() * _BYTES_PER_ELEMENT;
1253 } 1253 }
1254 1254
1255 static final int _BYTES_PER_ELEMENT = 2; 1255 static final int _BYTES_PER_ELEMENT = 2;
1256 1256
1257 static _Uint16Array _new(int length) native "Uint16Array_new"; 1257 static _Uint16Array _new(int length) native "Uint16Array_new";
1258 1258
1259 int _getIndexed(int index) native "Uint16Array_getIndexed"; 1259 int _getIndexed(int index) native "Uint16Array_getIndexed";
1260 void _setIndexed(int index, int value) native "Uint16Array_setIndexed"; 1260 int _setIndexed(int index, int value) native "Uint16Array_setIndexed";
1261 } 1261 }
1262 1262
1263 1263
1264 class _Int32Array extends _ByteArrayBase implements Int32List { 1264 class _Int32Array extends _ByteArrayBase implements Int32List {
1265 factory _Int32Array(int length) { 1265 factory _Int32Array(int length) {
1266 return _new(length); 1266 return _new(length);
1267 } 1267 }
1268 1268
1269 factory _Int32Array.view(ByteArray array, [int start = 0, int length]) { 1269 factory _Int32Array.view(ByteArray array, [int start = 0, int length]) {
1270 if (length === null) { 1270 if (length === null) {
1271 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT; 1271 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT;
1272 } 1272 }
1273 return new _Int32ArrayView(array, start, length); 1273 return new _Int32ArrayView(array, start, length);
1274 } 1274 }
1275 1275
1276 int operator[](int index) { 1276 int operator[](int index) {
1277 return _getIndexed(index); 1277 return _getIndexed(index);
1278 } 1278 }
1279 1279
1280 void operator[]=(int index, int value) { 1280 int operator[]=(int index, int value) {
1281 _setIndexed(index, _toInt32(value)); 1281 _setIndexed(index, _toInt32(value));
1282 } 1282 }
1283 1283
1284 Iterator<int> iterator() { 1284 Iterator<int> iterator() {
1285 return new _ByteArrayIterator<int>(this); 1285 return new _ByteArrayIterator<int>(this);
1286 } 1286 }
1287 1287
1288 List<int> getRange(int start, int length) { 1288 List<int> getRange(int start, int length) {
1289 _rangeCheck(this.length, start, length); 1289 _rangeCheck(this.length, start, length);
1290 List<int> result = _new(length); 1290 List<int> result = _new(length);
(...skipping 22 matching lines...) Expand all
1313 1313
1314 int lengthInBytes() { 1314 int lengthInBytes() {
1315 return _length() * _BYTES_PER_ELEMENT; 1315 return _length() * _BYTES_PER_ELEMENT;
1316 } 1316 }
1317 1317
1318 static final int _BYTES_PER_ELEMENT = 4; 1318 static final int _BYTES_PER_ELEMENT = 4;
1319 1319
1320 static _Int32Array _new(int length) native "Int32Array_new"; 1320 static _Int32Array _new(int length) native "Int32Array_new";
1321 1321
1322 int _getIndexed(int index) native "Int32Array_getIndexed"; 1322 int _getIndexed(int index) native "Int32Array_getIndexed";
1323 void _setIndexed(int index, int value) native "Int32Array_setIndexed"; 1323 int _setIndexed(int index, int value) native "Int32Array_setIndexed";
1324 } 1324 }
1325 1325
1326 1326
1327 class _Uint32Array extends _ByteArrayBase implements Uint32List { 1327 class _Uint32Array extends _ByteArrayBase implements Uint32List {
1328 factory _Uint32Array(int length) { 1328 factory _Uint32Array(int length) {
1329 return _new(length); 1329 return _new(length);
1330 } 1330 }
1331 1331
1332 factory _Uint32Array.view(ByteArray array, [int start = 0, int length]) { 1332 factory _Uint32Array.view(ByteArray array, [int start = 0, int length]) {
1333 if (length === null) { 1333 if (length === null) {
1334 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT; 1334 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT;
1335 } 1335 }
1336 return new _Uint32ArrayView(array, start, length); 1336 return new _Uint32ArrayView(array, start, length);
1337 } 1337 }
1338 1338
1339 int operator[](int index) { 1339 int operator[](int index) {
1340 return _getIndexed(index); 1340 return _getIndexed(index);
1341 } 1341 }
1342 1342
1343 void operator[]=(int index, int value) { 1343 int operator[]=(int index, int value) {
1344 _setIndexed(index, _toUint32(value)); 1344 _setIndexed(index, _toUint32(value));
1345 } 1345 }
1346 1346
1347 Iterator<int> iterator() { 1347 Iterator<int> iterator() {
1348 return new _ByteArrayIterator<int>(this); 1348 return new _ByteArrayIterator<int>(this);
1349 } 1349 }
1350 1350
1351 List<int> getRange(int start, int length) { 1351 List<int> getRange(int start, int length) {
1352 _rangeCheck(this.length, start, length); 1352 _rangeCheck(this.length, start, length);
1353 List<int> result = _new(length); 1353 List<int> result = _new(length);
(...skipping 22 matching lines...) Expand all
1376 1376
1377 int lengthInBytes() { 1377 int lengthInBytes() {
1378 return _length() * _BYTES_PER_ELEMENT; 1378 return _length() * _BYTES_PER_ELEMENT;
1379 } 1379 }
1380 1380
1381 static final int _BYTES_PER_ELEMENT = 4; 1381 static final int _BYTES_PER_ELEMENT = 4;
1382 1382
1383 static _Uint32Array _new(int length) native "Uint32Array_new"; 1383 static _Uint32Array _new(int length) native "Uint32Array_new";
1384 1384
1385 int _getIndexed(int index) native "Uint32Array_getIndexed"; 1385 int _getIndexed(int index) native "Uint32Array_getIndexed";
1386 void _setIndexed(int index, int value) native "Uint32Array_setIndexed"; 1386 int _setIndexed(int index, int value) native "Uint32Array_setIndexed";
1387 } 1387 }
1388 1388
1389 1389
1390 class _Int64Array extends _ByteArrayBase implements Int64List { 1390 class _Int64Array extends _ByteArrayBase implements Int64List {
1391 factory _Int64Array(int length) { 1391 factory _Int64Array(int length) {
1392 return _new(length); 1392 return _new(length);
1393 } 1393 }
1394 1394
1395 factory _Int64Array.view(ByteArray array, [int start = 0, int length]) { 1395 factory _Int64Array.view(ByteArray array, [int start = 0, int length]) {
1396 if (length === null) { 1396 if (length === null) {
1397 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT; 1397 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT;
1398 } 1398 }
1399 return new _Int64ArrayView(array, start, length); 1399 return new _Int64ArrayView(array, start, length);
1400 } 1400 }
1401 1401
1402 int operator[](int index) { 1402 int operator[](int index) {
1403 return _getIndexed(index); 1403 return _getIndexed(index);
1404 } 1404 }
1405 1405
1406 void operator[]=(int index, int value) { 1406 int operator[]=(int index, int value) {
1407 _setIndexed(index, _toInt64(value)); 1407 _setIndexed(index, _toInt64(value));
1408 } 1408 }
1409 1409
1410 Iterator<int> iterator() { 1410 Iterator<int> iterator() {
1411 return new _ByteArrayIterator<int>(this); 1411 return new _ByteArrayIterator<int>(this);
1412 } 1412 }
1413 1413
1414 List<int> getRange(int start, int length) { 1414 List<int> getRange(int start, int length) {
1415 _rangeCheck(this.length, start, length); 1415 _rangeCheck(this.length, start, length);
1416 List<int> result = _new(length); 1416 List<int> result = _new(length);
(...skipping 22 matching lines...) Expand all
1439 1439
1440 int lengthInBytes() { 1440 int lengthInBytes() {
1441 return _length() * _BYTES_PER_ELEMENT; 1441 return _length() * _BYTES_PER_ELEMENT;
1442 } 1442 }
1443 1443
1444 static final int _BYTES_PER_ELEMENT = 8; 1444 static final int _BYTES_PER_ELEMENT = 8;
1445 1445
1446 static _Int64Array _new(int length) native "Int64Array_new"; 1446 static _Int64Array _new(int length) native "Int64Array_new";
1447 1447
1448 int _getIndexed(int index) native "Int64Array_getIndexed"; 1448 int _getIndexed(int index) native "Int64Array_getIndexed";
1449 void _setIndexed(int index, int value) native "Int64Array_setIndexed"; 1449 int _setIndexed(int index, int value) native "Int64Array_setIndexed";
1450 } 1450 }
1451 1451
1452 1452
1453 class _Uint64Array extends _ByteArrayBase implements Uint64List { 1453 class _Uint64Array extends _ByteArrayBase implements Uint64List {
1454 factory _Uint64Array(int length) { 1454 factory _Uint64Array(int length) {
1455 return _new(length); 1455 return _new(length);
1456 } 1456 }
1457 1457
1458 factory _Uint64Array.view(ByteArray array, [int start = 0, int length]) { 1458 factory _Uint64Array.view(ByteArray array, [int start = 0, int length]) {
1459 if (length === null) { 1459 if (length === null) {
1460 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT; 1460 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT;
1461 } 1461 }
1462 return new _Uint64ArrayView(array, start, length); 1462 return new _Uint64ArrayView(array, start, length);
1463 } 1463 }
1464 1464
1465 int operator[](int index) { 1465 int operator[](int index) {
1466 return _getIndexed(index); 1466 return _getIndexed(index);
1467 } 1467 }
1468 1468
1469 void operator[]=(int index, int value) { 1469 int operator[]=(int index, int value) {
1470 _setIndexed(index, _toUint64(value)); 1470 _setIndexed(index, _toUint64(value));
1471 } 1471 }
1472 1472
1473 Iterator<int> iterator() { 1473 Iterator<int> iterator() {
1474 return new _ByteArrayIterator<int>(this); 1474 return new _ByteArrayIterator<int>(this);
1475 } 1475 }
1476 1476
1477 List<int> getRange(int start, int length) { 1477 List<int> getRange(int start, int length) {
1478 _rangeCheck(this.length, start, length); 1478 _rangeCheck(this.length, start, length);
1479 List<int> result = _new(length); 1479 List<int> result = _new(length);
(...skipping 22 matching lines...) Expand all
1502 1502
1503 int lengthInBytes() { 1503 int lengthInBytes() {
1504 return _length() * _BYTES_PER_ELEMENT; 1504 return _length() * _BYTES_PER_ELEMENT;
1505 } 1505 }
1506 1506
1507 static final int _BYTES_PER_ELEMENT = 8; 1507 static final int _BYTES_PER_ELEMENT = 8;
1508 1508
1509 static _Uint64Array _new(int length) native "Uint64Array_new"; 1509 static _Uint64Array _new(int length) native "Uint64Array_new";
1510 1510
1511 int _getIndexed(int index) native "Uint64Array_getIndexed"; 1511 int _getIndexed(int index) native "Uint64Array_getIndexed";
1512 void _setIndexed(int index, int value) native "Uint64Array_setIndexed"; 1512 int _setIndexed(int index, int value) native "Uint64Array_setIndexed";
1513 } 1513 }
1514 1514
1515 1515
1516 class _Float32Array extends _ByteArrayBase implements Float32List { 1516 class _Float32Array extends _ByteArrayBase implements Float32List {
1517 factory _Float32Array(int length) { 1517 factory _Float32Array(int length) {
1518 return _new(length); 1518 return _new(length);
1519 } 1519 }
1520 1520
1521 factory _Float32Array.view(ByteArray array, [int start = 0, int length]) { 1521 factory _Float32Array.view(ByteArray array, [int start = 0, int length]) {
1522 if (length === null) { 1522 if (length === null) {
1523 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT; 1523 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT;
1524 } 1524 }
1525 return new _Float32ArrayView(array, start, length); 1525 return new _Float32ArrayView(array, start, length);
1526 } 1526 }
1527 1527
1528 double operator[](int index) { 1528 double operator[](int index) {
1529 return _getIndexed(index); 1529 return _getIndexed(index);
1530 } 1530 }
1531 1531
1532 void operator[]=(int index, double value) { 1532 int operator[]=(int index, double value) {
1533 _setIndexed(index, value); 1533 _setIndexed(index, value);
1534 } 1534 }
1535 1535
1536 Iterator<double> iterator() { 1536 Iterator<double> iterator() {
1537 return new _ByteArrayIterator<double>(this); 1537 return new _ByteArrayIterator<double>(this);
1538 } 1538 }
1539 1539
1540 List<double> getRange(int start, int length) { 1540 List<double> getRange(int start, int length) {
1541 _rangeCheck(this.length, start, length); 1541 _rangeCheck(this.length, start, length);
1542 List<double> result = _new(length); 1542 List<double> result = _new(length);
(...skipping 22 matching lines...) Expand all
1565 1565
1566 int lengthInBytes() { 1566 int lengthInBytes() {
1567 return _length() * _BYTES_PER_ELEMENT; 1567 return _length() * _BYTES_PER_ELEMENT;
1568 } 1568 }
1569 1569
1570 static final int _BYTES_PER_ELEMENT = 4; 1570 static final int _BYTES_PER_ELEMENT = 4;
1571 1571
1572 static _Float32Array _new(int length) native "Float32Array_new"; 1572 static _Float32Array _new(int length) native "Float32Array_new";
1573 1573
1574 double _getIndexed(int index) native "Float32Array_getIndexed"; 1574 double _getIndexed(int index) native "Float32Array_getIndexed";
1575 void _setIndexed(int index, double value) native "Float32Array_setIndexed"; 1575 int _setIndexed(int index, double value) native "Float32Array_setIndexed";
1576 } 1576 }
1577 1577
1578 1578
1579 class _Float64Array extends _ByteArrayBase implements Float64List { 1579 class _Float64Array extends _ByteArrayBase implements Float64List {
1580 factory _Float64Array(int length) { 1580 factory _Float64Array(int length) {
1581 return _new(length); 1581 return _new(length);
1582 } 1582 }
1583 1583
1584 factory _Float64Array.view(ByteArray array, [int start = 0, int length]) { 1584 factory _Float64Array.view(ByteArray array, [int start = 0, int length]) {
1585 if (length === null) { 1585 if (length === null) {
1586 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT; 1586 length = (array.lengthInBytes() - start) ~/ _BYTES_PER_ELEMENT;
1587 } 1587 }
1588 return new _Float64ArrayView(array, start, length); 1588 return new _Float64ArrayView(array, start, length);
1589 } 1589 }
1590 1590
1591 double operator[](int index) { 1591 double operator[](int index) {
1592 return _getIndexed(index); 1592 return _getIndexed(index);
1593 } 1593 }
1594 1594
1595 void operator[]=(int index, double value) { 1595 int operator[]=(int index, double value) {
1596 _setIndexed(index, value); 1596 _setIndexed(index, value);
1597 } 1597 }
1598 1598
1599 Iterator<double> iterator() { 1599 Iterator<double> iterator() {
1600 return new _ByteArrayIterator<double>(this); 1600 return new _ByteArrayIterator<double>(this);
1601 } 1601 }
1602 1602
1603 List<double> getRange(int start, int length) { 1603 List<double> getRange(int start, int length) {
1604 _rangeCheck(this.length, start, length); 1604 _rangeCheck(this.length, start, length);
1605 List<double> result = _new(length); 1605 List<double> result = _new(length);
(...skipping 22 matching lines...) Expand all
1628 1628
1629 int lengthInBytes() { 1629 int lengthInBytes() {
1630 return _length() * _BYTES_PER_ELEMENT; 1630 return _length() * _BYTES_PER_ELEMENT;
1631 } 1631 }
1632 1632
1633 static final int _BYTES_PER_ELEMENT = 8; 1633 static final int _BYTES_PER_ELEMENT = 8;
1634 1634
1635 static _Float64Array _new(int length) native "Float64Array_new"; 1635 static _Float64Array _new(int length) native "Float64Array_new";
1636 1636
1637 double _getIndexed(int index) native "Float64Array_getIndexed"; 1637 double _getIndexed(int index) native "Float64Array_getIndexed";
1638 void _setIndexed(int index, double value) native "Float64Array_setIndexed"; 1638 int _setIndexed(int index, double value) native "Float64Array_setIndexed";
1639 } 1639 }
1640 1640
1641 1641
1642 class _ExternalInt8Array extends _ByteArrayBase implements Int8List { 1642 class _ExternalInt8Array extends _ByteArrayBase implements Int8List {
1643 int operator[](int index) { 1643 int operator[](int index) {
1644 return _getIndexed(index); 1644 return _getIndexed(index);
1645 } 1645 }
1646 1646
1647 void operator[]=(int index, int value) { 1647 int operator[]=(int index, int value) {
1648 _setIndexed(index, _toInt8(value)); 1648 _setIndexed(index, _toInt8(value));
1649 } 1649 }
1650 1650
1651 Iterator<int> iterator() { 1651 Iterator<int> iterator() {
1652 return new _ByteArrayIterator<int>(this); 1652 return new _ByteArrayIterator<int>(this);
1653 } 1653 }
1654 1654
1655 List<int> getRange(int start, int length) { 1655 List<int> getRange(int start, int length) {
1656 _rangeCheck(this.length, start, length); 1656 _rangeCheck(this.length, start, length);
1657 List<int> result = new Int8List(length); 1657 List<int> result = new Int8List(length);
(...skipping 20 matching lines...) Expand all
1678 return _BYTES_PER_ELEMENT; 1678 return _BYTES_PER_ELEMENT;
1679 } 1679 }
1680 1680
1681 int lengthInBytes() { 1681 int lengthInBytes() {
1682 return _length() * _BYTES_PER_ELEMENT; 1682 return _length() * _BYTES_PER_ELEMENT;
1683 } 1683 }
1684 1684
1685 static final int _BYTES_PER_ELEMENT = 1; 1685 static final int _BYTES_PER_ELEMENT = 1;
1686 1686
1687 int _getIndexed(int index) native "ExternalInt8Array_getIndexed"; 1687 int _getIndexed(int index) native "ExternalInt8Array_getIndexed";
1688 void _setIndexed(int index, int value) native "ExternalInt8Array_setIndexed"; 1688 int _setIndexed(int index, int value) native "ExternalInt8Array_setIndexed";
1689 } 1689 }
1690 1690
1691 1691
1692 class _ExternalUint8Array extends _ByteArrayBase implements Uint8List { 1692 class _ExternalUint8Array extends _ByteArrayBase implements Uint8List {
1693 int operator[](int index) { 1693 int operator[](int index) {
1694 return _getIndexed(index); 1694 return _getIndexed(index);
1695 } 1695 }
1696 1696
1697 void operator[]=(int index, int value) { 1697 int operator[]=(int index, int value) {
1698 _setIndexed(index, _toUint8(value)); 1698 _setIndexed(index, _toUint8(value));
1699 } 1699 }
1700 1700
1701 Iterator<int> iterator() { 1701 Iterator<int> iterator() {
1702 return new _ByteArrayIterator<int>(this); 1702 return new _ByteArrayIterator<int>(this);
1703 } 1703 }
1704 1704
1705 List<int> getRange(int start, int length) { 1705 List<int> getRange(int start, int length) {
1706 _rangeCheck(this.length, start, length); 1706 _rangeCheck(this.length, start, length);
1707 List<int> result = new Uint8List(length); 1707 List<int> result = new Uint8List(length);
(...skipping 20 matching lines...) Expand all
1728 return _BYTES_PER_ELEMENT; 1728 return _BYTES_PER_ELEMENT;
1729 } 1729 }
1730 1730
1731 int lengthInBytes() { 1731 int lengthInBytes() {
1732 return _length() * _BYTES_PER_ELEMENT; 1732 return _length() * _BYTES_PER_ELEMENT;
1733 } 1733 }
1734 1734
1735 static final int _BYTES_PER_ELEMENT = 1; 1735 static final int _BYTES_PER_ELEMENT = 1;
1736 1736
1737 int _getIndexed(int index) native "ExternalUint8Array_getIndexed"; 1737 int _getIndexed(int index) native "ExternalUint8Array_getIndexed";
1738 void _setIndexed(int index, int value) native "ExternalUint8Array_setIndexed"; 1738 int _setIndexed(int index, int value) native "ExternalUint8Array_setIndexed";
1739 } 1739 }
1740 1740
1741 1741
1742 class _ExternalInt16Array extends _ByteArrayBase implements Int16List { 1742 class _ExternalInt16Array extends _ByteArrayBase implements Int16List {
1743 int operator[](int index) { 1743 int operator[](int index) {
1744 return _getIndexed(index); 1744 return _getIndexed(index);
1745 } 1745 }
1746 1746
1747 void operator[]=(int index, int value) { 1747 int operator[]=(int index, int value) {
1748 _setIndexed(index, _toInt16(value)); 1748 _setIndexed(index, _toInt16(value));
1749 } 1749 }
1750 1750
1751 Iterator<int> iterator() { 1751 Iterator<int> iterator() {
1752 return new _ByteArrayIterator<int>(this); 1752 return new _ByteArrayIterator<int>(this);
1753 } 1753 }
1754 1754
1755 List<int> getRange(int start, int length) { 1755 List<int> getRange(int start, int length) {
1756 _rangeCheck(this.length, start, length); 1756 _rangeCheck(this.length, start, length);
1757 List<int> result = new Int16List(length); 1757 List<int> result = new Int16List(length);
(...skipping 20 matching lines...) Expand all
1778 return _BYTES_PER_ELEMENT; 1778 return _BYTES_PER_ELEMENT;
1779 } 1779 }
1780 1780
1781 int lengthInBytes() { 1781 int lengthInBytes() {
1782 return _length() * _BYTES_PER_ELEMENT; 1782 return _length() * _BYTES_PER_ELEMENT;
1783 } 1783 }
1784 1784
1785 static final int _BYTES_PER_ELEMENT = 2; 1785 static final int _BYTES_PER_ELEMENT = 2;
1786 1786
1787 int _getIndexed(int index) native "ExternalInt16Array_getIndexed"; 1787 int _getIndexed(int index) native "ExternalInt16Array_getIndexed";
1788 void _setIndexed(int index, int value) native "ExternalInt16Array_setIndexed"; 1788 int _setIndexed(int index, int value) native "ExternalInt16Array_setIndexed";
1789 } 1789 }
1790 1790
1791 1791
1792 class _ExternalUint16Array extends _ByteArrayBase implements Uint16List { 1792 class _ExternalUint16Array extends _ByteArrayBase implements Uint16List {
1793 int operator[](int index) { 1793 int operator[](int index) {
1794 return _getIndexed(index); 1794 return _getIndexed(index);
1795 } 1795 }
1796 1796
1797 void operator[]=(int index, int value) { 1797 int operator[]=(int index, int value) {
1798 _setIndexed(index, _toUint16(value)); 1798 _setIndexed(index, _toUint16(value));
1799 } 1799 }
1800 1800
1801 Iterator<int> iterator() { 1801 Iterator<int> iterator() {
1802 return new _ByteArrayIterator<int>(this); 1802 return new _ByteArrayIterator<int>(this);
1803 } 1803 }
1804 1804
1805 List<int> getRange(int start, int length) { 1805 List<int> getRange(int start, int length) {
1806 _rangeCheck(this.length, start, length); 1806 _rangeCheck(this.length, start, length);
1807 List<int> result = new Uint16List(length); 1807 List<int> result = new Uint16List(length);
(...skipping 21 matching lines...) Expand all
1829 } 1829 }
1830 1830
1831 int lengthInBytes() { 1831 int lengthInBytes() {
1832 return _length() * _BYTES_PER_ELEMENT; 1832 return _length() * _BYTES_PER_ELEMENT;
1833 } 1833 }
1834 1834
1835 static final int _BYTES_PER_ELEMENT = 2; 1835 static final int _BYTES_PER_ELEMENT = 2;
1836 1836
1837 int _getIndexed(int index) 1837 int _getIndexed(int index)
1838 native "ExternalUint16Array_getIndexed"; 1838 native "ExternalUint16Array_getIndexed";
1839 void _setIndexed(int index, int value) 1839 int _setIndexed(int index, int value)
1840 native "ExternalUint16Array_setIndexed"; 1840 native "ExternalUint16Array_setIndexed";
1841 } 1841 }
1842 1842
1843 1843
1844 class _ExternalInt32Array extends _ByteArrayBase implements Int32List { 1844 class _ExternalInt32Array extends _ByteArrayBase implements Int32List {
1845 int operator[](int index) { 1845 int operator[](int index) {
1846 return _getIndexed(index); 1846 return _getIndexed(index);
1847 } 1847 }
1848 1848
1849 void operator[]=(int index, int value) { 1849 int operator[]=(int index, int value) {
1850 _setIndexed(index, _toInt32(value)); 1850 _setIndexed(index, _toInt32(value));
1851 } 1851 }
1852 1852
1853 Iterator<int> iterator() { 1853 Iterator<int> iterator() {
1854 return new _ByteArrayIterator<int>(this); 1854 return new _ByteArrayIterator<int>(this);
1855 } 1855 }
1856 1856
1857 List<int> getRange(int start, int length) { 1857 List<int> getRange(int start, int length) {
1858 _rangeCheck(this.length, start, length); 1858 _rangeCheck(this.length, start, length);
1859 List<int> result = new Int32List(length); 1859 List<int> result = new Int32List(length);
(...skipping 21 matching lines...) Expand all
1881 } 1881 }
1882 1882
1883 int lengthInBytes() { 1883 int lengthInBytes() {
1884 return _length() * _BYTES_PER_ELEMENT; 1884 return _length() * _BYTES_PER_ELEMENT;
1885 } 1885 }
1886 1886
1887 static final int _BYTES_PER_ELEMENT = 4; 1887 static final int _BYTES_PER_ELEMENT = 4;
1888 1888
1889 int _getIndexed(int index) 1889 int _getIndexed(int index)
1890 native "ExternalInt32Array_getIndexed"; 1890 native "ExternalInt32Array_getIndexed";
1891 void _setIndexed(int index, int value) 1891 int _setIndexed(int index, int value)
1892 native "ExternalInt32Array_setIndexed"; 1892 native "ExternalInt32Array_setIndexed";
1893 } 1893 }
1894 1894
1895 1895
1896 class _ExternalUint32Array extends _ByteArrayBase implements Uint32List { 1896 class _ExternalUint32Array extends _ByteArrayBase implements Uint32List {
1897 int operator[](int index) { 1897 int operator[](int index) {
1898 return _getIndexed(index); 1898 return _getIndexed(index);
1899 } 1899 }
1900 1900
1901 void operator[]=(int index, int value) { 1901 int operator[]=(int index, int value) {
1902 _setIndexed(index, _toUint32(value)); 1902 _setIndexed(index, _toUint32(value));
1903 } 1903 }
1904 1904
1905 Iterator<int> iterator() { 1905 Iterator<int> iterator() {
1906 return new _ByteArrayIterator<int>(this); 1906 return new _ByteArrayIterator<int>(this);
1907 } 1907 }
1908 1908
1909 List<int> getRange(int start, int length) { 1909 List<int> getRange(int start, int length) {
1910 _rangeCheck(this.length, start, length); 1910 _rangeCheck(this.length, start, length);
1911 List<int> result = new Uint32List(length); 1911 List<int> result = new Uint32List(length);
(...skipping 21 matching lines...) Expand all
1933 } 1933 }
1934 1934
1935 int lengthInBytes() { 1935 int lengthInBytes() {
1936 return _length() * _BYTES_PER_ELEMENT; 1936 return _length() * _BYTES_PER_ELEMENT;
1937 } 1937 }
1938 1938
1939 static final int _BYTES_PER_ELEMENT = 4; 1939 static final int _BYTES_PER_ELEMENT = 4;
1940 1940
1941 int _getIndexed(int index) 1941 int _getIndexed(int index)
1942 native "ExternalUint32Array_getIndexed"; 1942 native "ExternalUint32Array_getIndexed";
1943 void _setIndexed(int index, int value) 1943 int _setIndexed(int index, int value)
1944 native "ExternalUint32Array_setIndexed"; 1944 native "ExternalUint32Array_setIndexed";
1945 } 1945 }
1946 1946
1947 1947
1948 class _ExternalInt64Array extends _ByteArrayBase implements Int64List { 1948 class _ExternalInt64Array extends _ByteArrayBase implements Int64List {
1949 int operator[](int index) { 1949 int operator[](int index) {
1950 return _getIndexed(index); 1950 return _getIndexed(index);
1951 } 1951 }
1952 1952
1953 void operator[]=(int index, int value) { 1953 int operator[]=(int index, int value) {
1954 _setIndexed(index, _toInt64(value)); 1954 _setIndexed(index, _toInt64(value));
1955 } 1955 }
1956 1956
1957 Iterator<int> iterator() { 1957 Iterator<int> iterator() {
1958 return new _ByteArrayIterator<int>(this); 1958 return new _ByteArrayIterator<int>(this);
1959 } 1959 }
1960 1960
1961 List<int> getRange(int start, int length) { 1961 List<int> getRange(int start, int length) {
1962 _rangeCheck(this.length, start, length); 1962 _rangeCheck(this.length, start, length);
1963 List<int> result = new Int64List(length); 1963 List<int> result = new Int64List(length);
(...skipping 21 matching lines...) Expand all
1985 } 1985 }
1986 1986
1987 int lengthInBytes() { 1987 int lengthInBytes() {
1988 return _length() * _BYTES_PER_ELEMENT; 1988 return _length() * _BYTES_PER_ELEMENT;
1989 } 1989 }
1990 1990
1991 static final int _BYTES_PER_ELEMENT = 8; 1991 static final int _BYTES_PER_ELEMENT = 8;
1992 1992
1993 int _getIndexed(int index) 1993 int _getIndexed(int index)
1994 native "ExternalInt64Array_getIndexed"; 1994 native "ExternalInt64Array_getIndexed";
1995 void _setIndexed(int index, int value) 1995 int _setIndexed(int index, int value)
1996 native "ExternalInt64Array_setIndexed"; 1996 native "ExternalInt64Array_setIndexed";
1997 } 1997 }
1998 1998
1999 1999
2000 class _ExternalUint64Array extends _ByteArrayBase implements Uint64List { 2000 class _ExternalUint64Array extends _ByteArrayBase implements Uint64List {
2001 int operator[](int index) { 2001 int operator[](int index) {
2002 return _getIndexed(index); 2002 return _getIndexed(index);
2003 } 2003 }
2004 2004
2005 void operator[]=(int index, int value) { 2005 int operator[]=(int index, int value) {
2006 _setIndexed(index, _toUint64(value)); 2006 _setIndexed(index, _toUint64(value));
2007 } 2007 }
2008 2008
2009 Iterator<int> iterator() { 2009 Iterator<int> iterator() {
2010 return new _ByteArrayIterator<int>(this); 2010 return new _ByteArrayIterator<int>(this);
2011 } 2011 }
2012 2012
2013 List<int> getRange(int start, int length) { 2013 List<int> getRange(int start, int length) {
2014 _rangeCheck(this.length, start, length); 2014 _rangeCheck(this.length, start, length);
2015 List<int> result = new Uint64List(length); 2015 List<int> result = new Uint64List(length);
(...skipping 21 matching lines...) Expand all
2037 } 2037 }
2038 2038
2039 int lengthInBytes() { 2039 int lengthInBytes() {
2040 return _length() * _BYTES_PER_ELEMENT; 2040 return _length() * _BYTES_PER_ELEMENT;
2041 } 2041 }
2042 2042
2043 static final int _BYTES_PER_ELEMENT = 8; 2043 static final int _BYTES_PER_ELEMENT = 8;
2044 2044
2045 int _getIndexed(int index) 2045 int _getIndexed(int index)
2046 native "ExternalUint64Array_getIndexed"; 2046 native "ExternalUint64Array_getIndexed";
2047 void _setIndexed(int index, int value) 2047 int _setIndexed(int index, int value)
2048 native "ExternalUint64Array_setIndexed"; 2048 native "ExternalUint64Array_setIndexed";
2049 } 2049 }
2050 2050
2051 2051
2052 class _ExternalFloat32Array extends _ByteArrayBase implements Float32List { 2052 class _ExternalFloat32Array extends _ByteArrayBase implements Float32List {
2053 double operator[](int index) { 2053 double operator[](int index) {
2054 return _getIndexed(index); 2054 return _getIndexed(index);
2055 } 2055 }
2056 2056
2057 void operator[]=(int index, double value) { 2057 int operator[]=(int index, double value) {
2058 _setIndexed(index, value); 2058 _setIndexed(index, value);
2059 } 2059 }
2060 2060
2061 Iterator<double> iterator() { 2061 Iterator<double> iterator() {
2062 return new _ByteArrayIterator<double>(this); 2062 return new _ByteArrayIterator<double>(this);
2063 } 2063 }
2064 2064
2065 List<double> getRange(int start, int length) { 2065 List<double> getRange(int start, int length) {
2066 _rangeCheck(this.length, start, length); 2066 _rangeCheck(this.length, start, length);
2067 List<double> result = new Float32List(length); 2067 List<double> result = new Float32List(length);
(...skipping 21 matching lines...) Expand all
2089 } 2089 }
2090 2090
2091 int lengthInBytes() { 2091 int lengthInBytes() {
2092 return _length() * _BYTES_PER_ELEMENT; 2092 return _length() * _BYTES_PER_ELEMENT;
2093 } 2093 }
2094 2094
2095 static final int _BYTES_PER_ELEMENT = 4; 2095 static final int _BYTES_PER_ELEMENT = 4;
2096 2096
2097 double _getIndexed(int index) 2097 double _getIndexed(int index)
2098 native "ExternalFloat32Array_getIndexed"; 2098 native "ExternalFloat32Array_getIndexed";
2099 void _setIndexed(int index, double value) 2099 int _setIndexed(int index, double value)
2100 native "ExternalFloat32Array_setIndexed"; 2100 native "ExternalFloat32Array_setIndexed";
2101 } 2101 }
2102 2102
2103 2103
2104 class _ExternalFloat64Array extends _ByteArrayBase implements Float64List { 2104 class _ExternalFloat64Array extends _ByteArrayBase implements Float64List {
2105 double operator[](int index) { 2105 double operator[](int index) {
2106 return _getIndexed(index); 2106 return _getIndexed(index);
2107 } 2107 }
2108 2108
2109 void operator[]=(int index, double value) { 2109 int operator[]=(int index, double value) {
2110 _setIndexed(index, value); 2110 _setIndexed(index, value);
2111 } 2111 }
2112 2112
2113 Iterator<double> iterator() { 2113 Iterator<double> iterator() {
2114 return new _ByteArrayIterator<double>(this); 2114 return new _ByteArrayIterator<double>(this);
2115 } 2115 }
2116 2116
2117 List<double> getRange(int start, int length) { 2117 List<double> getRange(int start, int length) {
2118 _rangeCheck(this.length, start, length); 2118 _rangeCheck(this.length, start, length);
2119 List<double> result = new Float64List(length); 2119 List<double> result = new Float64List(length);
(...skipping 21 matching lines...) Expand all
2141 } 2141 }
2142 2142
2143 int lengthInBytes() { 2143 int lengthInBytes() {
2144 return _length() * _BYTES_PER_ELEMENT; 2144 return _length() * _BYTES_PER_ELEMENT;
2145 } 2145 }
2146 2146
2147 static final int _BYTES_PER_ELEMENT = 8; 2147 static final int _BYTES_PER_ELEMENT = 8;
2148 2148
2149 double _getIndexed(int index) 2149 double _getIndexed(int index)
2150 native "ExternalFloat64Array_getIndexed"; 2150 native "ExternalFloat64Array_getIndexed";
2151 void _setIndexed(int index, double value) 2151 int _setIndexed(int index, double value)
2152 native "ExternalFloat64Array_setIndexed"; 2152 native "ExternalFloat64Array_setIndexed";
2153 } 2153 }
2154 2154
2155 2155
2156 class _ByteArrayIterator<E> implements Iterator<E> { 2156 class _ByteArrayIterator<E> implements Iterator<E> {
2157 _ByteArrayIterator(List array) 2157 _ByteArrayIterator(List array)
2158 : _array = array, _length = array.length, _pos = 0 { 2158 : _array = array, _length = array.length, _pos = 0 {
2159 assert(array is _ByteArrayBase || array is _ByteArrayViewBase); 2159 assert(array is _ByteArrayBase || array is _ByteArrayViewBase);
2160 } 2160 }
2161 2161
(...skipping 894 matching lines...) Expand 10 before | Expand all | Expand 10 after
3056 } 3056 }
3057 _rangeCheck(this.length, start, length); 3057 _rangeCheck(this.length, start, length);
3058 return _array.subByteArray(_offset + start, length); 3058 return _array.subByteArray(_offset + start, length);
3059 } 3059 }
3060 3060
3061 static final int _BYTES_PER_ELEMENT = 8; 3061 static final int _BYTES_PER_ELEMENT = 8;
3062 final ByteArray _array; 3062 final ByteArray _array;
3063 final int _offset; 3063 final int _offset;
3064 final int _length; 3064 final int _length;
3065 } 3065 }
OLDNEW
« no previous file with comments | « runtime/lib/byte_array.cc ('k') | runtime/vm/code_generator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698