From a15edc31d1026118d0d9f557da24cd1d0886287e Mon Sep 17 00:00:00 2001 From: "Ilya.Kazakevich" Date: Wed, 15 Mar 2017 16:05:21 +0300 Subject: [PATCH] NotNull set to improve investigations like EA-96583 --- .../python/psi/types/PyClassMembersProviderBase.java | 2 +- .../codeInsight/stdlib/PyStdlibClassMembersProvider.java | 4 ++-- .../userSkeletons/PyUserSkeletonsClassMembersProvider.java | 2 +- .../src/com/jetbrains/python/pyi/PyiClassMembersProvider.java | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/python/psi-api/src/com/jetbrains/python/psi/types/PyClassMembersProviderBase.java b/python/psi-api/src/com/jetbrains/python/psi/types/PyClassMembersProviderBase.java index 7a606ae6ca7f..9d9d1f790c48 100644 --- a/python/psi-api/src/com/jetbrains/python/psi/types/PyClassMembersProviderBase.java +++ b/python/psi-api/src/com/jetbrains/python/psi/types/PyClassMembersProviderBase.java @@ -35,7 +35,7 @@ public class PyClassMembersProviderBase implements PyClassMembersProvider { } @Override - public PsiElement resolveMember(PyClassType clazz, String name, PsiElement location, TypeEvalContext context) { + public PsiElement resolveMember(PyClassType clazz, String name, @Nullable PsiElement location, TypeEvalContext context) { final Collection members = getMembers(clazz, location, context); return resolveMemberByName(members, clazz, name); } diff --git a/python/src/com/jetbrains/python/codeInsight/stdlib/PyStdlibClassMembersProvider.java b/python/src/com/jetbrains/python/codeInsight/stdlib/PyStdlibClassMembersProvider.java index caeacebe1203..f6e08798a372 100644 --- a/python/src/com/jetbrains/python/codeInsight/stdlib/PyStdlibClassMembersProvider.java +++ b/python/src/com/jetbrains/python/codeInsight/stdlib/PyStdlibClassMembersProvider.java @@ -68,9 +68,9 @@ public class PyStdlibClassMembersProvider extends PyClassMembersProviderBase { } @Override - public PsiElement resolveMember(PyClassType clazz, String name, PsiElement location, TypeEvalContext context) { + public PsiElement resolveMember(PyClassType clazz, String name, @Nullable PsiElement location, TypeEvalContext context) { final PyCallable mockPatchCallable = mockPatchCallable(clazz, location, context); - if (mockPatchCallable != null) { + if (mockPatchCallable != null && location!= null) { for (PyCustomMember member : MOCK_PATCH_MEMBERS) { if (name.equals(member.getName())) { return member.resolve(location); diff --git a/python/src/com/jetbrains/python/codeInsight/userSkeletons/PyUserSkeletonsClassMembersProvider.java b/python/src/com/jetbrains/python/codeInsight/userSkeletons/PyUserSkeletonsClassMembersProvider.java index eb09ed78a608..04e7ce006396 100644 --- a/python/src/com/jetbrains/python/codeInsight/userSkeletons/PyUserSkeletonsClassMembersProvider.java +++ b/python/src/com/jetbrains/python/codeInsight/userSkeletons/PyUserSkeletonsClassMembersProvider.java @@ -50,7 +50,7 @@ public class PyUserSkeletonsClassMembersProvider extends PyClassMembersProviderB @Nullable @Override - public PsiElement resolveMember(@NotNull PyClassType classType, @NotNull String name, PsiElement location, TypeEvalContext context) { + public PsiElement resolveMember(@NotNull PyClassType classType, @NotNull String name, @Nullable PsiElement location, TypeEvalContext context) { final PyClass cls = classType.getPyClass(); final PyClass skeleton = PyUserSkeletonsUtil.getUserSkeletonWithContext(cls, context); if (skeleton != null) { diff --git a/python/src/com/jetbrains/python/pyi/PyiClassMembersProvider.java b/python/src/com/jetbrains/python/pyi/PyiClassMembersProvider.java index ef2b30808e65..4918198b2172 100644 --- a/python/src/com/jetbrains/python/pyi/PyiClassMembersProvider.java +++ b/python/src/com/jetbrains/python/pyi/PyiClassMembersProvider.java @@ -46,7 +46,7 @@ public class PyiClassMembersProvider extends PyClassMembersProviderBase implemen @Nullable @Override - public PsiElement resolveMember(@NotNull PyClassType classType, @NotNull String name, PsiElement location, + public PsiElement resolveMember(@NotNull PyClassType classType, @NotNull String name, @Nullable PsiElement location, @Nullable TypeEvalContext context) { final PyClass cls = classType.getPyClass(); final PsiElement pythonStub = PyiUtil.getPythonStub(cls);