Example:
class Interesting {
/**
* @deprecated Use {@link #newHotness()} instead
*/
@Deprecated
public void oldAndBusted() {}
public void newHotness() {}
}
class ElseWhere {
void x(Interesting i) {
i.oldAndBusted(); // deprecated warning here
}
}
After the quick-fix is applied:
class Interesting {
/**
* @deprecated Use {@link #newHotness()} instead
*/
@Deprecated
public void oldAndBusted() {}
public void newHotness() {}
}
class ElseWhere {
void x(Interesting i) {
i.newHotness();
}
}
By default, the inspection doesn't produce a warning if it's impossible or hard to avoid it. For example, the following code won't be reported:
abstract class A { //library code
@Deprecated
abstract void m();
}
class B extends A { //project code
@Override
void m() {
//doSmth;
}
}
Configure the inspection:
Use the options to disable this inspection inside deprecated members, overrides of abstract deprecated methods, non-static import statements, methods of deprecated classes, or same top-level classes.