Set<String> (@NotNull PyClass candidate, @NotNull TypeEvalContext context, @NotNull Map<PyClass, Set<PyClass>> ancestorsCache) { final Set<String> availableAttrs = Sets.newHashSet(PyClassAttributesIndex.getAllDeclaredAttributeNames(candidate)); for (PyClass parent : getAncestorClassesFast(candidate, context, ancestorsCache)) { availableAttrs.addAll(PyClassAttributesIndex.getAllDeclaredAttributeNames(parent)); } return availableAttrs; }