35dc712dd5
This class uses zones to track stack traces across asynchronous boundaries. It will aid considerably in debugging errors in heavily-asynchronous programs. R=floitsch@google.com, rnystrom@google.com BUG=7040 Review URL: https://codereview.chromium.org//75863004 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30738 260f80e4-7a28-3924-810f-c04153c831b5
37 lines
966 B
Dart
37 lines
966 B
Dart
// 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 stack_trace.src.utils;
|
|
|
|
/// Returns [string] with enough spaces added to the end to make it [length]
|
|
/// characters long.
|
|
String padRight(String string, int length) {
|
|
if (string.length >= length) return string;
|
|
|
|
var result = new StringBuffer();
|
|
result.write(string);
|
|
for (var i = 0; i < length - string.length; i++) {
|
|
result.write(' ');
|
|
}
|
|
|
|
return result.toString();
|
|
}
|
|
|
|
/// Flattens nested lists inside an iterable into a single list containing only
|
|
/// non-list elements.
|
|
List flatten(Iterable nested) {
|
|
var result = [];
|
|
helper(list) {
|
|
for (var element in list) {
|
|
if (element is List) {
|
|
helper(element);
|
|
} else {
|
|
result.add(element);
|
|
}
|
|
}
|
|
}
|
|
helper(nested);
|
|
return result;
|
|
}
|