Reports redundant modifiers and suggests to remove them. The resulting code will be shorter, but the behaviour and meaning will remain the same.

Example 1:


  // all code is implicitly strictfp under Java 17 and higher
  strictfp class X {

    // inner enums are implicitly static
    static enum Inner {
        A, B, C
    }

    // inner records are implicitly static
    static record R() {
    }
  }

Example 2:


  final record R() {
    // all records are implicitly final
  }

Example 3:


  // all interfaces are implicitly abstract
  abstract interface Printer {

    // all interface members are implicitly public
    public int size();

    // all inner classes of interfaces are implicitly static
    static class Inner {}
  }