OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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; | |
6 | |
7 // TODO(ngeoffray): Rename to Lists. | 5 // TODO(ngeoffray): Rename to Lists. |
8 class Arrays { | 6 class Arrays { |
9 static void copy(List src, int srcStart, | 7 static void copy(List src, int srcStart, |
10 List dst, int dstStart, int count) { | 8 List dst, int dstStart, int count) { |
11 if (srcStart == null) srcStart = 0; | 9 if (srcStart == null) srcStart = 0; |
12 if (dstStart == null) dstStart = 0; | 10 if (dstStart == null) dstStart = 0; |
13 | 11 |
14 if (srcStart < dstStart) { | 12 if (srcStart < dstStart) { |
15 for (int i = srcStart + count - 1, j = dstStart + count - 1; | 13 for (int i = srcStart + count - 1, j = dstStart + count - 1; |
16 i >= srcStart; i--, j--) { | 14 i >= srcStart; i--, j--) { |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 if (start < 0 ) { | 83 if (start < 0 ) { |
86 String message = "$start must be greater than or equal to 0"; | 84 String message = "$start must be greater than or equal to 0"; |
87 throw new RangeError(message); | 85 throw new RangeError(message); |
88 } | 86 } |
89 if (start + length > a.length) { | 87 if (start + length > a.length) { |
90 String message = "$start + $length must be in the range [0..${a.length})"; | 88 String message = "$start + $length must be in the range [0..${a.length})"; |
91 throw new RangeError(message); | 89 throw new RangeError(message); |
92 } | 90 } |
93 } | 91 } |
94 } | 92 } |
OLD | NEW |