| 40 columns | |
| >>> all fit on one line |
| method<A,B,C,D>(); |
| <<< |
| method<A, B, C, D>(); |
| >>> prefer to split between args even when they all fit on next line |
| lengthyMethodName<First, Second, Third>(); |
| <<< |
| lengthyMethodName<First, Second, |
| Third>(); |
| >>> split before first if needed |
| lengthyMethodName<FirstTypeArgumentIsLong, Second>(); |
| <<< |
| lengthyMethodName< |
| FirstTypeArgumentIsLong, Second>(); |
| >>> split in middle if fit in two lines |
| lengthyMethodName<First, Second, Third, Fourth, Fifth, Sixth, Seventh>(); |
| <<< |
| lengthyMethodName<First, Second, Third, |
| Fourth, Fifth, Sixth, Seventh>(); |
| >>> split one per line if they don't fit in two lines |
| lengthyMethodName<First, Second, Third, Fourth, Fifth, Sixth, Seventh, Eighth>(); |
| <<< |
| lengthyMethodName< |
| First, |
| Second, |
| Third, |
| Fourth, |
| Fifth, |
| Sixth, |
| Seventh, |
| Eighth>(); |
| >>> prefers to not split at type arguments |
| lengthyMethodName< |
| TypeArgument>(valueArgument); |
| <<< |
| lengthyMethodName<TypeArgument>( |
| valueArgument); |
| >>> split both type and value arguments |
| lengthyMethodName<First, Second, Third, Fourth, Fifth, Sixth, Seventh, Eighth>(first, second, third, fourth, fifth, sixth, seventh, eighth); |
| <<< |
| lengthyMethodName< |
| First, |
| Second, |
| Third, |
| Fourth, |
| Fifth, |
| Sixth, |
| Seventh, |
| Eighth>( |
| first, |
| second, |
| third, |
| fourth, |
| fifth, |
| sixth, |
| seventh, |
| eighth); |
| >>> in method chain |
| receiver.method<First, Second, Third, Fourth, Fifth> |
| (first, second, third, fourth, fifth) |
| .method<First, Second, Third, Fourth, Fifth> |
| (first, second, third, fourth, fifth); |
| <<< |
| receiver |
| .method<First, Second, Third, |
| Fourth, Fifth>(first, |
| second, third, fourth, fifth) |
| .method<First, Second, Third, |
| Fourth, Fifth>(first, |
| second, third, fourth, fifth); |