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

Unified Diff: runtime/lib/byte_array.dart

Issue 10786045: Improve the error messages for IndexOutOfRangeException. (Closed) Base URL: https://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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/lib/arrays.dart ('k') | runtime/lib/growable_array.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/lib/byte_array.dart
diff --git a/runtime/lib/byte_array.dart b/runtime/lib/byte_array.dart
index 2ef81e6dfe70951093de3a2dc940b29560cf4da9..a4a208073273307cbc9bc668c60d0f2ed2d25d15 100644
--- a/runtime/lib/byte_array.dart
+++ b/runtime/lib/byte_array.dart
@@ -2381,14 +2381,16 @@ class _Int8ArrayView extends _ByteArrayViewBase implements Int8List {
int operator[](int index) {
if (index < 0 || index >= _length) {
- throw new IndexOutOfRangeException(index);
+ String message = "$index must be in the range [0..$_length)";
+ throw new IndexOutOfRangeException(message);
}
return _array.getInt8(_offset + (index * _BYTES_PER_ELEMENT));
}
void operator[]=(int index, int value) {
if (index < 0 || index >= _length) {
- throw new IndexOutOfRangeException(index);
+ String message = "$index must be in the range [0..$_length)";
+ throw new IndexOutOfRangeException(message);
}
_array.setInt8(_offset + (index * _BYTES_PER_ELEMENT), _toInt8(value));
}
@@ -2451,14 +2453,16 @@ class _Uint8ArrayView extends _ByteArrayViewBase implements Uint8List {
int operator[](int index) {
if (index < 0 || index >= _length) {
- throw new IndexOutOfRangeException(index);
+ String message = "$index must be in the range [0..$_length)";
+ throw new IndexOutOfRangeException(message);
}
return _array.getUint8(_offset + (index * _BYTES_PER_ELEMENT));
}
void operator[]=(int index, int value) {
if (index < 0 || index >= _length) {
- throw new IndexOutOfRangeException(index);
+ String message = "$index must be in the range [0..$_length)";
+ throw new IndexOutOfRangeException(message);
}
_array.setUint8(_offset + (index * _BYTES_PER_ELEMENT), _toUint8(value));
}
@@ -2521,14 +2525,16 @@ class _Int16ArrayView extends _ByteArrayViewBase implements Int16List {
int operator[](int index) {
if (index < 0 || index >= _length) {
- throw new IndexOutOfRangeException(index);
+ String message = "$index must be in the range [0..$_length)";
+ throw new IndexOutOfRangeException(message);
}
return _array.getInt16(_offset + (index * _BYTES_PER_ELEMENT));
}
void operator[]=(int index, int value) {
if (index < 0 || index >= _length) {
- throw new IndexOutOfRangeException(index);
+ String message = "$index must be in the range [0..$_length)";
+ throw new IndexOutOfRangeException(message);
}
_array.setInt16(_offset + (index * _BYTES_PER_ELEMENT), _toInt16(value));
}
@@ -2591,14 +2597,16 @@ class _Uint16ArrayView extends _ByteArrayViewBase implements Uint16List {
int operator[](int index) {
if (index < 0 || index >= _length) {
- throw new IndexOutOfRangeException(index);
+ String message = "$index must be in the range [0..$_length)";
+ throw new IndexOutOfRangeException(message);
}
return _array.getUint16(_offset + (index * _BYTES_PER_ELEMENT));
}
void operator[]=(int index, int value) {
if (index < 0 || index >= _length) {
- throw new IndexOutOfRangeException(index);
+ String message = "$index must be in the range [0..$_length)";
+ throw new IndexOutOfRangeException(message);
}
_array.setUint16(_offset + (index * _BYTES_PER_ELEMENT), _toUint16(value));
}
@@ -2661,14 +2669,16 @@ class _Int32ArrayView extends _ByteArrayViewBase implements Int32List {
int operator[](int index) {
if (index < 0 || index >= _length) {
- throw new IndexOutOfRangeException(index);
+ String message = "$index must be in the range [0..$_length)";
+ throw new IndexOutOfRangeException(message);
}
return _array.getInt32(_offset + (index * _BYTES_PER_ELEMENT));
}
void operator[]=(int index, int value) {
if (index < 0 || index >= _length) {
- throw new IndexOutOfRangeException(index);
+ String message = "$index must be in the range [0..$_length)";
+ throw new IndexOutOfRangeException(message);
}
_array.setInt32(_offset + (index * _BYTES_PER_ELEMENT), _toInt32(value));
}
@@ -2731,14 +2741,16 @@ class _Uint32ArrayView extends _ByteArrayViewBase implements Uint32List {
int operator[](int index) {
if (index < 0 || index >= _length) {
- throw new IndexOutOfRangeException(index);
+ String message = "$index must be in the range [0..$_length)";
+ throw new IndexOutOfRangeException(message);
}
return _array.getUint32(_offset + (index * _BYTES_PER_ELEMENT));
}
void operator[]=(int index, int value) {
if (index < 0 || index >= _length) {
- throw new IndexOutOfRangeException(index);
+ String message = "$index must be in the range [0..$_length)";
+ throw new IndexOutOfRangeException(message);
}
_array.setUint32(_offset + (index * _BYTES_PER_ELEMENT), _toUint32(value));
}
@@ -2801,14 +2813,16 @@ class _Int64ArrayView extends _ByteArrayViewBase implements Int64List {
int operator[](int index) {
if (index < 0 || index >= _length) {
- throw new IndexOutOfRangeException(index);
+ String message = "$index must be in the range [0..$_length)";
+ throw new IndexOutOfRangeException(message);
}
return _array.getInt64(_offset + (index * _BYTES_PER_ELEMENT));
}
void operator[]=(int index, int value) {
if (index < 0 || index >= _length) {
- throw new IndexOutOfRangeException(index);
+ String message = "$index must be in the range [0..$_length)";
+ throw new IndexOutOfRangeException(message);
}
_array.setInt64(_offset + (index * _BYTES_PER_ELEMENT), _toInt64(value));
}
@@ -2871,14 +2885,16 @@ class _Uint64ArrayView extends _ByteArrayViewBase implements Uint64List {
int operator[](int index) {
if (index < 0 || index >= _length) {
- throw new IndexOutOfRangeException(index);
+ String message = "$index must be in the range [0..$_length)";
+ throw new IndexOutOfRangeException(message);
}
return _array.getUint64(_offset + (index * _BYTES_PER_ELEMENT));
}
void operator[]=(int index, int value) {
if (index < 0 || index >= _length) {
- throw new IndexOutOfRangeException(index);
+ String message = "$index must be in the range [0..$_length)";
+ throw new IndexOutOfRangeException(message);
}
_array.setUint64(_offset + (index * _BYTES_PER_ELEMENT), _toUint64(value));
}
@@ -2941,14 +2957,16 @@ class _Float32ArrayView extends _ByteArrayViewBase implements Float32List {
double operator[](int index) {
if (index < 0 || index >= _length) {
- throw new IndexOutOfRangeException(index);
+ String message = "$index must be in the range [0..$_length)";
+ throw new IndexOutOfRangeException(message);
}
return _array.getFloat32(_offset + (index * _BYTES_PER_ELEMENT));
}
void operator[]=(int index, double value) {
if (index < 0 || index >= _length) {
- throw new IndexOutOfRangeException(index);
+ String message = "$index must be in the range [0..$_length)";
+ throw new IndexOutOfRangeException(message);
}
_array.setFloat32(_offset + (index * _BYTES_PER_ELEMENT), value);
}
@@ -3011,14 +3029,16 @@ class _Float64ArrayView extends _ByteArrayViewBase implements Float64List {
double operator[](int index) {
if (index < 0 || index >= _length) {
- throw new IndexOutOfRangeException(index);
+ String message = "$index must be in the range [0..$_length)";
+ throw new IndexOutOfRangeException(message);
}
return _array.getFloat64(_offset + (index * _BYTES_PER_ELEMENT));
}
void operator[]=(int index, double value) {
if (index < 0 || index >= _length) {
- throw new IndexOutOfRangeException(index);
+ String message = "$index must be in the range [0..$_length)";
+ throw new IndexOutOfRangeException(message);
}
_array.setFloat64(_offset + (index * _BYTES_PER_ELEMENT), value);
}
« no previous file with comments | « runtime/lib/arrays.dart ('k') | runtime/lib/growable_array.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698