常に同じ定数を返すメソッドとメソッド階層を報告します。

このインスペクションは、バッチモード (「コード | コードのインスペクション」と「コード | コードの解析 | インスペクション名を指定して実行」からアクセス) とエディターでオンザフライで実行する場合とでは動作が異なります。

例:


  class X {
                // バッチモードでのみ警告。
    int xxx() { // メソッド 'xxx()' とそのすべてのオーバーライドメソッドは常に '0' を返します
      return 0;
    }
  }

  class Y extends X {
    @Override
    int xxx() {
        return 0;
    }

                // バッチモードでのみ警告。
    int yyy() { // メソッド 'yyy()' は常に '0' を返します
        return 0;
    }

                                  // バッチモードとオンザフライの両方で警告。
    final int zzz(boolean flag) { // メソッド 'zzz()' は常に '0' を返します
        if (Math.random() > 0.5) {
            return 0;
        }
        return 0;
    }
  }