From 3d634e499acbc06ef7e2c0a8b8452f2731e548c6 Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Mon, 23 Dec 2013 16:43:41 +0100 Subject: [PATCH] fix performance problem on 'new Object() {}' test code --- .../SuperClassHasFrequentlyUsedInheritorsInspection.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/inheritance/SuperClassHasFrequentlyUsedInheritorsInspection.java b/java/java-analysis-impl/src/com/intellij/codeInspection/inheritance/SuperClassHasFrequentlyUsedInheritorsInspection.java index 03f5c4d24439..b8a838a1854a 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/inheritance/SuperClassHasFrequentlyUsedInheritorsInspection.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/inheritance/SuperClassHasFrequentlyUsedInheritorsInspection.java @@ -45,6 +45,7 @@ public class SuperClassHasFrequentlyUsedInheritorsInspection extends BaseJavaBat @NotNull final InspectionManager manager, final boolean isOnTheFly) { if (aClass.isInterface() || + aClass.isEnum() || aClass instanceof PsiTypeParameter || aClass.getMethods().length != 0 || aClass.hasModifierProperty(PsiModifier.ABSTRACT)) { @@ -86,7 +87,9 @@ public class SuperClassHasFrequentlyUsedInheritorsInspection extends BaseJavaBat @Nullable private static PsiClass getSuperIfUnique(@NotNull final PsiClass aClass) { if (aClass instanceof PsiAnonymousClass) { - return (PsiClass)((PsiAnonymousClass)aClass).getBaseClassReference().resolve(); + final PsiClass returnClass = (PsiClass)((PsiAnonymousClass)aClass).getBaseClassReference().resolve(); + if (returnClass != null && CommonClassNames.JAVA_LANG_OBJECT.equals(returnClass.getQualifiedName())) return null; + return returnClass; } final PsiReferenceList extendsList = aClass.getExtendsList(); if (extendsList != null) {