Skip to content

Commit aac2019

Browse files
cushongoogle-java-format Team
authored andcommitted
Add support for yield statement
Fixes #489 PiperOrigin-RevId: 314567082
1 parent 22d8c55 commit aac2019

File tree

3 files changed

+50
-2
lines changed

3 files changed

+50
-2
lines changed

core/src/main/java/com/google/googlejavaformat/java/java14/Java14InputAstVisitor.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,11 @@ public Void visitBindingPattern(BindingPatternTree node, Void unused) {
6060
@Override
6161
public Void visitYield(YieldTree node, Void aVoid) {
6262
sync(node);
63-
return super.visitYield(node, aVoid);
63+
token("yield");
64+
builder.space();
65+
scan(node.getValue(), null);
66+
token(";");
67+
return null;
6468
}
6569

6670
@Override

core/src/test/resources/com/google/googlejavaformat/java/testdata/ExpressionSwitch.input

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,23 @@ class ExpressionSwitch {
66
default -> odd(x - 1);
77
};
88
}
9-
}
9+
10+
{
11+
int f = switch (i) {
12+
case 0 -> 0;
13+
default -> {
14+
yield n / i;
15+
}
16+
};
17+
18+
int g = switch (i) {
19+
case 0: yield 0;
20+
default: yield n/i;
21+
};
22+
23+
switch (i) {
24+
case 0 -> { System.out.println("0"); }
25+
default -> System.out.println("default");
26+
}
27+
}
28+
}

core/src/test/resources/com/google/googlejavaformat/java/testdata/ExpressionSwitch.output

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,29 @@ class ExpressionSwitch {
66
default -> odd(x - 1);
77
};
88
}
9+
10+
{
11+
int f =
12+
switch (i) {
13+
case 0 -> 0;
14+
default -> {
15+
yield n / i;
16+
}
17+
};
18+
19+
int g =
20+
switch (i) {
21+
case 0:
22+
yield 0;
23+
default:
24+
yield n / i;
25+
};
26+
27+
switch (i) {
28+
case 0 -> {
29+
System.out.println("0");
30+
}
31+
default -> System.out.println("default");
32+
}
33+
}
934
}

0 commit comments

Comments
 (0)