public static PsiClass[] getInterfaces(GrTypeDefinition grType) { final PsiClassType[] implementsListTypes = grType.getImplementsListTypes(); List<PsiClass> result = new ArrayList<PsiClass>(implementsListTypes.length); for (PsiClassType type : implementsListTypes) { final PsiClass psiClass = type.resolve(); if (psiClass != null) result.add(psiClass); } return result.toArray(new PsiClass[result.size()]); }
@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); }