void (@NotNull TypeEvalContext context, List<PyClassLikeType> result) { for (PyExpression expression : getUnfoldedSuperClassExpressions(this)) { final PyType type = context.getType(expression); PyClassLikeType classLikeType = null; if (type instanceof PyClassLikeType) { classLikeType = (PyClassLikeType)type; } else { final PyReferenceExpression referenceExpr = as(expression, PyReferenceExpression.class); final PsiElement resolved; if (referenceExpr != null) { resolved = referenceExpr.followAssignmentsChain(PyResolveContext.defaultContext(context)).getElement(); } else { final PsiReference ref = expression.getReference(); resolved = ref != null ? ref.resolve() : null; } if (resolved instanceof PyClass) { final PyType resolvedType = context.getType((PyClass)resolved); if (resolvedType instanceof PyClassLikeType) { classLikeType = (PyClassLikeType)resolvedType; } } } result.add(classLikeType); } }