diff --git a/core/src/main/java/com/google/googlejavaformat/java/java14/Java14InputAstVisitor.java b/core/src/main/java/com/google/googlejavaformat/java/java14/Java14InputAstVisitor.java index 6585c6f6e..78cfd66b1 100644 --- a/core/src/main/java/com/google/googlejavaformat/java/java14/Java14InputAstVisitor.java +++ b/core/src/main/java/com/google/googlejavaformat/java/java14/Java14InputAstVisitor.java @@ -60,7 +60,11 @@ public Void visitBindingPattern(BindingPatternTree node, Void unused) { @Override public Void visitYield(YieldTree node, Void aVoid) { sync(node); - return super.visitYield(node, aVoid); + token("yield"); + builder.space(); + scan(node.getValue(), null); + token(";"); + return null; } @Override diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/ExpressionSwitch.input b/core/src/test/resources/com/google/googlejavaformat/java/testdata/ExpressionSwitch.input index 381d5d17d..1e4db164d 100644 --- a/core/src/test/resources/com/google/googlejavaformat/java/testdata/ExpressionSwitch.input +++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/ExpressionSwitch.input @@ -6,4 +6,23 @@ class ExpressionSwitch { default -> odd(x - 1); }; } -} \ No newline at end of file + + { + int f = switch (i) { + case 0 -> 0; + default -> { + yield n / i; + } + }; + + int g = switch (i) { + case 0: yield 0; + default: yield n/i; + }; + + switch (i) { + case 0 -> { System.out.println("0"); } + default -> System.out.println("default"); + } + } +} diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/ExpressionSwitch.output b/core/src/test/resources/com/google/googlejavaformat/java/testdata/ExpressionSwitch.output index 38eca1b2d..6458aa09d 100644 --- a/core/src/test/resources/com/google/googlejavaformat/java/testdata/ExpressionSwitch.output +++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/ExpressionSwitch.output @@ -6,4 +6,29 @@ class ExpressionSwitch { default -> odd(x - 1); }; } + + { + int f = + switch (i) { + case 0 -> 0; + default -> { + yield n / i; + } + }; + + int g = + switch (i) { + case 0: + yield 0; + default: + yield n / i; + }; + + switch (i) { + case 0 -> { + System.out.println("0"); + } + default -> System.out.println("default"); + } + } }