diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/InspectionGadgetsBundle.properties b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/InspectionGadgetsBundle.properties index d4365a2aadd1..84ec90c21706 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/InspectionGadgetsBundle.properties +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/InspectionGadgetsBundle.properties @@ -890,6 +890,7 @@ switch.statement.with.confusing.declaration.problem.descriptor=Local variable #ref #loc final.class.problem.descriptor=Class declared #ref #loc empty.class.problem.descriptor=Class #ref is empty #loc +empty.enum.problem.descriptor=Enum #ref is empty #loc empty.class.file.without.class.problem.descriptor=Java file does not declare any class #loc empty.anonymous.class.problem.descriptor=Anonymous class is empty #loc anonymous.inner.class.problem.descriptor=Anonymous inner class #ref #loc diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/classlayout/EmptyClassInspectionBase.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/classlayout/EmptyClassInspectionBase.java index b2a90a6c84c5..8a2c89e7fa49 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/classlayout/EmptyClassInspectionBase.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/classlayout/EmptyClassInspectionBase.java @@ -47,7 +47,9 @@ public class EmptyClassInspectionBase extends BaseInspection { return InspectionGadgetsBundle.message("empty.anonymous.class.problem.descriptor"); } else if (element instanceof PsiClass) { - return InspectionGadgetsBundle.message("empty.class.problem.descriptor"); + return ((PsiClass)element).isEnum() ? + InspectionGadgetsBundle.message("empty.enum.problem.descriptor"): + InspectionGadgetsBundle.message("empty.class.problem.descriptor"); } else { return InspectionGadgetsBundle.message("empty.class.file.without.class.problem.descriptor"); @@ -94,10 +96,10 @@ public class EmptyClassInspectionBase extends BaseInspection { if (FileTypeUtils.isInServerPageFile(aClass.getContainingFile())) { return; } - if (aClass.isInterface() || aClass.isEnum() || aClass.isAnnotationType()) { + if (aClass.isInterface() || aClass.isAnnotationType()) { return; } - if (!aClass.hasModifierProperty(PsiModifier.ABSTRACT)) { + if (!aClass.hasModifierProperty(PsiModifier.ABSTRACT) && !aClass.isEnum()) { for (PsiClass superClass : aClass.getSupers()) { if (superClass.isInterface() || superClass.hasModifierProperty(PsiModifier.ABSTRACT)) { return; diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/classlayout/empty_class/EmptyClass.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/classlayout/empty_class/EmptyClass.java index 1fc52b7034c4..ed57a8716822 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igtest/classlayout/empty_class/EmptyClass.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/classlayout/empty_class/EmptyClass.java @@ -19,4 +19,5 @@ interface Interface { } } class EmptyClassTest implements Interface { -} \ No newline at end of file +} +enum EmptyEnum {} \ No newline at end of file