Reports enum switch statements or expression with default branches which can never be taken, because all possible values are covered by a case branch.

Such elements are redundant, especially for switch expressions, because they don't compile when all enum constants are not covered by a case branch.

The language level needs to be configured to 14 to report switch expressions.

The provided quick-fix removes default branches.

Example:


  enum E { A, B }
  int foo(E e) {
    return switch (e) {
      case A -> 1;
      case B -> 2;
      default -> 3;
    };
  }

After the quick-fix is applied:


  enum E { A, B }
  int foo(E e) {
    return switch (e) {
      case A -> 1;
      case B -> 2;
    };
  }

Use the Only report switch expressions option to report only redundant default branches in switch expressions.