| Index: sdk/lib/_internal/compiler/js_lib/core_patch.dart
|
| diff --git a/sdk/lib/_internal/compiler/js_lib/core_patch.dart b/sdk/lib/_internal/compiler/js_lib/core_patch.dart
|
| index 21be5acb8c48a9e23c2cfbca07fde3b7d32bc318..cca8f160a01ff847e8ad9a73bec5d0c6764cc57c 100644
|
| --- a/sdk/lib/_internal/compiler/js_lib/core_patch.dart
|
| +++ b/sdk/lib/_internal/compiler/js_lib/core_patch.dart
|
| @@ -409,8 +409,14 @@ class StringBuffer {
|
| _writeString(new String.fromCharCode(charCode));
|
| }
|
|
|
| - void _writeString(str) {
|
| - _contents = Primitives.stringConcatUnchecked(_contents, str);
|
| + @patch
|
| + void writeAll(Iterable objects, [String separator = ""]) {
|
| + _contents = _writeAll(_contents, objects, separator);
|
| + }
|
| +
|
| + @patch
|
| + void writeln([Object obj = ""]) {
|
| + _writeString('$obj\n');
|
| }
|
|
|
| @patch
|
| @@ -420,6 +426,31 @@ class StringBuffer {
|
|
|
| @patch
|
| String toString() => Primitives.flattenString(_contents);
|
| +
|
| + void _writeString(str) {
|
| + _contents = Primitives.stringConcatUnchecked(_contents, str);
|
| + }
|
| +
|
| + static String _writeAll(String string, Iterable objects, String separator) {
|
| + Iterator iterator = objects.iterator;
|
| + if (!iterator.moveNext()) return string;
|
| + if (separator.isEmpty) {
|
| + do {
|
| + string = _writeOne(string, iterator.current);
|
| + } while (iterator.moveNext());
|
| + } else {
|
| + string = _writeOne(string, iterator.current);
|
| + while (iterator.moveNext()) {
|
| + string = _writeOne(string, separator);
|
| + string = _writeOne(string, iterator.current);
|
| + }
|
| + }
|
| + return string;
|
| + }
|
| +
|
| + static String _writeOne(String string, Object obj) {
|
| + return Primitives.stringConcatUnchecked(string, '$obj');
|
| + }
|
| }
|
|
|
| @patch
|
|
|