Chromium Code Reviews| Index: pkg/analyzer_experimental/lib/src/services/runtime/coverage/utils.dart |
| diff --git a/pkg/source_maps/lib/src/utils.dart b/pkg/analyzer_experimental/lib/src/services/runtime/coverage/utils.dart |
| similarity index 66% |
| copy from pkg/source_maps/lib/src/utils.dart |
| copy to pkg/analyzer_experimental/lib/src/services/runtime/coverage/utils.dart |
| index 78f098e70b194e6ad8211d8d1c8cb94b5f88a463..3c52e4bf491f765d3bfb41a4ef80b2b811d62fd3 100644 |
| --- a/pkg/source_maps/lib/src/utils.dart |
| +++ b/pkg/analyzer_experimental/lib/src/services/runtime/coverage/utils.dart |
| @@ -1,20 +1,38 @@ |
| // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| +library utils; |
| -/// Utilities that shouldn't be in this package. |
| -library source_maps.utils; |
| + |
| +List<int> getLineOffsets(String text) { |
| + var offsets = <int> [0]; |
| + bool wasSR = false; |
|
pquitslund
2013/06/17 20:15:58
bool -> var
scheglov
2013/06/17 20:50:59
Done.
|
| + text.codeUnits.asMap().forEach((int i, int codeUnit) { |
| + if (codeUnit == 13) { |
| + wasSR = true; |
| + return; |
| + } |
| + if (codeUnit == 10) { |
| + if (wasSR) { |
| + offsets.add(i - 1); |
| + } else { |
| + offsets.add(i); |
| + } |
| + } |
| + wasSR = false; |
| + }); |
| + return offsets; |
| +} |
| /// Find the first entry in a sorted [list] that matches a monotonic predicate. |
| /// Given a result `n`, that all items before `n` will not match, `n` matches, |
| /// and all items after `n` match too. The result is -1 when there are no |
| /// items, 0 when all items match, and list.length when none does. |
| -// TODO(sigmund): remove this function after dartbug.com/5624 is fixed. |
| +// TODO(scheglov) remove this function after dartbug.com/5624 is fixed. |
| int binarySearch(List list, bool matches(item)) { |
| if (list.length == 0) return -1; |
| if (matches(list.first)) return 0; |
| if (!matches(list.last)) return list.length; |
| - |
| int min = 0; |
|
pquitslund
2013/06/17 20:15:58
int -> var
scheglov
2013/06/17 20:50:59
Done.
|
| int max = list.length - 1; |
| while (min < max) { |