@NotNull
  private static List<? extends RatedResolveResult> resolveInner(@NotNull PyClass cls,
                                                                 boolean isDefinition,
                                                                 @NotNull String name,
                                                                 @Nullable PyExpression location,
                                                                 @NotNull TypeEvalContext context) {
    final PyAttributesProcessor processor = new PyAttributesProcessor(name, location);
    final Map<PsiElement, PyImportedNameDefiner> results;

    if (isDefinition || cls.processInstanceLevelDeclarations(processor, location)) {
      cls.processClassObjectAttributes(processor, location);
    }
    results = processor.getResults();

    return EntryStream
      .of(results)
      .mapKeyValue(
        (element, definer) -> {
          final int rate = PyReferenceImpl.getRate(element, context);
          return definer != null ? new ImportedResolveResult(element, rate, definer) : new RatedResolveResult(rate, element);
        }
      )
      .toList();
  }
@NotNull
  private static List<? extends RatedResolveResult> resolveInner(@NotNull PyClass cls,
                                                                 boolean isDefinition,
                                                                 @NotNull String name,
                                                                 @Nullable PyExpression location,
                                                                 @NotNull TypeEvalContext context)