|  | 40 columns                              | | 
|  | >>> | 
|  | { | 
|  | new A(new A.named()); | 
|  | new A<int>(new A<int>.named()); | 
|  | // Don't touch const. | 
|  | const A(); | 
|  | const A.named(); | 
|  | } | 
|  | <<< | 
|  | { | 
|  | A(A.named()); | 
|  | A<int>(A<int>.named()); | 
|  | // Don't touch const. | 
|  | const A(); | 
|  | const A.named(); | 
|  | } | 
|  | >>> preserves block comments before | 
|  | /* a */    /* b */ new A(); | 
|  | <<< | 
|  | /* a */ /* b */ A(); | 
|  | >>> preserves block comments after | 
|  | new /* a */    /* b */A(); | 
|  | <<< | 
|  | /* a */ /* b */ A(); | 
|  | >>> preserves line comments before | 
|  | // a | 
|  | // b | 
|  | new A(); | 
|  | <<< | 
|  | // a | 
|  | // b | 
|  | A(); | 
|  | >>> preserves line comments after | 
|  | new // a | 
|  | // b | 
|  | A(); | 
|  | <<< | 
|  | // a | 
|  | // b | 
|  | A(); | 
|  | >>> | 
|  | var x = // 1 | 
|  | new // 2 | 
|  | Foo(); | 
|  | <<< | 
|  | var x = // 1 | 
|  | // 2 | 
|  | Foo(); | 
|  | >>> merge surrounding comments | 
|  | { | 
|  | /* a */ new /* b */ A(); | 
|  | /* a */ new // b | 
|  | A(); | 
|  | // a | 
|  | new /* b */ A(); | 
|  | // a | 
|  | new // b | 
|  | A(); | 
|  | } | 
|  | <<< | 
|  | { | 
|  | /* a */ /* b */ A(); | 
|  | /* a */ // b | 
|  | A(); | 
|  | // a | 
|  | /* b */ A(); | 
|  | // a | 
|  | // b | 
|  | A(); | 
|  | } | 
|  | >>> handle already-removed keyword | 
|  | A<int>(A<int>.named()); | 
|  | <<< | 
|  | A<int>(A<int>.named()); | 
|  | >>> inside string interpolation | 
|  | "before ${new Foo()} after"; | 
|  | <<< | 
|  | "before ${Foo()} after"; |