@Nullable public static PsiClass getSuperClass(GrTypeDefinition grType) { final PsiClassType[] extendsList = grType.getExtendsListTypes(); if (extendsList.length == 0) return getBaseClass(grType); final PsiClass superClass = extendsList[0].resolve(); return superClass != null ? superClass : getBaseClass(grType); }
@NotNull public static PsiClassType[] getSuperTypes(GrTypeDefinition grType) { PsiClassType[] extendsList = grType.getExtendsListTypes(); if (extendsList.length == 0) { extendsList = new PsiClassType[] {createBaseClassType(grType)}; } return ArrayUtil.mergeArrays( extendsList, grType.getImplementsListTypes(), PsiClassType.ARRAY_FACTORY); }