Reports methods with a boolean return type that are used only in a negated context.

The quick-fix makes it possible to rename and invert the method. Due to performance reasons, some methods might not be highlighted in the editor.

Example:


  class C {
    boolean alwaysTrue() {
      return true;
    }

    void f() {
      if (!alwaysTrue()) {
        return;
      }
    }
    boolean member = !alwaysTrue();
  }

After the quick-fix is applied:


  class C {
    boolean alwaysFalse() {
      return false;
    }

    void f() {
      if (alwaysFalse()) {
        return;
      }
    }
    boolean member = alwaysFalse();
  }