google / google-java-format

Reformats Java source code to comply with Google Java Style.
Other
5.63k stars 855 forks source link

Incorrect comment indentation inside switch statements on case that is not first #1155

Open romani opened 2 months ago

romani commented 2 months ago

continuation of https://github.com/google/google-java-format/issues/1147

$ javac Test.java 
$ cat Test.java 
public class Test {
  public void check1(int x) {
    switch (x) {
      case 1:
        x = x + 1;
      /* fall-through*/ case 2:
        ;
      default:
        return;
    }
  }
}

$ java -jar google-java-format-1.23.0-all-deps.jar Test.java > TestUpdated.java
$ diff -u Test.java TestUpdated.java 
--- Test.java   2024-09-01 07:31:37.268757862 -0700
+++ TestUpdated.java    2024-09-01 07:31:54.329333795 -0700
@@ -3,7 +3,7 @@
     switch (x) {
       case 1:
         x = x + 1;
-      /* fall-through*/ case 2:
+        /* fall-through*/ case 2:
         ;
       default:
         return;

$ cat TestUpdated.java 
public class Test {
  public void check1(int x) {
    switch (x) {
      case 1:
        x = x + 1;
        /* fall-through*/ case 2:
        ;
      default:
        return;
    }
  }
}
cushon commented 2 months ago

I agree that ident is a bug, although I'd also encourage code following Google Style to use the 'typical' fall through comment the style guide suggests which is the line comment // fall through.