| Index: pkg/analyzer_experimental/lib/src/services/writer.dart
|
| ===================================================================
|
| --- pkg/analyzer_experimental/lib/src/services/writer.dart (revision 25934)
|
| +++ pkg/analyzer_experimental/lib/src/services/writer.dart (working copy)
|
| @@ -33,6 +33,15 @@
|
| tokens.add(token);
|
| }
|
|
|
| + bool isWhitespace() {
|
| + for (var tok in tokens) {
|
| + if (!(tok is SpaceToken)) {
|
| + return false;
|
| + }
|
| + }
|
| + return true;
|
| + }
|
| +
|
| _indent(int n) {
|
| tokens.add(useTabs ? new TabToken(n) : new SpaceToken(n * spacesPerIndent));
|
| }
|
| @@ -100,11 +109,20 @@
|
| }
|
|
|
| newline() {
|
| + if (currentLine.isWhitespace()) {
|
| + currentLine.tokens.clear();
|
| + }
|
| currentLine.addToken(new NewlineToken(this.lineSeparator));
|
| buffer.write(currentLine.toString());
|
| currentLine = new Line(indent: indentCount);
|
| }
|
|
|
| + newlines(int num) {
|
| + while (num-- > 0) {
|
| + newline();
|
| + }
|
| + }
|
| +
|
| space() {
|
| spaces(1);
|
| }
|
| @@ -120,9 +138,12 @@
|
|
|
| String toString() {
|
| var source = new StringBuffer(buffer.toString());
|
| - source.write(currentLine);
|
| + if (!currentLine.isWhitespace()) {
|
| + source.write(currentLine);
|
| + }
|
| return source.toString();
|
| }
|
| +
|
| }
|
|
|
|
|
|
|