| Index: lib/src/js/printer.dart
|
| diff --git a/lib/src/js/printer.dart b/lib/src/js/printer.dart
|
| index c8becbb40066bfc46ddaefbe3f4e1de3ee224312..7f75634e91d6fe0c1d7fb9d9a8742f767d03875e 100644
|
| --- a/lib/src/js/printer.dart
|
| +++ b/lib/src/js/printer.dart
|
| @@ -894,6 +894,8 @@ class Printer implements NodeVisitor {
|
|
|
| visitArrayInitializer(ArrayInitializer node) {
|
| out("[");
|
| + indentMore();
|
| + var multiline = node.multiline;
|
| List<Expression> elements = node.elements;
|
| for (int i = 0; i < elements.length; i++) {
|
| Expression element = elements[i];
|
| @@ -905,13 +907,22 @@ class Printer implements NodeVisitor {
|
| out(",");
|
| continue;
|
| }
|
| - if (i != 0) spaceOut();
|
| + if (i != 0 && !multiline) spaceOut();
|
| + if (multiline) {
|
| + forceLine();
|
| + indent();
|
| + }
|
| visitNestedExpression(element, ASSIGNMENT,
|
| newInForInit: false, newAtStatementBegin: false);
|
| // We can skip the trailing "," for the last element (since it's not
|
| // an array hole).
|
| if (i != elements.length - 1) out(",");
|
| }
|
| + indentLess();
|
| + if (multiline) {
|
| + lineOut();
|
| + indent();
|
| + }
|
| out("]");
|
| }
|
|
|
| @@ -924,20 +935,20 @@ class Printer implements NodeVisitor {
|
| out("{");
|
| indentMore();
|
|
|
| - var isOneLiner = !node.vertical;
|
| + var multiline = node.multiline;
|
| for (int i = 0; i < properties.length; i++) {
|
| if (i != 0) {
|
| out(",");
|
| - if (isOneLiner) spaceOut();
|
| + if (!multiline) spaceOut();
|
| }
|
| - if (!isOneLiner) {
|
| + if (multiline) {
|
| forceLine();
|
| indent();
|
| }
|
| visit(properties[i]);
|
| }
|
| indentLess();
|
| - if (!isOneLiner) {
|
| + if (multiline) {
|
| lineOut();
|
| indent();
|
| }
|
|
|