Specify nullability annotations in PyClassStub and PyClassStubImpl

This commit is contained in:
Semyon Proshev
2016-07-20 21:16:56 +03:00
parent 8dbf66d862
commit f70d284f9a
2 changed files with 33 additions and 4 deletions
@@ -22,17 +22,26 @@ package com.jetbrains.python.psi.stubs;
import com.intellij.psi.stubs.NamedStub;
import com.intellij.psi.util.QualifiedName;
import com.jetbrains.python.psi.PyClass;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.List;
import java.util.Map;
public interface PyClassStub extends NamedStub<PyClass> {
/**
* @return a {@code Map} which contains imported class names as keys and their original names as values
*/
@NotNull
Map<QualifiedName, QualifiedName> getSuperClasses();
@Nullable QualifiedName getMetaClass();
@Nullable
QualifiedName getMetaClass();
@Nullable
List<String> getSlots();
@Nullable
String getDocString();
}
@@ -21,6 +21,7 @@ import com.intellij.psi.stubs.StubElement;
import com.intellij.psi.util.QualifiedName;
import com.jetbrains.python.psi.PyClass;
import com.jetbrains.python.psi.stubs.PyClassStub;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.List;
@@ -30,14 +31,29 @@ import java.util.Map;
* @author max
*/
public class PyClassStubImpl extends StubBase<PyClass> implements PyClassStub {
@Nullable
private final String myName;
@NotNull
private final Map<QualifiedName, QualifiedName> mySuperClasses;
@Nullable private final QualifiedName myMetaClass;
@Nullable
private final QualifiedName myMetaClass;
@Nullable
private final List<String> mySlots;
@Nullable
private final String myDocString;
public PyClassStubImpl(final String name, StubElement parentStub, final Map<QualifiedName, QualifiedName> superClasses,
@Nullable QualifiedName metaClass, final List<String> slots, String docString, IStubElementType stubElementType) {
public PyClassStubImpl(@Nullable String name,
@Nullable StubElement parentStub,
@NotNull Map<QualifiedName, QualifiedName> superClasses,
@Nullable QualifiedName metaClass,
@Nullable List<String> slots,
@Nullable String docString,
@NotNull IStubElementType stubElementType) {
super(parentStub, stubElementType);
myName = name;
mySuperClasses = superClasses;
@@ -46,10 +62,12 @@ public class PyClassStubImpl extends StubBase<PyClass> implements PyClassStub {
myDocString = docString;
}
@Nullable
public String getName() {
return myName;
}
@NotNull
public Map<QualifiedName, QualifiedName> getSuperClasses() {
return mySuperClasses;
}
@@ -60,11 +78,13 @@ public class PyClassStubImpl extends StubBase<PyClass> implements PyClassStub {
return myMetaClass;
}
@Nullable
@Override
public List<String> getSlots() {
return mySlots;
}
@Nullable
@Override
public String getDocString() {
return myDocString;