mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
disable static method call on subclass if method is from interface
added in java 8, static methods in interfaces can't be called on subclasses, corresponding highlighting error provides the same fix and thus inspection is redundant
This commit is contained in:
+1
-1
@@ -156,7 +156,7 @@ public class StaticCallOnSubclassInspection extends BaseInspection implements Cl
|
||||
if (declaringClass == null) {
|
||||
return;
|
||||
}
|
||||
if (declaringClass.equals(referencedClass)) {
|
||||
if (declaringClass.equals(referencedClass) || declaringClass.isInterface()) {
|
||||
return;
|
||||
}
|
||||
final PsiResolveHelper resolveHelper = JavaPsiFacade.getInstance(methodExpression.getProject()).getResolveHelper();
|
||||
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
|
||||
interface I {
|
||||
static <Z> void FOO() {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
class A implements I {
|
||||
{
|
||||
A.<String>F<caret>OO();
|
||||
}
|
||||
}
|
||||
|
||||
+4
@@ -33,6 +33,10 @@ public class StaticCallOnSubclassTest extends IGQuickFixesTestCase {
|
||||
public void testMethodReference() {
|
||||
doTest("methodRef", InspectionGadgetsBundle.message("static.method.via.subclass.rationalize.quickfix"));
|
||||
}
|
||||
|
||||
public void testOnInterface() {
|
||||
assertQuickfixNotAvailable(InspectionGadgetsBundle.message("static.method.via.subclass.rationalize.quickfix"));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getRelativePath() {
|
||||
|
||||
Reference in New Issue
Block a user