| 40 columns | |
| >>> Single initializers can be on one line |
| class Foo extends Bar { |
| final int b; |
| Foo(int a, this.b) : super(a); |
| } |
| <<< |
| class Foo extends Bar { |
| final int b; |
| Foo(int a, this.b) : super(a); |
| } |
| >>> (or not) |
| class Foo extends Bar { |
| final int b; |
| Foo(int a, this.b): super(aLongIdentifier); |
| } |
| <<< |
| class Foo extends Bar { |
| final int b; |
| Foo(int a, this.b) |
| : super(aLongIdentifier); |
| } |
| >>> Multiple initializers are one per line |
| class Foo extends Bar { |
| final int b; |
| Foo(int a, int b) : super(a), this.b = b == null ? 0 : b; |
| } |
| <<< |
| class Foo extends Bar { |
| final int b; |
| Foo(int a, int b) |
| : super(a), |
| this.b = b == null ? 0 : b; |
| } |
| >>> try to keep constructor call together |
| var longIdentifier = new Thing( |
| argument, argument); |
| <<< |
| var longIdentifier = |
| new Thing(argument, argument); |
| >>> splits before ":" if the parameter list does not fit on one line |
| class Foo { |
| Foo(int longArg1, int longArg2, int longArg3) : this._(longArg1); |
| } |
| <<< |
| class Foo { |
| Foo(int longArg1, int longArg2, |
| int longArg3) |
| : this._(longArg1); |
| } |
| >>> indent parameters more if body is a wrapped => |
| class Foo { |
| Foo(firstArgument, secondArgument, third) => "very long body that must wrap"; |
| } |
| <<< |
| class Foo { |
| Foo(firstArgument, secondArgument, |
| third) => |
| "very long body that must wrap"; |
| } |
| >>> wrap initializers past the ":" |
| class Foo { |
| Foo(parameter) |
| : initializer = function(argument, argument), |
| initializer2 = function(argument, argument); |
| } |
| <<< |
| class Foo { |
| Foo(parameter) |
| : initializer = function( |
| argument, argument), |
| initializer2 = function( |
| argument, argument); |
| } |
| >>> split at "=" in initializer |
| class Foo { |
| Foo() : initializer =function(argument, arg); |
| } |
| <<< |
| class Foo { |
| Foo() |
| : initializer = |
| function(argument, arg); |
| } |
| >>> assert in initializer list, short |
| class Foo { |
| Foo() : assert(1), assert(2); |
| } |
| <<< |
| class Foo { |
| Foo() |
| : assert(1), |
| assert(2); |
| } |
| >>> assert in initializer list, long |
| class Foo { |
| Foo() : assert(function(argument, argument, argument)), assert(function(argument, function(argument, argument, argument), argument)); |
| } |
| <<< |
| class Foo { |
| Foo() |
| : assert(function(argument, |
| argument, argument)), |
| assert(function( |
| argument, |
| function(argument, argument, |
| argument), |
| argument)); |
| } |
| >>> split assert with trailing comma |
| class Foo { |
| Foo() : assert(condition,); |
| } |
| <<< |
| class Foo { |
| Foo() |
| : assert( |
| condition, |
| ); |
| } |
| >>> split assert with trailing comma and message |
| class Foo { |
| Foo() : assert(condition, "some message",); |
| } |
| <<< |
| class Foo { |
| Foo() |
| : assert( |
| condition, |
| "some message", |
| ); |
| } |
| >>> trailing commas and initializer lists |
| class A { |
| A(a,):super(); |
| } |
| <<< |
| class A { |
| A( |
| a, |
| ) : super(); |
| } |
| >>> |
| class A { |
| A({a,}):super(); |
| } |
| <<< |
| class A { |
| A({ |
| a, |
| }) : super(); |
| } |
| >>> |
| class A { |
| A(a,):b=1,super(); |
| } |
| <<< |
| class A { |
| A( |
| a, |
| ) : b = 1, |
| super(); |
| } |
| >>> extra space after ":" to line up with later initializers |
| class A { |
| A({a,}):b=1,super(){;} |
| } |
| <<< |
| class A { |
| A({ |
| a, |
| }) : b = 1, |
| super() { |
| ; |
| } |
| } |
| >>> no extra space on a single initializer, even if it splits |
| class A { |
| A(a,):parameter = "some very very long param"; |
| } |
| <<< |
| class A { |
| A( |
| a, |
| ) : parameter = |
| "some very very long param"; |
| } |
| >>> split at name if necessary |
| main() { |
| new VeryLongClassName.veryLongNamedConstructor(); |
| } |
| <<< |
| main() { |
| new VeryLongClassName |
| .veryLongNamedConstructor(); |
| } |