Index: runtime/lib/array.dart |
diff --git a/runtime/lib/array.dart b/runtime/lib/array.dart |
index 37efab9c7f4d7d7ebba390d179f0a7049ac21d89..2478686b5aa44cdc324ffb97ca7b9119b801f570 100644 |
--- a/runtime/lib/array.dart |
+++ b/runtime/lib/array.dart |
@@ -60,6 +60,10 @@ class _ObjectArray<E> implements List<E> { |
"Cannot remove element of a non-extendable array"); |
} |
+ Iterable<E> getRange(int start, [int end]) { |
+ return IterableMixinWorkaround.getRangeList(this, start, end); |
+ } |
+ |
// List interface. |
void setRange(int start, int length, List<E> from, [int startFrom = 0]) { |
if (length < 0) { |
@@ -94,8 +98,6 @@ class _ObjectArray<E> implements List<E> { |
return list; |
} |
- List<E> getRange(int start, int length) => sublist(start, start + length); |
- |
// Iterable interface. |
bool contains(E element) { |
@@ -341,7 +343,9 @@ class _ImmutableArray<E> implements List<E> { |
return list; |
} |
- List<E> getRange(int start, int length) => sublist(start, start + length); |
+ Iterable<E> getRange(int start, int end) { |
+ return IterableMixinWorkaround.getRangeList(this, start, end); |
+ } |
// Collection interface. |