diff --git a/python/psi-api/src/com/jetbrains/python/psi/stubs/PyClassStub.java b/python/psi-api/src/com/jetbrains/python/psi/stubs/PyClassStub.java index db296355b2fa..88b677cc2d69 100644 --- a/python/psi-api/src/com/jetbrains/python/psi/stubs/PyClassStub.java +++ b/python/psi-api/src/com/jetbrains/python/psi/stubs/PyClassStub.java @@ -44,7 +44,6 @@ public interface PyClassStub extends NamedStub { @NotNull List getSubscriptedSuperClasses(); - @Nullable QualifiedName getMetaClass(); diff --git a/python/src/com/jetbrains/python/psi/PyFileElementType.java b/python/src/com/jetbrains/python/psi/PyFileElementType.java index a6c77063fe7e..d613faa3d1df 100644 --- a/python/src/com/jetbrains/python/psi/PyFileElementType.java +++ b/python/src/com/jetbrains/python/psi/PyFileElementType.java @@ -62,7 +62,7 @@ public class PyFileElementType extends IStubFileElementType { @Override public int getStubVersion() { // Don't forget to update versions of indexes that use the updated stub-based elements - return 66; + return 67; } @Nullable diff --git a/python/src/com/jetbrains/python/psi/impl/PyClassImpl.java b/python/src/com/jetbrains/python/psi/impl/PyClassImpl.java index 5cbd1bc55966..9bcdd62df416 100644 --- a/python/src/com/jetbrains/python/psi/impl/PyClassImpl.java +++ b/python/src/com/jetbrains/python/psi/impl/PyClassImpl.java @@ -343,7 +343,7 @@ public class PyClassImpl extends PyBaseElementImpl implements PyCla PyPsiUtils.assertValid(PyClassImpl.this); final StringBuilder result = new StringBuilder(notNullize(getName(), PyNames.UNNAMED_ELEMENT)); final List superClassesText = getSuperClassesText(); - if (superClassesText.size() > 0) { + if (!superClassesText.isEmpty()) { result.append("("); result.append(join(superClassesText, expr -> notNullize(expr, PyNames.UNNAMED_ELEMENT), ", ")); result.append(")"); @@ -355,8 +355,8 @@ public class PyClassImpl extends PyBaseElementImpl implements PyCla private List getSuperClassesText() { PyClassStub stub = getGreenStub(); - if (stub == null || stub.getSuperClassesText() == null) { - return ContainerUtil.map(getSuperClassExpressions(), exp -> exp.getText()); + if (stub == null) { + return ContainerUtil.map(getSuperClassExpressions(), PsiElement::getText); } else { return stub.getSuperClassesText(); diff --git a/python/src/com/jetbrains/python/psi/impl/stubs/PyClassElementType.java b/python/src/com/jetbrains/python/psi/impl/stubs/PyClassElementType.java index fe56c2aad168..48dcd73167bd 100644 --- a/python/src/com/jetbrains/python/psi/impl/stubs/PyClassElementType.java +++ b/python/src/com/jetbrains/python/psi/impl/stubs/PyClassElementType.java @@ -109,7 +109,6 @@ public class PyClassElementType extends PyStubElementType PySubscriptionExpression.class)); } - @Nullable private static QualifiedName resolveOriginalSuperClassQName(@NotNull PyExpression superClassExpression) { if (superClassExpression instanceof PyReferenceExpression) { @@ -148,7 +147,6 @@ public class PyClassElementType extends PyStubElementType final List subscriptedBaseClassesText = pyClassStub.getSubscriptedSuperClasses(); final List baseClassesText = pyClassStub.getSuperClassesText(); - assert baseClassesText != null; dataStream.writeByte(baseClassesText.size()); for (String text : baseClassesText) { diff --git a/python/src/com/jetbrains/python/psi/impl/stubs/PyClassStubImpl.java b/python/src/com/jetbrains/python/psi/impl/stubs/PyClassStubImpl.java index 6b1f0be2d5cd..bc8c4fd7abd9 100644 --- a/python/src/com/jetbrains/python/psi/impl/stubs/PyClassStubImpl.java +++ b/python/src/com/jetbrains/python/psi/impl/stubs/PyClassStubImpl.java @@ -24,14 +24,14 @@ import com.jetbrains.python.psi.stubs.PyClassStub; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.Collections; import java.util.List; import java.util.Map; /** * @author max */ -public class -PyClassStubImpl extends StubBase implements PyClassStub { +public class PyClassStubImpl extends StubBase implements PyClassStub { @Nullable private final String myName; @@ -49,7 +49,7 @@ PyClassStubImpl extends StubBase implements PyClassStub { @Nullable private final String myDocString; - @Nullable + @NotNull private final List mySuperClassesText; public PyClassStubImpl(@Nullable String name, @@ -60,14 +60,14 @@ PyClassStubImpl extends StubBase implements PyClassStub { @Nullable List slots, @Nullable String docString, @NotNull IStubElementType stubElementType) { - this(name, parentStub, superClasses, subscriptedSuperClassesText, null, metaClass, slots, docString, stubElementType); + this(name, parentStub, superClasses, subscriptedSuperClassesText, Collections.emptyList(), metaClass, slots, docString, stubElementType); } public PyClassStubImpl(@Nullable String name, @Nullable StubElement parentStub, @NotNull Map superClasses, @NotNull List subscriptedSuperClassesText, - @Nullable List superClassesText, + @NotNull List superClassesText, @Nullable QualifiedName metaClass, @Nullable List slots, @Nullable String docString,