| Index: pkg/js_ast/lib/src/printer.dart
|
| diff --git a/pkg/js_ast/lib/src/printer.dart b/pkg/js_ast/lib/src/printer.dart
|
| index 57b35cfae4ce9cf8ae1e9175ffbac7165d61a1f1..c2deb1eefc2d591c29d19d193ba37b8e1c87e7f8 100644
|
| --- a/pkg/js_ast/lib/src/printer.dart
|
| +++ b/pkg/js_ast/lib/src/printer.dart
|
| @@ -952,7 +952,32 @@ class Printer implements NodeVisitor {
|
| }
|
|
|
| @override
|
| - void visitLiteralBool(LiteralBool node) {
|
| + visitDeferredExpression(DeferredExpression node) {
|
| + // Continue printing with the expression value.
|
| + assert(node.precedenceLevel == node.value.precedenceLevel);
|
| + node.value.accept(this);
|
| + }
|
| +
|
| + outputNumberWithRequiredWhitespace(String number) {
|
| + int charCode = number.codeUnitAt(0);
|
| + if (charCode == charCodes.$MINUS && lastCharCode == charCodes.$MINUS) {
|
| + out(" ", isWhitespace: true);
|
| + }
|
| + out(number);
|
| + }
|
| +
|
| + @override
|
| + visitDeferredNumber(DeferredNumber node) {
|
| + outputNumberWithRequiredWhitespace("${node.value}");
|
| + }
|
| +
|
| + @override
|
| + visitDeferredString(DeferredString node) {
|
| + out(node.value);
|
| + }
|
| +
|
| + @override
|
| + visitLiteralBool(LiteralBool node) {
|
| out(node.value ? "true" : "false");
|
| }
|
|
|
| @@ -962,12 +987,13 @@ class Printer implements NodeVisitor {
|
| }
|
|
|
| @override
|
| - void visitLiteralNumber(LiteralNumber node) {
|
| - int charCode = node.value.codeUnitAt(0);
|
| - if (charCode == charCodes.$MINUS && lastCharCode == charCodes.$MINUS) {
|
| - out(" ", isWhitespace: true);
|
| - }
|
| - out(node.value);
|
| + visitStringConcatenation(StringConcatenation node) {
|
| + node.visitChildren(this);
|
| + }
|
| +
|
| + @override
|
| + visitLiteralNumber(LiteralNumber node) {
|
| + outputNumberWithRequiredWhitespace(node.value);
|
| }
|
|
|
| @override
|
| @@ -1013,7 +1039,6 @@ class Printer implements NodeVisitor {
|
| out("{");
|
| indentMore();
|
| for (int i = 0; i < properties.length; i++) {
|
| - Expression value = properties[i].value;
|
| if (i != 0) {
|
| out(",");
|
| if (node.isOneLiner) spaceOut();
|
|
|