From 0354f029adc8b5828ef06becb94904b2f0985974 Mon Sep 17 00:00:00 2001 From: Liam Miller-Cushon Date: Fri, 1 May 2020 13:49:49 -0700 Subject: [PATCH 1/6] Increment versions for 1.8 release PiperOrigin-RevId: 309467646 --- README.md | 6 +++--- core/pom.xml | 2 +- pom.xml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index c5fdee230..07325b77d 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ and run it with: ``` -java -jar /path/to/google-java-format-1.7-all-deps.jar [files...] +java -jar /path/to/google-java-format-1.8-all-deps.jar [files...] ``` The formatter can act on whole files, on limited lines (`--lines`), on specific @@ -94,7 +94,7 @@ configuration. com.google.googlejavaformat google-java-format - 1.7 + 1.8 ``` @@ -102,7 +102,7 @@ configuration. ```groovy dependencies { - compile 'com.google.googlejavaformat:google-java-format:1.7' + compile 'com.google.googlejavaformat:google-java-format:1.8' } ``` diff --git a/core/pom.xml b/core/pom.xml index 88b3cf910..8e394756c 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -22,7 +22,7 @@ com.google.googlejavaformat google-java-format-parent - 1.8-SNAPSHOT + 1.9-SNAPSHOT google-java-format diff --git a/pom.xml b/pom.xml index 2ece22d5e..f0776d3d7 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ com.google.googlejavaformat google-java-format-parent pom - 1.8-SNAPSHOT + 1.9-SNAPSHOT core From f5a9280558d46f2a1bf269eeefa0f53d7ba3ebfe Mon Sep 17 00:00:00 2001 From: Liam Miller-Cushon Date: Mon, 11 May 2020 13:00:03 -0700 Subject: [PATCH 2/6] Fix a crash in expression switches `throws` statements are allows to occur in non-block expression switch cases, which was causing the trailing `;` to be printed twice. Fixes https://github.com/google/google-java-format/issues/477 PiperOrigin-RevId: 310974906 --- .../java/java14/Java14InputAstVisitor.java | 2 +- .../java/FormatterIntegrationTest.java | 2 +- .../googlejavaformat/java/testdata/I477.input | 17 +++++++++++++++++ .../googlejavaformat/java/testdata/I477.output | 17 +++++++++++++++++ 4 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 core/src/test/resources/com/google/googlejavaformat/java/testdata/I477.input create mode 100644 core/src/test/resources/com/google/googlejavaformat/java/testdata/I477.output 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 28a110395..6585c6f6e 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 @@ -223,7 +223,7 @@ public Void visitCase(CaseTree node, Void unused) { token(">"); builder.space(); scan(node.getBody(), null); - token(";"); + builder.guessToken(";"); break; default: throw new AssertionError(node.getCaseKind()); diff --git a/core/src/test/java/com/google/googlejavaformat/java/FormatterIntegrationTest.java b/core/src/test/java/com/google/googlejavaformat/java/FormatterIntegrationTest.java index 289ea1baf..0e0ab9f49 100644 --- a/core/src/test/java/com/google/googlejavaformat/java/FormatterIntegrationTest.java +++ b/core/src/test/java/com/google/googlejavaformat/java/FormatterIntegrationTest.java @@ -47,7 +47,7 @@ @RunWith(Parameterized.class) public class FormatterIntegrationTest { - private static final ImmutableSet JAVA14_TESTS = ImmutableSet.of("java14"); + private static final ImmutableSet JAVA14_TESTS = ImmutableSet.of("java14", "I477"); @Parameters(name = "{index}: {0}") public static Iterable data() throws IOException { diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/I477.input b/core/src/test/resources/com/google/googlejavaformat/java/testdata/I477.input new file mode 100644 index 000000000..ecd8658b3 --- /dev/null +++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/I477.input @@ -0,0 +1,17 @@ +class I477 { + public static String foo(int in) { + return switch (in) { + case 1 -> "A"; + case 2 -> "B"; + default -> throw new IllegalStateException("Unknown input " + in); + }; + } + + public static String foo(int in) { + return switch (in) { + case 1 -> "A"; + case 2 -> "B"; + default -> "C"; + }; + } +} diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/I477.output b/core/src/test/resources/com/google/googlejavaformat/java/testdata/I477.output new file mode 100644 index 000000000..ecd8658b3 --- /dev/null +++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/I477.output @@ -0,0 +1,17 @@ +class I477 { + public static String foo(int in) { + return switch (in) { + case 1 -> "A"; + case 2 -> "B"; + default -> throw new IllegalStateException("Unknown input " + in); + }; + } + + public static String foo(int in) { + return switch (in) { + case 1 -> "A"; + case 2 -> "B"; + default -> "C"; + }; + } +} From 98c8525593e206225d92c76dd3f05513be18d699 Mon Sep 17 00:00:00 2001 From: cpovirk Date: Wed, 13 May 2020 09:34:40 -0700 Subject: [PATCH 3/6] Split up the string "M" + "OE:(begin|end)_intracomment_stripping," as the full string will trigger stripping under Copybara. Also, avoid reference to an internal link shortener, as we are making references to it an error. Looking to the future: When we migrate to use proper Copybara stripping directives, we could consider removing support for the old directives. Then the problem would mostly go away. However, we might end up having the same problem with Copybara directives when google-java-format's strings and method names start mentioning *them*. PiperOrigin-RevId: 311344956 --- .../java/javadoc/JavadocLexer.java | 4 +- .../java/JavadocFormattingTest.java | 50 +++++++++---------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/core/src/main/java/com/google/googlejavaformat/java/javadoc/JavadocLexer.java b/core/src/main/java/com/google/googlejavaformat/java/javadoc/JavadocLexer.java index 108d4a7bf..cc707ae7e 100644 --- a/core/src/main/java/com/google/googlejavaformat/java/javadoc/JavadocLexer.java +++ b/core/src/main/java/com/google/googlejavaformat/java/javadoc/JavadocLexer.java @@ -507,9 +507,9 @@ private static boolean hasMultipleNewlines(String s) { // Match "@param " specially in case the is a

or other HTML tag we treat specially. private static final Pattern FOOTER_TAG_PATTERN = compile("^@(param\\s+<\\w+>|[a-z]\\w*)"); private static final Pattern MOE_BEGIN_STRIP_COMMENT_PATTERN = - compile("^"); + compile("^"); private static final Pattern MOE_END_STRIP_COMMENT_PATTERN = - compile("^"); + compile("^"); private static final Pattern HTML_COMMENT_PATTERN = fullCommentPattern(); private static final Pattern PRE_OPEN_PATTERN = openTagPattern("pre"); private static final Pattern PRE_CLOSE_PATTERN = closeTagPattern("pre"); diff --git a/core/src/test/java/com/google/googlejavaformat/java/JavadocFormattingTest.java b/core/src/test/java/com/google/googlejavaformat/java/JavadocFormattingTest.java index 411699765..f5103d9b5 100644 --- a/core/src/test/java/com/google/googlejavaformat/java/JavadocFormattingTest.java +++ b/core/src/test/java/com/google/googlejavaformat/java/JavadocFormattingTest.java @@ -115,48 +115,48 @@ public void moeComments() { String[] input = { "/**", " * Deatomizes the given user.", - " * ", - " * See go/deatomizer-v5 for the design doc.", - " * ", + " * ", + " * See deatomizer-v5 for the design doc.", + " * ", " * To reatomize, call {@link reatomize}.", " *", - " * ", + " * ", " *

This method is used in the Google teleporter.", " *", " *

Yes, we have a teleporter.", - " * ", + " * ", " *", " * @param user the person to teleport.", - " * ", - " * Users must sign go/deatomize-waiver ahead of time.", - " * ", - " * ", + " * ", + " * Users must sign deatomize-waiver ahead of time.", + " * ", + " * ", " * @deprecated Sometimes turns the user into a goat.", - " * ", + " * ", " */", "class Test {}", }; String[] expected = { "/**", " * Deatomizes the given user.", - " * ", - " * See go/deatomizer-v5 for the design doc.", - " * ", + " * ", + " * See deatomizer-v5 for the design doc.", + " * ", " * To reatomize, call {@link reatomize}.", " *", - " * ", + " * ", " *

This method is used in the Google teleporter.", " *", " *

Yes, we have a teleporter.", - " * ", + " * ", " *", " * @param user the person to teleport.", - " * ", - " * Users must sign go/deatomize-waiver ahead of time.", - " * ", - " * ", + " * ", + " * Users must sign deatomize-waiver ahead of time.", + " * ", + " * ", " * @deprecated Sometimes turns the user into a goat.", - " * ", + " * ", " */", "class Test {}", }; @@ -169,7 +169,7 @@ public void moeCommentBeginOnlyInMiddleOfDoc() { String[] input = { "/**", // " * Foo.", - " * ", + " * ", " * Bar.", " */", "class Test {}", @@ -177,7 +177,7 @@ public void moeCommentBeginOnlyInMiddleOfDoc() { String[] expected = { "/**", // " * Foo.", - " * ", + " * ", " * Bar.", " */", "class Test {}", @@ -192,7 +192,7 @@ public void moeCommentBeginOnlyAtEndOfDoc() { String[] input = { "/**", // " * Foo.", - " * ", + " * ", " */", "class Test {}", }; @@ -209,14 +209,14 @@ public void moeCommentEndOnly() { String[] input = { "/**", // " * Foo.", - " * ", + " * ", " */", "class Test {}", }; String[] expected = { "/**", // " * Foo.", - " * ", + " * ", " */", "class Test {}", }; From 2ddcfd392cc5e45eaa5fb30c723b7e024f5caabb Mon Sep 17 00:00:00 2001 From: Avi Mimoun <36456709+av1m@users.noreply.github.com> Date: Tue, 26 May 2020 19:24:57 -0700 Subject: [PATCH 4/6] Addition of a third party: Github Actions - Add the possibility of formatting your code from Github directly (taking all the events of Github Actions) - Addition of the word "old" for the eclipse plugin, since it is 1.6 release Fixes #487 COPYBARA_INTEGRATE_REVIEW=https://github.com/google/google-java-format/pull/487 from av1m:master 351b737be5580c2f3320605668c218882624a3fc PiperOrigin-RevId: 313312689 --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 07325b77d..c12ca348e 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ and import it into File→Settings→Editor→Code Style. ### Eclipse -A +Version 1.6 of the [google-java-format Eclipse plugin](https://github.com/google/google-java-format/releases/download/google-java-format-1.6/google-java-format-eclipse-plugin_1.6.0.jar) can be downloaded from the releases page. Drop it into the Eclipse [drop-ins folder](http://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fp2_dropins_format.html) @@ -81,6 +81,9 @@ Implementation`. * [maltzj/google-style-precommit-hook](https://github.com/maltzj/google-style-precommit-hook): A pre-commit (pre-commit.com) hook that will automatically run GJF whenever you commit code to your repository +* [Github Actions](https://github.com/features/actions) + * [googlejavaformat-action](https://github.com/axel-op/googlejavaformat-action): + Automatically format your Java files when you push on github ### as a library From 22d8c55fb4699cf08e4c9728dc6ccc9360becd5a Mon Sep 17 00:00:00 2001 From: Liam Miller-Cushon Date: Wed, 3 Jun 2020 11:14:53 -0700 Subject: [PATCH 5/6] Java 14 integration tests PiperOrigin-RevId: 314566781 --- .../java/FormatterIntegrationTest.java | 3 +- .../java/testdata/ExpressionSwitch.input | 9 ++++ .../java/testdata/ExpressionSwitch.output | 9 ++++ .../googlejavaformat/java/testdata/RSLs.input | 6 +++ .../java/testdata/RSLs.output | 6 +++ .../java/testdata/Records.input | 29 +++++++++++ .../java/testdata/Records.output | 29 +++++++++++ .../googlejavaformat/java/testdata/Var.input | 5 ++ .../googlejavaformat/java/testdata/Var.output | 5 ++ .../java/testdata/java14.input | 50 ------------------ .../java/testdata/java14.output | 51 ------------------- 11 files changed, 100 insertions(+), 102 deletions(-) create mode 100644 core/src/test/resources/com/google/googlejavaformat/java/testdata/ExpressionSwitch.input create mode 100644 core/src/test/resources/com/google/googlejavaformat/java/testdata/ExpressionSwitch.output create mode 100644 core/src/test/resources/com/google/googlejavaformat/java/testdata/RSLs.input create mode 100644 core/src/test/resources/com/google/googlejavaformat/java/testdata/RSLs.output create mode 100644 core/src/test/resources/com/google/googlejavaformat/java/testdata/Records.input create mode 100644 core/src/test/resources/com/google/googlejavaformat/java/testdata/Records.output create mode 100644 core/src/test/resources/com/google/googlejavaformat/java/testdata/Var.input create mode 100644 core/src/test/resources/com/google/googlejavaformat/java/testdata/Var.output delete mode 100644 core/src/test/resources/com/google/googlejavaformat/java/testdata/java14.input delete mode 100644 core/src/test/resources/com/google/googlejavaformat/java/testdata/java14.output diff --git a/core/src/test/java/com/google/googlejavaformat/java/FormatterIntegrationTest.java b/core/src/test/java/com/google/googlejavaformat/java/FormatterIntegrationTest.java index 0e0ab9f49..44ba63925 100644 --- a/core/src/test/java/com/google/googlejavaformat/java/FormatterIntegrationTest.java +++ b/core/src/test/java/com/google/googlejavaformat/java/FormatterIntegrationTest.java @@ -47,7 +47,8 @@ @RunWith(Parameterized.class) public class FormatterIntegrationTest { - private static final ImmutableSet JAVA14_TESTS = ImmutableSet.of("java14", "I477"); + private static final ImmutableSet JAVA14_TESTS = + ImmutableSet.of("I477", "Records", "RSLs", "Var", "ExpressionSwitch"); @Parameters(name = "{index}: {0}") public static Iterable data() throws IOException { 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 new file mode 100644 index 000000000..381d5d17d --- /dev/null +++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/ExpressionSwitch.input @@ -0,0 +1,9 @@ +class ExpressionSwitch { + boolean odd(int x) { + return switch (x) { + case 0 -> true; + case 1 -> false; + default -> odd(x - 1); + }; + } +} \ No newline at end of file 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 new file mode 100644 index 000000000..38eca1b2d --- /dev/null +++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/ExpressionSwitch.output @@ -0,0 +1,9 @@ +class ExpressionSwitch { + boolean odd(int x) { + return switch (x) { + case 0 -> true; + case 1 -> false; + default -> odd(x - 1); + }; + } +} diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/RSLs.input b/core/src/test/resources/com/google/googlejavaformat/java/testdata/RSLs.input new file mode 100644 index 000000000..9c18f0def --- /dev/null +++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/RSLs.input @@ -0,0 +1,6 @@ +class RSLs { + String s = """ + lorem + ipsum + """; +} diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/RSLs.output b/core/src/test/resources/com/google/googlejavaformat/java/testdata/RSLs.output new file mode 100644 index 000000000..9c18f0def --- /dev/null +++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/RSLs.output @@ -0,0 +1,6 @@ +class RSLs { + String s = """ + lorem + ipsum + """; +} diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/Records.input b/core/src/test/resources/com/google/googlejavaformat/java/testdata/Records.input new file mode 100644 index 000000000..03a3c06b0 --- /dev/null +++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/Records.input @@ -0,0 +1,29 @@ +class Records { + record R1() {} + + private record R2() {} + + @Deprecated + private record R3() {} + + record R4() {} + + record R5(int x) {} + + record R6(@Deprecated int x) {} + + record R7(@Deprecated int x, int... y) {} + + record R8() implements Comparable> { + @Override + public int compareTo(R8 other) { + return 0; + } + } + + record R9(int x) { + R9(int x) { + this.x = x; + } + } +} diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/Records.output b/core/src/test/resources/com/google/googlejavaformat/java/testdata/Records.output new file mode 100644 index 000000000..03a3c06b0 --- /dev/null +++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/Records.output @@ -0,0 +1,29 @@ +class Records { + record R1() {} + + private record R2() {} + + @Deprecated + private record R3() {} + + record R4() {} + + record R5(int x) {} + + record R6(@Deprecated int x) {} + + record R7(@Deprecated int x, int... y) {} + + record R8() implements Comparable> { + @Override + public int compareTo(R8 other) { + return 0; + } + } + + record R9(int x) { + R9(int x) { + this.x = x; + } + } +} diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/Var.input b/core/src/test/resources/com/google/googlejavaformat/java/testdata/Var.input new file mode 100644 index 000000000..2633632d6 --- /dev/null +++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/Var.input @@ -0,0 +1,5 @@ +class Var { + void f() { + for (var x : ImmutableList.of(42)) {} + } +} \ No newline at end of file diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/Var.output b/core/src/test/resources/com/google/googlejavaformat/java/testdata/Var.output new file mode 100644 index 000000000..95d436ab5 --- /dev/null +++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/Var.output @@ -0,0 +1,5 @@ +class Var { + void f() { + for (var x : ImmutableList.of(42)) {} + } +} diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/java14.input b/core/src/test/resources/com/google/googlejavaformat/java/testdata/java14.input deleted file mode 100644 index 10d45221b..000000000 --- a/core/src/test/resources/com/google/googlejavaformat/java/testdata/java14.input +++ /dev/null @@ -1,50 +0,0 @@ -class Java14 { - void f() { - if (obj instanceof String s) { - } else { - } - } - - record Range(T lo, T hi) implements Comparable> { - - public Range {} - - Range(T lo) { - this(lo, lo); - } - - @Override - public int compareTo(Range other) { - throw new UnsupportedOperationException(); - } - } - - record Foo(int id) {} - - record Rcv(int id) { - public Rcv(Rcv this, int id) { - this.id = id; - } - } - - void g() { - var block = """ - hello - text - blocks - """.indent(6); - } - - void h() { - int numLetters = switch (day) { - case MONDAY, FRIDAY, SUNDAY -> 6; - case TUESDAY -> 7; - case THURSDAY, SATURDAY -> 8; - case WEDNESDAY -> 9; - }; - } - - { - for (var arg : List.of()) {} - } -} diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/java14.output b/core/src/test/resources/com/google/googlejavaformat/java/testdata/java14.output deleted file mode 100644 index 9779198b1..000000000 --- a/core/src/test/resources/com/google/googlejavaformat/java/testdata/java14.output +++ /dev/null @@ -1,51 +0,0 @@ -class Java14 { - void f() { - if (obj instanceof String s) { - } else { - } - } - - record Range(T lo, T hi) implements Comparable> { - - public Range {} - - Range(T lo) { - this(lo, lo); - } - - @Override - public int compareTo(Range other) { - throw new UnsupportedOperationException(); - } - } - - record Foo(int id) {} - - record Rcv(int id) { - public Rcv(Rcv this, int id) { - this.id = id; - } - } - - void g() { - var block = """ - hello - text - blocks - """.indent(6); - } - - void h() { - int numLetters = - switch (day) { - case MONDAY, FRIDAY, SUNDAY -> 6; - case TUESDAY -> 7; - case THURSDAY, SATURDAY -> 8; - case WEDNESDAY -> 9; - }; - } - - { - for (var arg : List.of()) {} - } -} From 5202af98006d744aafc2ba7cba2fa19a14e9b7b1 Mon Sep 17 00:00:00 2001 From: Tim Koopman Date: Wed, 3 Jun 2020 17:07:38 -0700 Subject: [PATCH 6/6] 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 --- .../java/java14/Java14InputAstVisitor.java | 6 ++++- .../java/testdata/ExpressionSwitch.input | 21 +++++++++++++++- .../java/testdata/ExpressionSwitch.output | 25 +++++++++++++++++++ 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 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"); + } + } }