OLD | NEW |
---|---|
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 classes for Int8List ..... Float64List and ByteData implementations. | 5 // patch classes for Int8List ..... Float64List and ByteData implementations. |
6 | 6 |
7 patch class Int8List { | 7 patch class Int8List { |
8 /* patch */ factory Int8List(int length) { | 8 /* patch */ factory Int8List(int length) { |
9 return new _Int8Array(length); | 9 return new _Int8Array(length); |
10 } | 10 } |
(...skipping 2163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2174 class _Int8ArrayView extends _TypedListView implements Int8List { | 2174 class _Int8ArrayView extends _TypedListView implements Int8List { |
2175 // Constructor. | 2175 // Constructor. |
2176 _Int8ArrayView(ByteBuffer buffer, [int _offsetInBytes = 0, int _length]) | 2176 _Int8ArrayView(ByteBuffer buffer, [int _offsetInBytes = 0, int _length]) |
2177 : super(buffer, _offsetInBytes, | 2177 : super(buffer, _offsetInBytes, |
2178 _defaultIfNull(_length, | 2178 _defaultIfNull(_length, |
2179 ((buffer.lengthInBytes - _offsetInBytes) ~/ | 2179 ((buffer.lengthInBytes - _offsetInBytes) ~/ |
2180 Int8List.BYTES_PER_ELEMENT))) { | 2180 Int8List.BYTES_PER_ELEMENT))) { |
2181 _rangeCheck(buffer.lengthInBytes, | 2181 _rangeCheck(buffer.lengthInBytes, |
2182 _offsetInBytes, | 2182 _offsetInBytes, |
2183 length * Int8List.BYTES_PER_ELEMENT); | 2183 length * Int8List.BYTES_PER_ELEMENT); |
2184 _offsetAlignmentCheck(_offsetInBytes, Int8List.BYTES_PER_ELEMENT); | |
siva
2013/08/29 16:30:16
int8, uint8 and uint8 clamped do not need any alig
Cutch
2013/09/08 13:16:36
Done.
| |
2184 } | 2185 } |
2185 | 2186 |
2186 | 2187 |
2187 // Method(s) implementing List interface. | 2188 // Method(s) implementing List interface. |
2188 | 2189 |
2189 int operator[](int index) { | 2190 int operator[](int index) { |
2190 if (index < 0 || index >= length) { | 2191 if (index < 0 || index >= length) { |
2191 _throwRangeError(index, length); | 2192 _throwRangeError(index, length); |
2192 } | 2193 } |
2193 return _typedData._getInt8(offsetInBytes + | 2194 return _typedData._getInt8(offsetInBytes + |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2225 class _Uint8ArrayView extends _TypedListView implements Uint8List { | 2226 class _Uint8ArrayView extends _TypedListView implements Uint8List { |
2226 // Constructor. | 2227 // Constructor. |
2227 _Uint8ArrayView(ByteBuffer buffer, [int _offsetInBytes = 0, int _length]) | 2228 _Uint8ArrayView(ByteBuffer buffer, [int _offsetInBytes = 0, int _length]) |
2228 : super(buffer, _offsetInBytes, | 2229 : super(buffer, _offsetInBytes, |
2229 _defaultIfNull(_length, | 2230 _defaultIfNull(_length, |
2230 ((buffer.lengthInBytes - _offsetInBytes) ~/ | 2231 ((buffer.lengthInBytes - _offsetInBytes) ~/ |
2231 Uint8List.BYTES_PER_ELEMENT))) { | 2232 Uint8List.BYTES_PER_ELEMENT))) { |
2232 _rangeCheck(buffer.lengthInBytes, | 2233 _rangeCheck(buffer.lengthInBytes, |
2233 _offsetInBytes, | 2234 _offsetInBytes, |
2234 length * Uint8List.BYTES_PER_ELEMENT); | 2235 length * Uint8List.BYTES_PER_ELEMENT); |
2236 _offsetAlignmentCheck(_offsetInBytes, Uint8List.BYTES_PER_ELEMENT); | |
siva
2013/08/29 16:30:16
see comment above.
Cutch
2013/09/08 13:16:36
Done.
| |
2235 } | 2237 } |
2236 | 2238 |
2237 | 2239 |
2238 // Method(s) implementing List interface. | 2240 // Method(s) implementing List interface. |
2239 | 2241 |
2240 int operator[](int index) { | 2242 int operator[](int index) { |
2241 if (index < 0 || index >= length) { | 2243 if (index < 0 || index >= length) { |
2242 _throwRangeError(index, length); | 2244 _throwRangeError(index, length); |
2243 } | 2245 } |
2244 return _typedData._getUint8(offsetInBytes + | 2246 return _typedData._getUint8(offsetInBytes + |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2277 // Constructor. | 2279 // Constructor. |
2278 _Uint8ClampedArrayView(ByteBuffer buffer, | 2280 _Uint8ClampedArrayView(ByteBuffer buffer, |
2279 [int _offsetInBytes = 0, int _length]) | 2281 [int _offsetInBytes = 0, int _length]) |
2280 : super(buffer, _offsetInBytes, | 2282 : super(buffer, _offsetInBytes, |
2281 _defaultIfNull(_length, | 2283 _defaultIfNull(_length, |
2282 ((buffer.lengthInBytes - _offsetInBytes) ~/ | 2284 ((buffer.lengthInBytes - _offsetInBytes) ~/ |
2283 Uint8List.BYTES_PER_ELEMENT))) { | 2285 Uint8List.BYTES_PER_ELEMENT))) { |
2284 _rangeCheck(buffer.lengthInBytes, | 2286 _rangeCheck(buffer.lengthInBytes, |
2285 offsetInBytes, | 2287 offsetInBytes, |
2286 length * Uint8List.BYTES_PER_ELEMENT); | 2288 length * Uint8List.BYTES_PER_ELEMENT); |
2289 _offsetAlignmentCheck(_offsetInBytes, Uint8List.BYTES_PER_ELEMENT); | |
siva
2013/08/29 16:30:16
Ditto.
Cutch
2013/09/08 13:16:36
Done.
| |
2287 } | 2290 } |
2288 | 2291 |
2289 | 2292 |
2290 // Method(s) implementing List interface. | 2293 // Method(s) implementing List interface. |
2291 | 2294 |
2292 int operator[](int index) { | 2295 int operator[](int index) { |
2293 if (index < 0 || index >= length) { | 2296 if (index < 0 || index >= length) { |
2294 _throwRangeError(index, length); | 2297 _throwRangeError(index, length); |
2295 } | 2298 } |
2296 return _typedData._getUint8(offsetInBytes + | 2299 return _typedData._getUint8(offsetInBytes + |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2328 class _Int16ArrayView extends _TypedListView implements Int16List { | 2331 class _Int16ArrayView extends _TypedListView implements Int16List { |
2329 // Constructor. | 2332 // Constructor. |
2330 _Int16ArrayView(ByteBuffer buffer, [int _offsetInBytes = 0, int _length]) | 2333 _Int16ArrayView(ByteBuffer buffer, [int _offsetInBytes = 0, int _length]) |
2331 : super(buffer, _offsetInBytes, | 2334 : super(buffer, _offsetInBytes, |
2332 _defaultIfNull(_length, | 2335 _defaultIfNull(_length, |
2333 ((buffer.lengthInBytes - _offsetInBytes) ~/ | 2336 ((buffer.lengthInBytes - _offsetInBytes) ~/ |
2334 Int16List.BYTES_PER_ELEMENT))) { | 2337 Int16List.BYTES_PER_ELEMENT))) { |
2335 _rangeCheck(buffer.lengthInBytes, | 2338 _rangeCheck(buffer.lengthInBytes, |
2336 offsetInBytes, | 2339 offsetInBytes, |
2337 length * Int16List.BYTES_PER_ELEMENT); | 2340 length * Int16List.BYTES_PER_ELEMENT); |
2341 _offsetAlignmentCheck(_offsetInBytes, Int16List.BYTES_PER_ELEMENT); | |
2338 } | 2342 } |
2339 | 2343 |
2340 | 2344 |
2341 // Method(s) implementing List interface. | 2345 // Method(s) implementing List interface. |
2342 | 2346 |
2343 int operator[](int index) { | 2347 int operator[](int index) { |
2344 if (index < 0 || index >= length) { | 2348 if (index < 0 || index >= length) { |
2345 _throwRangeError(index, length); | 2349 _throwRangeError(index, length); |
2346 } | 2350 } |
2347 return _typedData._getInt16(offsetInBytes + | 2351 return _typedData._getInt16(offsetInBytes + |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2379 class _Uint16ArrayView extends _TypedListView implements Uint16List { | 2383 class _Uint16ArrayView extends _TypedListView implements Uint16List { |
2380 // Constructor. | 2384 // Constructor. |
2381 _Uint16ArrayView(ByteBuffer buffer, [int _offsetInBytes = 0, int _length]) | 2385 _Uint16ArrayView(ByteBuffer buffer, [int _offsetInBytes = 0, int _length]) |
2382 : super(buffer, _offsetInBytes, | 2386 : super(buffer, _offsetInBytes, |
2383 _defaultIfNull(_length, | 2387 _defaultIfNull(_length, |
2384 ((buffer.lengthInBytes - _offsetInBytes) ~/ | 2388 ((buffer.lengthInBytes - _offsetInBytes) ~/ |
2385 Uint16List.BYTES_PER_ELEMENT))) { | 2389 Uint16List.BYTES_PER_ELEMENT))) { |
2386 _rangeCheck(buffer.lengthInBytes, | 2390 _rangeCheck(buffer.lengthInBytes, |
2387 offsetInBytes, | 2391 offsetInBytes, |
2388 length * Uint16List.BYTES_PER_ELEMENT); | 2392 length * Uint16List.BYTES_PER_ELEMENT); |
2393 _offsetAlignmentCheck(_offsetInBytes, Uint16List.BYTES_PER_ELEMENT); | |
2389 } | 2394 } |
2390 | 2395 |
2391 | 2396 |
2392 // Method(s) implementing List interface. | 2397 // Method(s) implementing List interface. |
2393 | 2398 |
2394 int operator[](int index) { | 2399 int operator[](int index) { |
2395 if (index < 0 || index >= length) { | 2400 if (index < 0 || index >= length) { |
2396 _throwRangeError(index, length); | 2401 _throwRangeError(index, length); |
2397 } | 2402 } |
2398 return _typedData._getUint16(offsetInBytes + | 2403 return _typedData._getUint16(offsetInBytes + |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2430 class _Int32ArrayView extends _TypedListView implements Int32List { | 2435 class _Int32ArrayView extends _TypedListView implements Int32List { |
2431 // Constructor. | 2436 // Constructor. |
2432 _Int32ArrayView(ByteBuffer buffer, [int _offsetInBytes = 0, int _length]) | 2437 _Int32ArrayView(ByteBuffer buffer, [int _offsetInBytes = 0, int _length]) |
2433 : super(buffer, _offsetInBytes, | 2438 : super(buffer, _offsetInBytes, |
2434 _defaultIfNull(_length, | 2439 _defaultIfNull(_length, |
2435 ((buffer.lengthInBytes - _offsetInBytes) ~/ | 2440 ((buffer.lengthInBytes - _offsetInBytes) ~/ |
2436 Int32List.BYTES_PER_ELEMENT))) { | 2441 Int32List.BYTES_PER_ELEMENT))) { |
2437 _rangeCheck(buffer.lengthInBytes, | 2442 _rangeCheck(buffer.lengthInBytes, |
2438 offsetInBytes, | 2443 offsetInBytes, |
2439 length * Int32List.BYTES_PER_ELEMENT); | 2444 length * Int32List.BYTES_PER_ELEMENT); |
2445 _offsetAlignmentCheck(_offsetInBytes, Int32List.BYTES_PER_ELEMENT); | |
2440 } | 2446 } |
2441 | 2447 |
2442 | 2448 |
2443 // Method(s) implementing List interface. | 2449 // Method(s) implementing List interface. |
2444 | 2450 |
2445 int operator[](int index) { | 2451 int operator[](int index) { |
2446 if (index < 0 || index >= length) { | 2452 if (index < 0 || index >= length) { |
2447 _throwRangeError(index, length); | 2453 _throwRangeError(index, length); |
2448 } | 2454 } |
2449 return _typedData._getInt32(offsetInBytes + | 2455 return _typedData._getInt32(offsetInBytes + |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2481 class _Uint32ArrayView extends _TypedListView implements Uint32List { | 2487 class _Uint32ArrayView extends _TypedListView implements Uint32List { |
2482 // Constructor. | 2488 // Constructor. |
2483 _Uint32ArrayView(ByteBuffer buffer, [int _offsetInBytes = 0, int _length]) | 2489 _Uint32ArrayView(ByteBuffer buffer, [int _offsetInBytes = 0, int _length]) |
2484 : super(buffer, _offsetInBytes, | 2490 : super(buffer, _offsetInBytes, |
2485 _defaultIfNull(_length, | 2491 _defaultIfNull(_length, |
2486 ((buffer.lengthInBytes - _offsetInBytes) ~/ | 2492 ((buffer.lengthInBytes - _offsetInBytes) ~/ |
2487 Uint32List.BYTES_PER_ELEMENT))) { | 2493 Uint32List.BYTES_PER_ELEMENT))) { |
2488 _rangeCheck(buffer.lengthInBytes, | 2494 _rangeCheck(buffer.lengthInBytes, |
2489 offsetInBytes, | 2495 offsetInBytes, |
2490 length * Uint32List.BYTES_PER_ELEMENT); | 2496 length * Uint32List.BYTES_PER_ELEMENT); |
2497 _offsetAlignmentCheck(_offsetInBytes, Uint32List.BYTES_PER_ELEMENT); | |
2491 } | 2498 } |
2492 | 2499 |
2493 | 2500 |
2494 // Method(s) implementing List interface. | 2501 // Method(s) implementing List interface. |
2495 | 2502 |
2496 int operator[](int index) { | 2503 int operator[](int index) { |
2497 if (index < 0 || index >= length) { | 2504 if (index < 0 || index >= length) { |
2498 _throwRangeError(index, length); | 2505 _throwRangeError(index, length); |
2499 } | 2506 } |
2500 return _typedData._getUint32(offsetInBytes + | 2507 return _typedData._getUint32(offsetInBytes + |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2532 class _Int64ArrayView extends _TypedListView implements Int64List { | 2539 class _Int64ArrayView extends _TypedListView implements Int64List { |
2533 // Constructor. | 2540 // Constructor. |
2534 _Int64ArrayView(ByteBuffer buffer, [int _offsetInBytes = 0, int _length]) | 2541 _Int64ArrayView(ByteBuffer buffer, [int _offsetInBytes = 0, int _length]) |
2535 : super(buffer, _offsetInBytes, | 2542 : super(buffer, _offsetInBytes, |
2536 _defaultIfNull(_length, | 2543 _defaultIfNull(_length, |
2537 ((buffer.lengthInBytes - _offsetInBytes) ~/ | 2544 ((buffer.lengthInBytes - _offsetInBytes) ~/ |
2538 Int64List.BYTES_PER_ELEMENT))) { | 2545 Int64List.BYTES_PER_ELEMENT))) { |
2539 _rangeCheck(buffer.lengthInBytes, | 2546 _rangeCheck(buffer.lengthInBytes, |
2540 offsetInBytes, | 2547 offsetInBytes, |
2541 length * Int64List.BYTES_PER_ELEMENT); | 2548 length * Int64List.BYTES_PER_ELEMENT); |
2549 _offsetAlignmentCheck(_offsetInBytes, Int64List.BYTES_PER_ELEMENT); | |
2542 } | 2550 } |
2543 | 2551 |
2544 | 2552 |
2545 // Method(s) implementing List interface. | 2553 // Method(s) implementing List interface. |
2546 | 2554 |
2547 int operator[](int index) { | 2555 int operator[](int index) { |
2548 if (index < 0 || index >= length) { | 2556 if (index < 0 || index >= length) { |
2549 _throwRangeError(index, length); | 2557 _throwRangeError(index, length); |
2550 } | 2558 } |
2551 return _typedData._getInt64(offsetInBytes + | 2559 return _typedData._getInt64(offsetInBytes + |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2583 class _Uint64ArrayView extends _TypedListView implements Uint64List { | 2591 class _Uint64ArrayView extends _TypedListView implements Uint64List { |
2584 // Constructor. | 2592 // Constructor. |
2585 _Uint64ArrayView(ByteBuffer buffer, [int _offsetInBytes = 0, int _length]) | 2593 _Uint64ArrayView(ByteBuffer buffer, [int _offsetInBytes = 0, int _length]) |
2586 : super(buffer, _offsetInBytes, | 2594 : super(buffer, _offsetInBytes, |
2587 _defaultIfNull(_length, | 2595 _defaultIfNull(_length, |
2588 ((buffer.lengthInBytes - _offsetInBytes) ~/ | 2596 ((buffer.lengthInBytes - _offsetInBytes) ~/ |
2589 Uint64List.BYTES_PER_ELEMENT))) { | 2597 Uint64List.BYTES_PER_ELEMENT))) { |
2590 _rangeCheck(buffer.lengthInBytes, | 2598 _rangeCheck(buffer.lengthInBytes, |
2591 offsetInBytes, | 2599 offsetInBytes, |
2592 length * Uint64List.BYTES_PER_ELEMENT); | 2600 length * Uint64List.BYTES_PER_ELEMENT); |
2601 _offsetAlignmentCheck(_offsetInBytes, Uint64List.BYTES_PER_ELEMENT); | |
2593 } | 2602 } |
2594 | 2603 |
2595 | 2604 |
2596 // Method(s) implementing List interface. | 2605 // Method(s) implementing List interface. |
2597 | 2606 |
2598 int operator[](int index) { | 2607 int operator[](int index) { |
2599 if (index < 0 || index >= length) { | 2608 if (index < 0 || index >= length) { |
2600 _throwRangeError(index, length); | 2609 _throwRangeError(index, length); |
2601 } | 2610 } |
2602 return _typedData._getUint64(offsetInBytes + | 2611 return _typedData._getUint64(offsetInBytes + |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2634 class _Float32ArrayView extends _TypedListView implements Float32List { | 2643 class _Float32ArrayView extends _TypedListView implements Float32List { |
2635 // Constructor. | 2644 // Constructor. |
2636 _Float32ArrayView(ByteBuffer buffer, [int _offsetInBytes = 0, int _length]) | 2645 _Float32ArrayView(ByteBuffer buffer, [int _offsetInBytes = 0, int _length]) |
2637 : super(buffer, _offsetInBytes, | 2646 : super(buffer, _offsetInBytes, |
2638 _defaultIfNull(_length, | 2647 _defaultIfNull(_length, |
2639 ((buffer.lengthInBytes - _offsetInBytes) ~/ | 2648 ((buffer.lengthInBytes - _offsetInBytes) ~/ |
2640 Float32List.BYTES_PER_ELEMENT))) { | 2649 Float32List.BYTES_PER_ELEMENT))) { |
2641 _rangeCheck(buffer.lengthInBytes, | 2650 _rangeCheck(buffer.lengthInBytes, |
2642 offsetInBytes, | 2651 offsetInBytes, |
2643 length * Float32List.BYTES_PER_ELEMENT); | 2652 length * Float32List.BYTES_PER_ELEMENT); |
2653 _offsetAlignmentCheck(_offsetInBytes, Float32List.BYTES_PER_ELEMENT); | |
2644 } | 2654 } |
2645 | 2655 |
2646 | 2656 |
2647 // Method(s) implementing List interface. | 2657 // Method(s) implementing List interface. |
2648 | 2658 |
2649 double operator[](int index) { | 2659 double operator[](int index) { |
2650 if (index < 0 || index >= length) { | 2660 if (index < 0 || index >= length) { |
2651 _throwRangeError(index, length); | 2661 _throwRangeError(index, length); |
2652 } | 2662 } |
2653 return _typedData._getFloat32(offsetInBytes + | 2663 return _typedData._getFloat32(offsetInBytes + |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2685 class _Float64ArrayView extends _TypedListView implements Float64List { | 2695 class _Float64ArrayView extends _TypedListView implements Float64List { |
2686 // Constructor. | 2696 // Constructor. |
2687 _Float64ArrayView(ByteBuffer buffer, [int _offsetInBytes = 0, int _length]) | 2697 _Float64ArrayView(ByteBuffer buffer, [int _offsetInBytes = 0, int _length]) |
2688 : super(buffer, _offsetInBytes, | 2698 : super(buffer, _offsetInBytes, |
2689 _defaultIfNull(_length, | 2699 _defaultIfNull(_length, |
2690 ((buffer.lengthInBytes - _offsetInBytes) ~/ | 2700 ((buffer.lengthInBytes - _offsetInBytes) ~/ |
2691 Float64List.BYTES_PER_ELEMENT))) { | 2701 Float64List.BYTES_PER_ELEMENT))) { |
2692 _rangeCheck(buffer.lengthInBytes, | 2702 _rangeCheck(buffer.lengthInBytes, |
2693 offsetInBytes, | 2703 offsetInBytes, |
2694 length * Float64List.BYTES_PER_ELEMENT); | 2704 length * Float64List.BYTES_PER_ELEMENT); |
2705 _offsetAlignmentCheck(_offsetInBytes, Float64List.BYTES_PER_ELEMENT); | |
2695 } | 2706 } |
2696 | 2707 |
2697 | 2708 |
2698 // Method(s) implementing List interface. | 2709 // Method(s) implementing List interface. |
2699 | 2710 |
2700 double operator[](int index) { | 2711 double operator[](int index) { |
2701 if (index < 0 || index >= length) { | 2712 if (index < 0 || index >= length) { |
2702 _throwRangeError(index, length); | 2713 _throwRangeError(index, length); |
2703 } | 2714 } |
2704 return _typedData._getFloat64(offsetInBytes + | 2715 return _typedData._getFloat64(offsetInBytes + |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2736 class _Float32x4ArrayView extends _TypedListView implements Float32x4List { | 2747 class _Float32x4ArrayView extends _TypedListView implements Float32x4List { |
2737 // Constructor. | 2748 // Constructor. |
2738 _Float32x4ArrayView(ByteBuffer buffer, [int _offsetInBytes = 0, int _length]) | 2749 _Float32x4ArrayView(ByteBuffer buffer, [int _offsetInBytes = 0, int _length]) |
2739 : super(buffer, _offsetInBytes, | 2750 : super(buffer, _offsetInBytes, |
2740 _defaultIfNull(_length, | 2751 _defaultIfNull(_length, |
2741 ((buffer.lengthInBytes - _offsetInBytes) ~/ | 2752 ((buffer.lengthInBytes - _offsetInBytes) ~/ |
2742 Float32x4List.BYTES_PER_ELEMENT))) { | 2753 Float32x4List.BYTES_PER_ELEMENT))) { |
2743 _rangeCheck(buffer.lengthInBytes, | 2754 _rangeCheck(buffer.lengthInBytes, |
2744 offsetInBytes, | 2755 offsetInBytes, |
2745 length * Float32x4List.BYTES_PER_ELEMENT); | 2756 length * Float32x4List.BYTES_PER_ELEMENT); |
2757 _offsetAlignmentCheck(_offsetInBytes, Float32x4List.BYTES_PER_ELEMENT); | |
2746 } | 2758 } |
2747 | 2759 |
2748 | 2760 |
2749 // Method(s) implementing List interface. | 2761 // Method(s) implementing List interface. |
2750 | 2762 |
2751 Float32x4 operator[](int index) { | 2763 Float32x4 operator[](int index) { |
2752 if (index < 0 || index >= length) { | 2764 if (index < 0 || index >= length) { |
2753 _throwRangeError(index, length); | 2765 _throwRangeError(index, length); |
2754 } | 2766 } |
2755 return _typedData._getFloat32x4(offsetInBytes + | 2767 return _typedData._getFloat32x4(offsetInBytes + |
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3128 } | 3140 } |
3129 if (start < 0) { | 3141 if (start < 0) { |
3130 throw new RangeError.value(start); | 3142 throw new RangeError.value(start); |
3131 } | 3143 } |
3132 if (start + length > listLength) { | 3144 if (start + length > listLength) { |
3133 throw new RangeError.value(start + length); | 3145 throw new RangeError.value(start + length); |
3134 } | 3146 } |
3135 } | 3147 } |
3136 | 3148 |
3137 | 3149 |
3150 void _offsetAlignmentCheck(int offset, int alignment) { | |
3151 if ((offset % alignment) != 0) { | |
3152 throw new RangeError('Offset ($offset) must be a multiple of ' | |
3153 'BYTES_PER_ELEMENT ($alignment)'); | |
3154 } | |
3155 } | |
3156 | |
3157 | |
3138 int _defaultIfNull(object, value) { | 3158 int _defaultIfNull(object, value) { |
3139 if (object == null) { | 3159 if (object == null) { |
3140 return value; | 3160 return value; |
3141 } | 3161 } |
3142 return object; | 3162 return object; |
3143 } | 3163 } |
3144 | 3164 |
3145 | 3165 |
3146 void _throwRangeError(int index, int length) { | 3166 void _throwRangeError(int index, int length) { |
3147 String message = "$index must be in the range [0..$length)"; | 3167 String message = "$index must be in the range [0..$length)"; |
3148 throw new RangeError(message); | 3168 throw new RangeError(message); |
3149 } | 3169 } |
OLD | NEW |