Index: lib/compiler/implementation/lib/interceptors.dart |
diff --git a/lib/compiler/implementation/lib/interceptors.dart b/lib/compiler/implementation/lib/interceptors.dart |
index 4a84b7b986fd398476c2113a161732d59d5b3d99..2fc25a6fb80f706916b405d3a7fa2ea9a99b107f 100644 |
--- a/lib/compiler/implementation/lib/interceptors.dart |
+++ b/lib/compiler/implementation/lib/interceptors.dart |
@@ -19,7 +19,7 @@ removeAt$1(var receiver, var index) { |
if (isJsArray(receiver)) { |
if (index is !int) throw new ArgumentError(index); |
if (index < 0 || index >= receiver.length) { |
- throw new IndexOutOfRangeException(index); |
+ throw new RangeError.value(index); |
} |
checkGrowable(receiver, 'removeAt'); |
return JS("Object", r'#.splice(#, 1)[0]', receiver, index); |
@@ -30,7 +30,7 @@ removeAt$1(var receiver, var index) { |
removeLast(var receiver) { |
if (isJsArray(receiver)) { |
checkGrowable(receiver, 'removeLast'); |
- if (receiver.length == 0) throw new IndexOutOfRangeException(-1); |
+ if (receiver.length == 0) throw new RangeError.value(-1); |
return JS('Object', r'#.pop()', receiver); |
} |
return UNINTERCEPTED(receiver.removeLast()); |
@@ -56,7 +56,7 @@ set$length(receiver, newLength) { |
if (isJsArray(receiver)) { |
checkNull(newLength); // TODO(ahe): This is not specified but co19 tests it. |
if (newLength is !int) throw new ArgumentError(newLength); |
- if (newLength < 0) throw new IndexOutOfRangeException(newLength); |
+ if (newLength < 0) throw new RangeError.value(newLength); |
checkGrowable(receiver, 'set length'); |
JS('void', r'#.length = #', receiver, newLength); |
} else { |
@@ -93,8 +93,8 @@ iterator(receiver) { |
charCodeAt(var receiver, int index) { |
if (receiver is String) { |
if (index is !num) throw new ArgumentError(index); |
- if (index < 0) throw new IndexOutOfRangeException(index); |
- if (index >= receiver.length) throw new IndexOutOfRangeException(index); |
+ if (index < 0) throw new RangeError.value(index); |
+ if (index >= receiver.length) throw new RangeError.value(index); |
return JS('int', r'#.charCodeAt(#)', receiver, index); |
} else { |
return UNINTERCEPTED(receiver.charCodeAt(index)); |
@@ -196,10 +196,10 @@ getRange(receiver, start, length) { |
if (start is !int) throw new ArgumentError(start); |
if (length is !int) throw new ArgumentError(length); |
if (length < 0) throw new ArgumentError(length); |
- if (start < 0) throw new IndexOutOfRangeException(start); |
+ if (start < 0) throw new RangeError.value(start); |
var end = start + length; |
if (end > receiver.length) { |
- throw new IndexOutOfRangeException(length); |
+ throw new RangeError.value(length); |
} |
if (length < 0) throw new ArgumentError(length); |
return JS('Object', r'#.slice(#, #)', receiver, start, end); |
@@ -299,10 +299,10 @@ removeRange(receiver, start, length) { |
if (length < 0) throw new ArgumentError(length); |
var receiverLength = JS('num', r'#.length', receiver); |
if (start < 0 || start >= receiverLength) { |
- throw new IndexOutOfRangeException(start); |
+ throw new RangeError.value(start); |
} |
if (start + length > receiverLength) { |
- throw new IndexOutOfRangeException(start + length); |
+ throw new RangeError.value(start + length); |
} |
Arrays.copy(receiver, |
start + length, |
@@ -334,9 +334,9 @@ setRange$4(receiver, start, length, from, startFrom) { |
if (length is !int) throw new ArgumentError(length); |
if (startFrom is !int) throw new ArgumentError(startFrom); |
if (length < 0) throw new ArgumentError(length); |
- if (start < 0) throw new IndexOutOfRangeException(start); |
+ if (start < 0) throw new RangeError.value(start); |
if (start + length > receiver.length) { |
- throw new IndexOutOfRangeException(start + length); |
+ throw new RangeError.value(start + length); |
} |
Arrays.copy(from, startFrom, receiver, start, length); |
@@ -596,9 +596,9 @@ substring$2(receiver, startIndex, endIndex) { |
var length = receiver.length; |
if (endIndex == null) endIndex = length; |
checkNum(endIndex); |
- if (startIndex < 0 ) throw new IndexOutOfRangeException(startIndex); |
- if (startIndex > endIndex) throw new IndexOutOfRangeException(startIndex); |
- if (endIndex > length) throw new IndexOutOfRangeException(endIndex); |
+ if (startIndex < 0 ) throw new RangeError.value(startIndex); |
+ if (startIndex > endIndex) throw new RangeError.value(startIndex); |
+ if (endIndex > length) throw new RangeError.value(endIndex); |
return substringUnchecked(receiver, startIndex, endIndex); |
} |