Remove deprecated methods from PyClassMembersProvider and PyClassMembersProviderBase

This commit is contained in:
Semyon Proshev
2018-05-10 17:00:47 +03:00
parent 535d70ebdc
commit e679061293
2 changed files with 6 additions and 61 deletions

View File

@@ -19,21 +19,6 @@ public interface PyClassMembersProvider {
@NotNull
Collection<PyCustomMember> getMembers(final PyClassType clazz, PsiElement location, @NotNull TypeEvalContext context);
/**
* Provides member with specified name for specified class type.
*
* @param clazz member owner
* @param name member name
* @param location psi element to be used as psi context
* @param context type evaluation context
* @return provided member
* @deprecated Use {@link PyClassMembersProvider#resolveMember(PyClassType, String, PsiElement, PyResolveContext)} instead.
* This method will be removed in 2018.2.
*/
@Nullable
@Deprecated
PsiElement resolveMember(PyClassType clazz, String name, @Nullable PsiElement location, @NotNull TypeEvalContext context);
/**
* Provides member with specified name for specified class type.
*
@@ -42,13 +27,10 @@ public interface PyClassMembersProvider {
* @param location psi element to be used as psi context
* @param resolveContext context to be used in resolve
* @return provided member
* @apiNote This method will be marked as abstract in 2018.2.
*/
@Nullable
default PsiElement resolveMember(@NotNull PyClassType type,
@NotNull String name,
@Nullable PsiElement location,
@NotNull PyResolveContext resolveContext) {
return resolveMember(type, name, location, resolveContext.getTypeEvalContext());
}
PsiElement resolveMember(@NotNull PyClassType type,
@NotNull String name,
@Nullable PsiElement location,
@NotNull PyResolveContext resolveContext);
}

View File

@@ -3,7 +3,6 @@ package com.jetbrains.python.psi.types;
import com.intellij.psi.PsiElement;
import com.jetbrains.python.codeInsight.PyCustomMember;
import com.jetbrains.python.psi.PyClass;
import com.jetbrains.python.psi.resolve.PyResolveContext;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -25,50 +24,14 @@ public class PyClassMembersProviderBase implements PyClassMembersProvider {
return Collections.emptyList();
}
/**
* {@inheritDoc}
* @deprecated Use {@link PyClassMembersProvider#resolveMember(PyClassType, String, PsiElement, PyResolveContext)} instead.
* This method will be removed in 2018.2.
*/
@Nullable
@Override
@Deprecated
public PsiElement resolveMember(PyClassType clazz, String name, @Nullable PsiElement location, @NotNull TypeEvalContext context) {
final Collection<PyCustomMember> members = getMembers(clazz, location, context);
return resolveMemberByName(members, clazz, name);
}
@Override
@Nullable
public PsiElement resolveMember(@NotNull PyClassType type,
@NotNull String name,
@Nullable PsiElement location,
@NotNull PyResolveContext resolveContext) {
return resolveMember(type, name, location, resolveContext.getTypeEvalContext());
}
/**
* Helper to find member with specified name in collection.
*
* @param members collection of members
* @param clazz type to be used to get class as psi context
* @param name member name to look for
* @return found member or null
* @deprecated Use {@link PyClassMembersProviderBase#resolveMemberByName(Collection, String, PsiElement, PyResolveContext)} instead.
* This method will be removed in 2018.2.
*/
@Nullable
@Deprecated
public static PsiElement resolveMemberByName(Collection<PyCustomMember> members,
PyClassType clazz,
String name) {
final PyClass pyClass = clazz.getPyClass();
for (PyCustomMember member : members) {
if (member.getName().equals(name)) {
return member.resolve(pyClass);
}
}
return null;
final Collection<PyCustomMember> members = getMembers(type, location, resolveContext.getTypeEvalContext());
return resolveMemberByName(members, name, type.getPyClass(), resolveContext);
}
/**