mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
deprecation inspection: do not suggest fix if method is not applicable IDEA-209685
This commit is contained in:
+6
@@ -234,6 +234,12 @@ public abstract class DeprecationInspectionBase extends LocalInspectionTool {
|
||||
else {
|
||||
PsiExpression qualifierExpression = call.getMethodExpression().getQualifierExpression();
|
||||
qualifierText = qualifierExpression == null ? "" : qualifierExpression.getText() + ".";
|
||||
|
||||
PsiType qualifierType = ExpressionUtils.getQualifierOrThis(call.getMethodExpression()).getType();
|
||||
PsiClass qualifierClass = PsiUtil.resolveClassInType(qualifierType);
|
||||
if (qualifierClass == null) return false;
|
||||
PsiClass suggestedClass = suggestedReplacement.getContainingClass();
|
||||
if (suggestedClass == null || !InheritanceUtil.isInheritorOrSelf(qualifierClass, suggestedClass, true)) return false;
|
||||
}
|
||||
|
||||
PsiElementFactory elementFactory = JavaPsiFacade.getElementFactory(initial.getProject());
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
// "Replace method call with Test2.mmm" "false"
|
||||
class Test {
|
||||
static void example() {
|
||||
Test t = new Test();
|
||||
t.m<caret>mm();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link Test2#mmm()}
|
||||
*
|
||||
*/
|
||||
@Deprecated
|
||||
void mmm() {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class Test2 {
|
||||
void mmm() {
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user