Index: sdk/lib/svg/dart2js/svg_dart2js.dart |
diff --git a/sdk/lib/svg/dart2js/svg_dart2js.dart b/sdk/lib/svg/dart2js/svg_dart2js.dart |
index a35aa0eb37d08cab72c2f8df281b9d03e053c079..edb1e3a4240ec503cf81a5ac018adb7a58dc102b 100644 |
--- a/sdk/lib/svg/dart2js/svg_dart2js.dart |
+++ b/sdk/lib/svg/dart2js/svg_dart2js.dart |
@@ -3227,8 +3227,13 @@ class LengthList implements JavaScriptIndexingBehavior, List<Length> native "*SV |
throw new UnsupportedError("Cannot insertRange on immutable List."); |
} |
+ List<Length> sublist(int start, [int end]) { |
+ if (end == null) end = length; |
+ return Lists.getRange(this, start, end, <Length>[]); |
+ } |
+ |
List<Length> getRange(int start, int rangeLength) => |
- Lists.getRange(this, start, rangeLength, <Length>[]); |
+ sublist(start, start + rangeLength); |
Map<int, Length> asMap() => |
IterableMixinWorkaround.asMapList(this); |
@@ -3856,8 +3861,13 @@ class NumberList implements JavaScriptIndexingBehavior, List<Number> native "*SV |
throw new UnsupportedError("Cannot insertRange on immutable List."); |
} |
+ List<Number> sublist(int start, [int end]) { |
+ if (end == null) end = length; |
+ return Lists.getRange(this, start, end, <Number>[]); |
+ } |
+ |
List<Number> getRange(int start, int rangeLength) => |
- Lists.getRange(this, start, rangeLength, <Number>[]); |
+ sublist(start, start + rangeLength); |
Map<int, Number> asMap() => |
IterableMixinWorkaround.asMapList(this); |
@@ -4761,8 +4771,13 @@ class PathSegList implements JavaScriptIndexingBehavior, List<PathSeg> native "* |
throw new UnsupportedError("Cannot insertRange on immutable List."); |
} |
+ List<PathSeg> sublist(int start, [int end]) { |
+ if (end == null) end = length; |
+ return Lists.getRange(this, start, end, <PathSeg>[]); |
+ } |
+ |
List<PathSeg> getRange(int start, int rangeLength) => |
- Lists.getRange(this, start, rangeLength, <PathSeg>[]); |
+ sublist(start, start + rangeLength); |
Map<int, PathSeg> asMap() => |
IterableMixinWorkaround.asMapList(this); |
@@ -5651,8 +5666,13 @@ class StringList implements JavaScriptIndexingBehavior, List<String> native "*SV |
throw new UnsupportedError("Cannot insertRange on immutable List."); |
} |
+ List<String> sublist(int start, [int end]) { |
+ if (end == null) end = length; |
+ return Lists.getRange(this, start, end, <String>[]); |
+ } |
+ |
List<String> getRange(int start, int rangeLength) => |
- Lists.getRange(this, start, rangeLength, <String>[]); |
+ sublist(start, start + rangeLength); |
Map<int, String> asMap() => |
IterableMixinWorkaround.asMapList(this); |
@@ -6818,8 +6838,13 @@ class TransformList implements List<Transform>, JavaScriptIndexingBehavior nativ |
throw new UnsupportedError("Cannot insertRange on immutable List."); |
} |
+ List<Transform> sublist(int start, [int end]) { |
+ if (end == null) end = length; |
+ return Lists.getRange(this, start, end, <Transform>[]); |
+ } |
+ |
List<Transform> getRange(int start, int rangeLength) => |
- Lists.getRange(this, start, rangeLength, <Transform>[]); |
+ sublist(start, start + rangeLength); |
Map<int, Transform> asMap() => |
IterableMixinWorkaround.asMapList(this); |
@@ -7342,8 +7367,13 @@ class _ElementInstanceList implements JavaScriptIndexingBehavior, List<ElementIn |
throw new UnsupportedError("Cannot insertRange on immutable List."); |
} |
+ List<ElementInstance> sublist(int start, [int end]) { |
+ if (end == null) end = length; |
+ return Lists.getRange(this, start, end, <ElementInstance>[]); |
+ } |
+ |
List<ElementInstance> getRange(int start, int rangeLength) => |
- Lists.getRange(this, start, rangeLength, <ElementInstance>[]); |
+ sublist(start, start + rangeLength); |
Map<int, ElementInstance> asMap() => |
IterableMixinWorkaround.asMapList(this); |