From 8a8aa06931c2687a8d34b5e3875067a4dadb247f Mon Sep 17 00:00:00 2001 From: Andrey Vlasovskikh Date: Thu, 25 Apr 2013 14:22:05 +0400 Subject: [PATCH] Nullable annotations --- .../com/jetbrains/python/psi/impl/PyJavaMethodType.java | 4 ++-- .../com/jetbrains/python/psi/impl/PyJavaPackageType.java | 4 ++-- .../com/jetbrains/python/psi/types/PyClassLikeType.java | 5 +++-- .../src/com/jetbrains/python/psi/types/PyType.java | 4 ++-- .../python/codeInsight/stdlib/PyNamedTupleType.java | 4 ++-- .../com/jetbrains/python/psi/types/PyClassTypeImpl.java | 8 ++++---- .../com/jetbrains/python/psi/types/PyFunctionType.java | 4 ++-- .../src/com/jetbrains/python/psi/types/PyGenericType.java | 4 ++-- .../jetbrains/python/psi/types/PyImportedModuleType.java | 6 +++--- .../src/com/jetbrains/python/psi/types/PyModuleType.java | 4 ++-- python/src/com/jetbrains/python/psi/types/PyNoneType.java | 6 +++--- .../jetbrains/python/psi/types/PyTypeReferenceImpl.java | 6 +++--- .../src/com/jetbrains/python/psi/types/PyUnionType.java | 6 +++--- 13 files changed, 33 insertions(+), 32 deletions(-) diff --git a/python/pluginSrc/com/jetbrains/python/psi/impl/PyJavaMethodType.java b/python/pluginSrc/com/jetbrains/python/psi/impl/PyJavaMethodType.java index d13a0c9d1280..c6ae1df92f7c 100644 --- a/python/pluginSrc/com/jetbrains/python/psi/impl/PyJavaMethodType.java +++ b/python/pluginSrc/com/jetbrains/python/psi/impl/PyJavaMethodType.java @@ -42,8 +42,8 @@ public class PyJavaMethodType implements PyCallableType { @Override public List resolveMember(@NotNull String name, @Nullable PyExpression location, - AccessDirection direction, - PyResolveContext resolveContext) { + @NotNull AccessDirection direction, + @NotNull PyResolveContext resolveContext) { return Collections.emptyList(); } diff --git a/python/pluginSrc/com/jetbrains/python/psi/impl/PyJavaPackageType.java b/python/pluginSrc/com/jetbrains/python/psi/impl/PyJavaPackageType.java index 977e7d2a3573..54839bb046ed 100644 --- a/python/pluginSrc/com/jetbrains/python/psi/impl/PyJavaPackageType.java +++ b/python/pluginSrc/com/jetbrains/python/psi/impl/PyJavaPackageType.java @@ -37,8 +37,8 @@ public class PyJavaPackageType implements PyType { @Override public List resolveMember(@NotNull String name, @Nullable PyExpression location, - AccessDirection direction, - PyResolveContext resolveContext) { + @NotNull AccessDirection direction, + @NotNull PyResolveContext resolveContext) { Project project = myPackage.getProject(); JavaPsiFacade facade = JavaPsiFacade.getInstance(project); String childName = myPackage.getQualifiedName() + "." + name; diff --git a/python/psi-api/src/com/jetbrains/python/psi/types/PyClassLikeType.java b/python/psi-api/src/com/jetbrains/python/psi/types/PyClassLikeType.java index 992066c0bb06..87f7f6deb684 100644 --- a/python/psi-api/src/com/jetbrains/python/psi/types/PyClassLikeType.java +++ b/python/psi-api/src/com/jetbrains/python/psi/types/PyClassLikeType.java @@ -24,8 +24,9 @@ public interface PyClassLikeType extends PyCallableType { List getSuperClassTypes(@NotNull TypeEvalContext context); @Nullable - List resolveMember(@NotNull final String name, @Nullable PyExpression location, AccessDirection direction, - PyResolveContext resolveContext, boolean inherited); + List resolveMember(@NotNull final String name, @Nullable PyExpression location, + @NotNull AccessDirection direction, @NotNull PyResolveContext resolveContext, + boolean inherited); boolean isValid(); } diff --git a/python/psi-api/src/com/jetbrains/python/psi/types/PyType.java b/python/psi-api/src/com/jetbrains/python/psi/types/PyType.java index bdcf257d0a4a..5c6e67fc49d7 100644 --- a/python/psi-api/src/com/jetbrains/python/psi/types/PyType.java +++ b/python/psi-api/src/com/jetbrains/python/psi/types/PyType.java @@ -31,8 +31,8 @@ public interface PyType { * or a list of elements that define the name, a la multiResolve(). */ @Nullable - List resolveMember(@NotNull final String name, @Nullable PyExpression location, AccessDirection direction, - PyResolveContext resolveContext); + List resolveMember(@NotNull final String name, @Nullable PyExpression location, + @NotNull AccessDirection direction, @NotNull PyResolveContext resolveContext); /** * Proposes completion variants from type's attributes. diff --git a/python/src/com/jetbrains/python/codeInsight/stdlib/PyNamedTupleType.java b/python/src/com/jetbrains/python/codeInsight/stdlib/PyNamedTupleType.java index 858ea2712712..857e09334a41 100644 --- a/python/src/com/jetbrains/python/codeInsight/stdlib/PyNamedTupleType.java +++ b/python/src/com/jetbrains/python/codeInsight/stdlib/PyNamedTupleType.java @@ -44,8 +44,8 @@ public class PyNamedTupleType extends PyClassTypeImpl implements PyCallableType @Override public List resolveMember(@NotNull String name, @Nullable PyExpression location, - AccessDirection direction, - PyResolveContext resolveContext) { + @NotNull AccessDirection direction, + @NotNull PyResolveContext resolveContext) { final List classMembers = super.resolveMember(name, location, direction, resolveContext); if (classMembers != null && !classMembers.isEmpty()) { return classMembers; diff --git a/python/src/com/jetbrains/python/psi/types/PyClassTypeImpl.java b/python/src/com/jetbrains/python/psi/types/PyClassTypeImpl.java index 2486dfb1ecb0..10a6f23d02fd 100644 --- a/python/src/com/jetbrains/python/psi/types/PyClassTypeImpl.java +++ b/python/src/com/jetbrains/python/psi/types/PyClassTypeImpl.java @@ -102,8 +102,8 @@ public class PyClassTypeImpl extends UserDataHolderBase implements PyClassType { @Override public List resolveMember(@NotNull final String name, @Nullable PyExpression location, - AccessDirection direction, - PyResolveContext resolveContext) { + @NotNull AccessDirection direction, + @NotNull PyResolveContext resolveContext) { return resolveMember(name, location, direction, resolveContext, true); } @@ -111,8 +111,8 @@ public class PyClassTypeImpl extends UserDataHolderBase implements PyClassType { @Override public List resolveMember(@NotNull final String name, @Nullable PyExpression location, - AccessDirection direction, - PyResolveContext resolveContext, + @NotNull AccessDirection direction, + @NotNull PyResolveContext resolveContext, boolean inherited) { final Set> resolving = ourResolveMemberStack.get(); final Pair key = Pair.create(myClass, name); diff --git a/python/src/com/jetbrains/python/psi/types/PyFunctionType.java b/python/src/com/jetbrains/python/psi/types/PyFunctionType.java index 3bbfce984a95..70123ad3c96a 100644 --- a/python/src/com/jetbrains/python/psi/types/PyFunctionType.java +++ b/python/src/com/jetbrains/python/psi/types/PyFunctionType.java @@ -36,8 +36,8 @@ public class PyFunctionType implements PyCallableType { @Override public List resolveMember(@NotNull String name, @Nullable PyExpression location, - AccessDirection direction, - PyResolveContext resolveContext) { + @NotNull AccessDirection direction, + @NotNull PyResolveContext resolveContext) { return Collections.emptyList(); } diff --git a/python/src/com/jetbrains/python/psi/types/PyGenericType.java b/python/src/com/jetbrains/python/psi/types/PyGenericType.java index 9c0b0245c764..ab5dcff03256 100644 --- a/python/src/com/jetbrains/python/psi/types/PyGenericType.java +++ b/python/src/com/jetbrains/python/psi/types/PyGenericType.java @@ -24,8 +24,8 @@ public class PyGenericType implements PyType { @Override public List resolveMember(@NotNull String name, @Nullable PyExpression location, - AccessDirection direction, - PyResolveContext resolveContext) { + @NotNull AccessDirection direction, + @NotNull PyResolveContext resolveContext) { return null; } diff --git a/python/src/com/jetbrains/python/psi/types/PyImportedModuleType.java b/python/src/com/jetbrains/python/psi/types/PyImportedModuleType.java index fd4b93f5f7fe..25957d6cacc1 100644 --- a/python/src/com/jetbrains/python/psi/types/PyImportedModuleType.java +++ b/python/src/com/jetbrains/python/psi/types/PyImportedModuleType.java @@ -36,9 +36,9 @@ public class PyImportedModuleType implements PyType { @Nullable @Override public List resolveMember(@NotNull String name, - PyExpression location, - AccessDirection direction, - PyResolveContext resolveContext) { + @Nullable PyExpression location, + @NotNull AccessDirection direction, + @NotNull PyResolveContext resolveContext) { final PsiElement resolved = myImportedModule.resolve(); if (resolved instanceof PyFile) { final PyFile file = (PyFile)resolved; diff --git a/python/src/com/jetbrains/python/psi/types/PyModuleType.java b/python/src/com/jetbrains/python/psi/types/PyModuleType.java index 6a16835a05c9..6d42becec05c 100644 --- a/python/src/com/jetbrains/python/psi/types/PyModuleType.java +++ b/python/src/com/jetbrains/python/psi/types/PyModuleType.java @@ -61,8 +61,8 @@ public class PyModuleType implements PyType { // Modules don't descend from obje @Override public List resolveMember(@NotNull final String name, @Nullable PyExpression location, - AccessDirection direction, - PyResolveContext resolveContext) { + @NotNull AccessDirection direction, + @NotNull PyResolveContext resolveContext) { for (PyModuleMembersProvider provider : Extensions.getExtensions(PyModuleMembersProvider.EP_NAME)) { final PsiElement element = provider.resolveMember(myModule, name); if (element != null) { diff --git a/python/src/com/jetbrains/python/psi/types/PyNoneType.java b/python/src/com/jetbrains/python/psi/types/PyNoneType.java index e34ba6f94c6c..338a2ba96b1b 100644 --- a/python/src/com/jetbrains/python/psi/types/PyNoneType.java +++ b/python/src/com/jetbrains/python/psi/types/PyNoneType.java @@ -22,9 +22,9 @@ public class PyNoneType implements PyType { // TODO must extend ClassType. It's @Nullable public List resolveMember(@NotNull final String name, - PyExpression location, - AccessDirection direction, - PyResolveContext resolveContext) { + @Nullable PyExpression location, + @NotNull AccessDirection direction, + @NotNull PyResolveContext resolveContext) { return null; } diff --git a/python/src/com/jetbrains/python/psi/types/PyTypeReferenceImpl.java b/python/src/com/jetbrains/python/psi/types/PyTypeReferenceImpl.java index 1727ed264e64..6700c7c230eb 100644 --- a/python/src/com/jetbrains/python/psi/types/PyTypeReferenceImpl.java +++ b/python/src/com/jetbrains/python/psi/types/PyTypeReferenceImpl.java @@ -21,9 +21,9 @@ import java.util.Set; public abstract class PyTypeReferenceImpl implements PyTypeReference { @NotNull public List resolveMember(@NotNull String name, - PyExpression location, - AccessDirection direction, - PyResolveContext resolveContext) { + @Nullable PyExpression location, + @NotNull AccessDirection direction, + @NotNull PyResolveContext resolveContext) { return Collections.emptyList(); } diff --git a/python/src/com/jetbrains/python/psi/types/PyUnionType.java b/python/src/com/jetbrains/python/psi/types/PyUnionType.java index 466733d97b4f..eff3aec345e8 100644 --- a/python/src/com/jetbrains/python/psi/types/PyUnionType.java +++ b/python/src/com/jetbrains/python/psi/types/PyUnionType.java @@ -25,9 +25,9 @@ public class PyUnionType implements PyType { @Nullable public List resolveMember(@NotNull String name, - PyExpression location, - AccessDirection direction, - PyResolveContext resolveContext) { + @Nullable PyExpression location, + @NotNull AccessDirection direction, + @NotNull PyResolveContext resolveContext) { SmartList ret = new SmartList(); boolean all_nulls = true; for (PyType member : myMembers) {