void (@NotNull PsiClass aClass) { super.visitClass(aClass); if (FileTypeUtils.isInServerPageFile(aClass.getContainingFile())) { return; } if (aClass.isInterface() || aClass.isAnnotationType()) { return; } if (!aClass.hasModifierProperty(PsiModifier.ABSTRACT) && !aClass.isEnum()) { for (PsiClass superClass : aClass.getSupers()) { if (superClass.isInterface() || superClass.hasModifierProperty(PsiModifier.ABSTRACT)) { return; } } } if (aClass instanceof PsiTypeParameter) { return; } if (PsiTreeUtil.getChildOfType(aClass, PsiMethod.class) != null || PsiTreeUtil.getChildOfType(aClass, PsiField.class) != null) { return; } final PsiClassInitializer[] initializers = aClass.getInitializers(); if (initializers.length > 0) { return; } if (commentsAreContent && PsiTreeUtil.getChildOfType(aClass, PsiComment.class) != null) { return; } if (ignoreClassWithParameterization && isSuperParametrization(aClass)) { return; } if (AnnotationUtil.isAnnotated(aClass, ignorableAnnotations, 0)) { return; } if (ignoreThrowables && InheritanceUtil.isInheritor(aClass, CommonClassNames.JAVA_LANG_THROWABLE)) { return; } registerClassError(aClass, aClass); }