Repository navigation
Commit 1bc6129
committed
Keep an annotated lambda parameter on its line
An annotation with arguments on a lambda parameter, such as
`(final var x, @SuppressWarnings("unused") var y) -> x + y`, forced a
line break after the annotation, so a statement that fits in 120
columns came out as four lines. visitLambdaExpression declared each
parameter with inlineAnnotationDirection, which answers VERTICAL, a
forced break, for any annotation that has arguments. That rule is for
local variable declarations, where the annotation above the type is the
wanted shape. Method parameters are declared with Direction.HORIZONTAL
and keep their annotations inline; lambda parameters now do the same.
Golden ojf-issue-101-annotated-lambda-parameters covers the broken
shape, a one-line input, two annotations, marker annotations, a block
body, a lambda too long for one line and one whose parameters do not
fit, with a method parameter and a local variable as controls. The JDK
21 and 25 sources format exactly as before: they have no lambda
parameter with an annotation that takes arguments.
Closes #101.1 parent 2fbf175 commit 1bc6129
3 files changed
Lines changed: 63 additions & 4 deletions
File tree
- open-java-format/src
- main/java/com/palantir/javaformat/java
- test/resources/com/palantir/javaformat/java/testdata
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1247 | 1247 | | |
1248 | 1248 | | |
1249 | 1249 | | |
1250 | | - | |
1251 | | - | |
1252 | | - | |
1253 | | - | |
| 1250 | + | |
| 1251 | + | |
| 1252 | + | |
| 1253 | + | |
1254 | 1254 | | |
1255 | 1255 | | |
1256 | 1256 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
0 commit comments