| Index: lib/src/source_visitor.dart
|
| diff --git a/lib/src/source_visitor.dart b/lib/src/source_visitor.dart
|
| index 1cdd0bea0adb767b73716102ef3ccb831223d778..0da60dd4d76871d886ca8442a3e065bef28728b5 100644
|
| --- a/lib/src/source_visitor.dart
|
| +++ b/lib/src/source_visitor.dart
|
| @@ -538,10 +538,15 @@ class SourceVisitor implements AstVisitor {
|
| // ":" if the parameters and initialization list don't all fit on one line.
|
| builder.startRule();
|
|
|
| + // If the redirecting constructor happens to wrap, we want to make sure
|
| + // the parameter list gets more deeply indented.
|
| + if (node.redirectedConstructor != null) builder.nestExpression();
|
| +
|
| _visitBody(node.parameters, node.body, () {
|
| // Check for redirects or initializer lists.
|
| if (node.redirectedConstructor != null) {
|
| _visitConstructorRedirects(node);
|
| + builder.unnest();
|
| } else if (node.initializers.isNotEmpty) {
|
| _visitConstructorInitializers(node);
|
| }
|
| @@ -549,7 +554,8 @@ class SourceVisitor implements AstVisitor {
|
| }
|
|
|
| void _visitConstructorRedirects(ConstructorDeclaration node) {
|
| - token(node.separator /* = */, before: space, after: space);
|
| + token(node.separator /* = */, before: space);
|
| + soloSplit();
|
| visitCommaSeparatedNodes(node.initializers);
|
| visit(node.redirectedConstructor);
|
| }
|
|
|