| 40 columns | |
| >>> all fit on one line |
| class Foo<A,B,C,D> {} |
| <<< |
| class Foo<A, B, C, D> {} |
| >>> prefer to split between params even when they all fit on next line |
| class LongClassName<First, Second, Third> {} |
| <<< |
| class LongClassName<First, Second, |
| Third> {} |
| >>> split before first if needed |
| class LongClassName<FirstTypeParameterIsLong, Second> {} |
| <<< |
| class LongClassName< |
| FirstTypeParameterIsLong, Second> {} |
| >>> split in middle if fit in two lines |
| class LongClassName<First, Second, Third, Fourth, Fifth, Sixth> {} |
| <<< |
| class LongClassName<First, Second, |
| Third, Fourth, Fifth, Sixth> {} |
| >>> split one per line if they don't fit in two lines |
| class LongClassName<First, Second, Third, Fourth, Fifth, Sixth, Seventh> {} |
| <<< |
| class LongClassName< |
| First, |
| Second, |
| Third, |
| Fourth, |
| Fifth, |
| Sixth, |
| Seventh> {} |
| >>> prefers to not split at type arguments |
| class SomeClass< |
| TypeArgument> extends Base {} |
| <<< |
| class SomeClass<TypeArgument> |
| extends Base {} |