| OLD | NEW |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 part of dart._collection.dev; | 5 part of dart._collection.dev; |
| 6 | 6 |
| 7 /** | 7 /** |
| 8 * Marker interface for [Iterable] subclasses that have an efficient | 8 * Marker interface for [Iterable] subclasses that have an efficient |
| 9 * [length] implementation. | 9 * [length] implementation. |
| 10 */ | 10 */ |
| (...skipping 998 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1009 while (length > 1) { | 1009 while (length > 1) { |
| 1010 int pos = random.nextInt(length); | 1010 int pos = random.nextInt(length); |
| 1011 length -= 1; | 1011 length -= 1; |
| 1012 var tmp = list[length]; | 1012 var tmp = list[length]; |
| 1013 list[length] = list[pos]; | 1013 list[length] = list[pos]; |
| 1014 list[pos] = tmp; | 1014 list[pos] = tmp; |
| 1015 } | 1015 } |
| 1016 } | 1016 } |
| 1017 | 1017 |
| 1018 static int indexOfList(List list, var element, int start) { | 1018 static int indexOfList(List list, var element, int start) { |
| 1019 return Arrays.indexOf(list, element, start, list.length); | 1019 return Lists.indexOf(list, element, start, list.length); |
| 1020 } | 1020 } |
| 1021 | 1021 |
| 1022 static int lastIndexOfList(List list, var element, int start) { | 1022 static int lastIndexOfList(List list, var element, int start) { |
| 1023 if (start == null) start = list.length - 1; | 1023 if (start == null) start = list.length - 1; |
| 1024 return Arrays.lastIndexOf(list, element, start); | 1024 return Lists.lastIndexOf(list, element, start); |
| 1025 } | 1025 } |
| 1026 | 1026 |
| 1027 static void _rangeCheck(List list, int start, int end) { | 1027 static void _rangeCheck(List list, int start, int end) { |
| 1028 if (start < 0 || start > list.length) { | 1028 if (start < 0 || start > list.length) { |
| 1029 throw new RangeError.range(start, 0, list.length); | 1029 throw new RangeError.range(start, 0, list.length); |
| 1030 } | 1030 } |
| 1031 if (end < start || end > list.length) { | 1031 if (end < start || end > list.length) { |
| 1032 throw new RangeError.range(end, start, list.length); | 1032 throw new RangeError.range(end, start, list.length); |
| 1033 } | 1033 } |
| 1034 } | 1034 } |
| (...skipping 18 matching lines...) Expand all Loading... |
| 1053 if (from is List) { | 1053 if (from is List) { |
| 1054 otherList = from; | 1054 otherList = from; |
| 1055 otherStart = skipCount; | 1055 otherStart = skipCount; |
| 1056 } else { | 1056 } else { |
| 1057 otherList = from.skip(skipCount).toList(growable: false); | 1057 otherList = from.skip(skipCount).toList(growable: false); |
| 1058 otherStart = 0; | 1058 otherStart = 0; |
| 1059 } | 1059 } |
| 1060 if (otherStart + length > otherList.length) { | 1060 if (otherStart + length > otherList.length) { |
| 1061 throw new StateError("Not enough elements"); | 1061 throw new StateError("Not enough elements"); |
| 1062 } | 1062 } |
| 1063 Arrays.copy(otherList, otherStart, list, start, length); | 1063 Lists.copy(otherList, otherStart, list, start, length); |
| 1064 } | 1064 } |
| 1065 | 1065 |
| 1066 static void replaceRangeList(List list, int start, int end, | 1066 static void replaceRangeList(List list, int start, int end, |
| 1067 Iterable iterable) { | 1067 Iterable iterable) { |
| 1068 _rangeCheck(list, start, end); | 1068 _rangeCheck(list, start, end); |
| 1069 if (iterable is! EfficientLength) { | 1069 if (iterable is! EfficientLength) { |
| 1070 iterable = iterable.toList(); | 1070 iterable = iterable.toList(); |
| 1071 } | 1071 } |
| 1072 int removeLength = end - start; | 1072 int removeLength = end - start; |
| 1073 int insertLength = iterable.length; | 1073 int insertLength = iterable.length; |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1158 | 1158 |
| 1159 static Set setDifference(Set set, Set other, Set result) { | 1159 static Set setDifference(Set set, Set other, Set result) { |
| 1160 for (var element in set) { | 1160 for (var element in set) { |
| 1161 if (!other.contains(element)) { | 1161 if (!other.contains(element)) { |
| 1162 result.add(element); | 1162 result.add(element); |
| 1163 } | 1163 } |
| 1164 } | 1164 } |
| 1165 return result; | 1165 return result; |
| 1166 } | 1166 } |
| 1167 } | 1167 } |
| OLD | NEW |