List<PyClassLikeType> (@NotNull TypeEvalContext context) { final List<PyClassLikeType> result = new ArrayList<>(); // In some cases stub may not provide all information, so we use stubs only if AST access id disabled if (!context.maySwitchToAST(this)) { fillSuperClassesNoSwitchToAst(context, getStub(), result); } else { fillSuperClassesSwitchingToAst(context, result); } PyPsiUtils.assertValid(this); if (result.isEmpty()) { return Optional .ofNullable(getImplicitSuper()) .map(Collections::singletonList) .orElse(Collections.emptyList()); } return result; }