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 9e7f2c5f55aa12f1cbff3857cd2b200f4fabeda4..dea8a56e81ecd77ba25c42d9554d989ff32ff426 100644 |
--- a/sdk/lib/svg/dart2js/svg_dart2js.dart |
+++ b/sdk/lib/svg/dart2js/svg_dart2js.dart |
@@ -3231,8 +3231,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); |
@@ -3864,8 +3869,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); |
@@ -4773,8 +4783,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); |
@@ -5667,8 +5682,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); |
@@ -6838,8 +6858,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); |
@@ -7366,8 +7391,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); |