From 9d98bbcc04bc3e71fb796a026986e90e02d59f9c Mon Sep 17 00:00:00 2001 From: Dmitry Batkovich Date: Thu, 23 Apr 2015 16:58:44 +0300 Subject: [PATCH] SuperClassHasFrequentlyUsedInheritorsInspection: class cast exception fixed (EA-57525) --- ...perClassHasFrequentlyUsedInheritorsInspection.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) 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 b8a838a1854a..79901ed1c3e3 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 @@ -95,11 +95,12 @@ public class SuperClassHasFrequentlyUsedInheritorsInspection extends BaseJavaBat if (extendsList != null) { final PsiJavaCodeReferenceElement[] referenceElements = extendsList.getReferenceElements(); if (referenceElements.length == 1) { - PsiClass returnClass = (PsiClass)referenceElements[0].resolve(); - if (returnClass != null && - !CommonClassNames.JAVA_LANG_OBJECT.equals(returnClass.getQualifiedName()) && - !returnClass.isInterface()) { - return returnClass; + final PsiElement resolved = referenceElements[0].resolve(); + if (resolved instanceof PsiClass) { + PsiClass returnClass = (PsiClass)resolved; + if (!CommonClassNames.JAVA_LANG_OBJECT.equals(returnClass.getQualifiedName()) && !returnClass.isInterface()) { + return returnClass; + } } } }