diff options
author | Tim Koopman <n.t.koopman@nandoe.net> | 2020-06-03 17:07:38 -0700 |
---|---|---|
committer | google-java-format Team <google-java-format-dev+copybara@google.com> | 2020-06-03 17:08:04 -0700 |
commit | 5202af98006d744aafc2ba7cba2fa19a14e9b7b1 (patch) | |
tree | 94adf4732fb6743f0e7f75586c47973a67434757 | |
parent | 22d8c55fb4699cf08e4c9728dc6ccc9360becd5a (diff) | |
download | google-java-format-5202af98006d744aafc2ba7cba2fa19a14e9b7b1.tar.gz |
Add support for yield statement
Implement visitYield.
Fixes #489
from ntkoopman:yield b46d1f0f2526044676e7ed5cca07a6f745772c0d
COPYBARA_INTEGRATE_REVIEW=https://github.com/google/google-java-format/pull/489
PiperOrigin-RevId: 314633394
3 files changed, 50 insertions, 2 deletions
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 6585c6f..78cfd66 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 class Java14InputAstVisitor extends JavaInputAstVisitor { @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 381d5d1..1e4db16 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 38eca1b..6458aa0 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"); + } + } } |