RatedResolveResult (@NotNull RatedResolveResult resolveResult, @NotNull String name) { final PsiElement element = resolveResult.getElement(); if (element instanceof PyFunction) { final Property property = ((PyFunction)element).getProperty(); if (property != null) { final PyCallable getter = property.getGetter().valueOrNull(); final PyCallable setter = property.getSetter().valueOrNull(); final PyCallable deleter = property.getDeleter().valueOrNull(); if (getter != null && name.equals(getter.getName()) && (setter == null || name.equals(setter.getName())) && (deleter == null || name.equals(deleter.getName()))) { return resolveResult.replace(getter); } } } return resolveResult; }