diff --git a/platform/analysis-impl/src/com/intellij/codeInspection/reference/RefManagerImpl.java b/platform/analysis-impl/src/com/intellij/codeInspection/reference/RefManagerImpl.java index 0e01f71d154b..b3355f8fb448 100644 --- a/platform/analysis-impl/src/com/intellij/codeInspection/reference/RefManagerImpl.java +++ b/platform/analysis-impl/src/com/intellij/codeInspection/reference/RefManagerImpl.java @@ -500,14 +500,17 @@ public class RefManagerImpl extends RefManager { } for (PsiClass aClass : ((PsiClassOwner)containingFile).getClasses()) { - PsiClass superClass = aClass.getSuperClass(); - if (superClass != null) { - RefElement superClassReference = getReference(superClass); - if (superClassReference != null) { - //in case of implicit inheritance, e.g. GroovyObject - //= no explicit reference is provided, dependency on groovy library could be treated as redundant though it is not - //inReference is not important in this case - ((RefElementImpl)refFile).addOutReference(superClassReference); + PsiClassType[] superTypes = aClass.getSuperTypes(); + for (PsiClassType type : superTypes) { + PsiClass superClass = type.resolve(); + if (superClass != null) { + RefElement superClassReference = getReference(superClass); + if (superClassReference != null) { + //in case of implicit inheritance, e.g. GroovyObject + //= no explicit reference is provided, dependency on groovy library could be treated as redundant though it is not + //inReference is not important in this case + ((RefElementImpl)refFile).addOutReference(superClassReference); + } } } }