diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/bugs/StaticCallOnSubclassInspection.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/bugs/StaticCallOnSubclassInspection.java index a9f42cc835ef..ba375c52b2fd 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/bugs/StaticCallOnSubclassInspection.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/bugs/StaticCallOnSubclassInspection.java @@ -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(); diff --git a/plugins/InspectionGadgets/test/com/siyeh/igfixes/bugs/staticCallOnSubclass/OnInterface.java b/plugins/InspectionGadgets/test/com/siyeh/igfixes/bugs/staticCallOnSubclass/OnInterface.java new file mode 100644 index 000000000000..b0296ce1f884 --- /dev/null +++ b/plugins/InspectionGadgets/test/com/siyeh/igfixes/bugs/staticCallOnSubclass/OnInterface.java @@ -0,0 +1,13 @@ + +interface I { + static void FOO() { + + } +} + +class A implements I { + { + A.FOO(); + } +} + diff --git a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/bugs/StaticCallOnSubclassTest.java b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/bugs/StaticCallOnSubclassTest.java index de0e71f994ee..879db16897c7 100644 --- a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/bugs/StaticCallOnSubclassTest.java +++ b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/bugs/StaticCallOnSubclassTest.java @@ -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() {