Add isTopLevel() to PsiJetClassStub

This commit is contained in:
Pavel V. Talanov
2014-03-31 14:09:17 +04:00
parent 6a6a52e53c
commit 7e56311d6f
4 changed files with 15 additions and 5 deletions
@@ -26,4 +26,6 @@ public interface PsiJetClassOrObjectStub<T extends JetClassOrObject> extends Psi
@NotNull
List<String> getSuperNames();
boolean isTopLevel();
}
@@ -19,7 +19,6 @@ package org.jetbrains.jet.lang.psi.stubs;
import org.jetbrains.jet.lang.psi.JetObjectDeclaration;
public interface PsiJetObjectStub extends PsiJetClassOrObjectStub<JetObjectDeclaration> {
boolean isTopLevel();
boolean isClassObject();
boolean isObjectLiteral();
}
@@ -67,8 +67,7 @@ public class JetClassElementType extends JetStubElementType<PsiJetClassStub, Jet
return new PsiJetClassStubImpl(
getStubType(isEnumEntry), parentStub, StringRef.fromString(fqName != null ? fqName.asString() : null),
StringRef.fromString(psi.getName()), Utils.instance$.wrapStrings(superNames), psi.isTrait(), psi.isEnum(), isEnumEntry,
psi.isAnnotation(), psi.isInner(), JetPsiUtil.isLocal(psi)
);
psi.isAnnotation(), psi.isInner(), JetPsiUtil.isLocal(psi), psi.isTopLevel());
}
@Override
@@ -82,6 +81,7 @@ public class JetClassElementType extends JetStubElementType<PsiJetClassStub, Jet
dataStream.writeBoolean(stub.isAnnotation());
dataStream.writeBoolean(stub.isInner());
dataStream.writeBoolean(stub.isLocal());
dataStream.writeBoolean(stub.isTopLevel());
List<String> superNames = stub.getSuperNames();
dataStream.writeVarInt(superNames.size());
@@ -101,6 +101,7 @@ public class JetClassElementType extends JetStubElementType<PsiJetClassStub, Jet
boolean isAnnotation = dataStream.readBoolean();
boolean isInner = dataStream.readBoolean();
boolean isLocal = dataStream.readBoolean();
boolean isTopLevel = dataStream.readBoolean();
int superCount = dataStream.readVarInt();
StringRef[] superNames = StringRef.createArray(superCount);
@@ -109,7 +110,7 @@ public class JetClassElementType extends JetStubElementType<PsiJetClassStub, Jet
}
return new PsiJetClassStubImpl(getStubType(isEnumEntry), parentStub, qualifiedName, name, superNames,
isTrait, isEnumClass, isEnumEntry, isAnnotation, isInner, isLocal);
isTrait, isEnumClass, isEnumEntry, isAnnotation, isInner, isLocal, isTopLevel);
}
@Override
@@ -41,6 +41,7 @@ public class PsiJetClassStubImpl extends StubBase<JetClass> implements PsiJetCla
private final boolean isAnnotation;
private final boolean isInner;
private final boolean isLocal;
private final boolean isTopLevel;
public PsiJetClassStubImpl(
JetClassElementType type,
@@ -53,7 +54,8 @@ public class PsiJetClassStubImpl extends StubBase<JetClass> implements PsiJetCla
boolean isEnumEntry,
boolean isAnnotation,
boolean isInner,
boolean isLocal
boolean isLocal,
boolean isTopLevel
) {
super(parent, type);
this.qualifiedName = qualifiedName;
@@ -65,6 +67,7 @@ public class PsiJetClassStubImpl extends StubBase<JetClass> implements PsiJetCla
this.isAnnotation = isAnnotation;
this.isInner = isInner;
this.isLocal = isLocal;
this.isTopLevel = isTopLevel;
}
@Override
@@ -121,6 +124,11 @@ public class PsiJetClassStubImpl extends StubBase<JetClass> implements PsiJetCla
return result;
}
@Override
public boolean isTopLevel() {
return isTopLevel;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();