Index: sdk/lib/core/string_buffer.dart |
diff --git a/sdk/lib/core/string_buffer.dart b/sdk/lib/core/string_buffer.dart |
index 31b87801fd4de6ba386327825ef7d337cf4ced1d..e8bc72dcd434feab9d492922d4971555569a3f06 100644 |
--- a/sdk/lib/core/string_buffer.dart |
+++ b/sdk/lib/core/string_buffer.dart |
@@ -37,9 +37,26 @@ class StringBuffer implements StringSink { |
/// Adds the string representation of [charCode] to the buffer. |
external void writeCharCode(int charCode); |
- external void writeAll(Iterable objects, [String separator = ""]); |
+ void writeAll(Iterable objects, [String separator = ""]) { |
+ Iterator iterator = objects.iterator; |
+ if (!iterator.moveNext()) return; |
+ if (separator.isEmpty) { |
+ do { |
+ write(iterator.current); |
+ } while (iterator.moveNext()); |
+ } else { |
+ write(iterator.current); |
+ while (iterator.moveNext()) { |
+ write(separator); |
+ write(iterator.current); |
+ } |
+ } |
+ } |
- external void writeln([Object obj = ""]); |
+ void writeln([Object obj = ""]) { |
+ write(obj); |
+ write("\n"); |
+ } |
/** |
* Clears the string buffer. |