Index: sdk/lib/collection/list.dart |
diff --git a/sdk/lib/collection/list.dart b/sdk/lib/collection/list.dart |
index 82b1d900f3137594f3edc0ed0705d7a4ba279eec..6231c190ef11301ce7585b6f617d8556b634a3a4 100644 |
--- a/sdk/lib/collection/list.dart |
+++ b/sdk/lib/collection/list.dart |
@@ -329,7 +329,15 @@ abstract class ListMixin<E> implements List<E> { |
return result; |
} |
- List<E> getRange(int start, int length) => sublist(start, start + length); |
+ Iterable<E> getRange(int start, int end) { |
+ if (start < 0 || start > this.length) { |
+ throw new RangeError.range(start, 0, this.length); |
+ } |
+ if (end < start || end > this.length) { |
+ throw new RangeError.range(end, start, this.length); |
+ } |
+ return new SubListIterable(this, start, end); |
+ } |
void insertRange(int start, int length, [E initialValue]) { |
if (start < 0 || start > this.length) { |