非推奨のクラス、フィールド、メソッドの使用箇所を報告します。 非推奨の使用箇所を自動的に変換するクイックフィックスを使用できます (必要な情報を非推奨メンバーの Javadoc から抽出できる場合)。

例:


  class Interesting {

    /**
     * @deprecated {@link #newHotness()} を代わりに使用してください
     */
    @Deprecated
    public void oldAndBusted() {}

    public void newHotness() {}
  }
  class ElseWhere {
    void x(Interesting i) {
      i.oldAndBusted(); // ここで非推奨の警告が表示されます
    }
  }

クイックフィックス適用後:


  class Interesting {

    /**
     * @deprecated {@link #newHotness()} を代わりに使用してください
     */
    @Deprecated
    public void oldAndBusted() {}

    public void newHotness() {}
  }
  class ElseWhere {
    void x(Interesting i) {
      i.newHotness();
    }
  }

デフォルトでは、このインスペクションは回避不可能、または回避困難なものについては警告しません。 たとえば、以下のコードは報告されません。


  abstract class A { //ライブラリのコード
     @Deprecated
     abstract void m();
  }
  class B extends A { //プロジェクトのコード
     @Override
     void m() {
        //doSmth;
     }
  }

インスペクションの構成:

非推奨メンバー、非推奨 abstract メソッドをオーバーライドしたメソッド、非 static の import ステートメント、非推奨クラスのメソッド、または同じトップクラスの中でこのインスペクションを無効化するには、オプションを使用します。