Skip to content

Commit b46d1f0

Browse files
committed
Add support for yield statement
1 parent 2ddcfd3 commit b46d1f0

File tree

3 files changed

+49
-1
lines changed

3 files changed

+49
-1
lines changed

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

+5-1
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/java14.input

+19
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,23 @@ class Java14 {
4747
{
4848
for (var arg : List.of()) {}
4949
}
50+
51+
{
52+
int f = switch (i) {
53+
case 0 -> 0;
54+
default -> {
55+
yield n / i;
56+
}
57+
};
58+
59+
int g = switch (i) {
60+
case 0: yield 0;
61+
default: yield n/i;
62+
};
63+
64+
switch (i) {
65+
case 0 -> { System.out.println("0"); }
66+
default -> System.out.println("default");
67+
}
68+
}
5069
}

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

+25
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,29 @@ class Java14 {
4848
{
4949
for (var arg : List.of()) {}
5050
}
51+
52+
{
53+
int f =
54+
switch (i) {
55+
case 0 -> 0;
56+
default -> {
57+
yield n / i;
58+
}
59+
};
60+
61+
int g =
62+
switch (i) {
63+
case 0:
64+
yield 0;
65+
default:
66+
yield n / i;
67+
};
68+
69+
switch (i) {
70+
case 0 -> {
71+
System.out.println("0");
72+
}
73+
default -> System.out.println("default");
74+
}
75+
}
5176
}

0 commit comments

Comments
 (0)