Add isObjectLiteral() to PsiJetObjectStub

This commit is contained in:
Pavel V. Talanov
2014-03-28 17:27:31 +04:00
parent 24d0d23144
commit c123cfba59
3 changed files with 14 additions and 3 deletions
@@ -21,4 +21,5 @@ import org.jetbrains.jet.lang.psi.JetObjectDeclaration;
public interface PsiJetObjectStub extends PsiJetClassOrObjectStub<JetObjectDeclaration> {
boolean isTopLevel();
boolean isClassObject();
boolean isObjectLiteral();
}
@@ -53,7 +53,7 @@ public class JetObjectElementType extends JetStubElementType<PsiJetObjectStub, J
FqName fqName = ResolveSessionUtils.safeFqNameForLazyResolve(psi);
List<String> superNames = PsiUtilPackage.getSuperNames(psi);
return new PsiJetObjectStubImpl(parentStub, StringRef.fromString(name), fqName, Utils.instance$.wrapStrings(superNames),
psi.isTopLevel(), isClassObject(psi), JetPsiUtil.isLocal(psi));
psi.isTopLevel(), isClassObject(psi), JetPsiUtil.isLocal(psi), psi.isObjectLiteral());
}
@Override
@@ -66,6 +66,7 @@ public class JetObjectElementType extends JetStubElementType<PsiJetObjectStub, J
dataStream.writeBoolean(stub.isTopLevel());
dataStream.writeBoolean(stub.isClassObject());
dataStream.writeBoolean(stub.isLocal());
dataStream.writeBoolean(stub.isObjectLiteral());
List<String> superNames = stub.getSuperNames();
dataStream.writeVarInt(superNames.size());
@@ -84,6 +85,7 @@ public class JetObjectElementType extends JetStubElementType<PsiJetObjectStub, J
boolean isTopLevel = dataStream.readBoolean();
boolean isClassObject = dataStream.readBoolean();
boolean isLocal = dataStream.readBoolean();
boolean isObjectLiteral = dataStream.readBoolean();
int superCount = dataStream.readVarInt();
StringRef[] superNames = StringRef.createArray(superCount);
@@ -91,7 +93,7 @@ public class JetObjectElementType extends JetStubElementType<PsiJetObjectStub, J
superNames[i] = dataStream.readName();
}
return new PsiJetObjectStubImpl(parentStub, name, fqName, superNames, isTopLevel, isClassObject, isLocal);
return new PsiJetObjectStubImpl(parentStub, name, fqName, superNames, isTopLevel, isClassObject, isLocal, isObjectLiteral);
}
@Override
@@ -38,6 +38,7 @@ public class PsiJetObjectStubImpl extends StubBase<JetObjectDeclaration> impleme
private final boolean isTopLevel;
private final boolean isClassObject;
private final boolean isLocal;
private final boolean isObjectLiteral;
public PsiJetObjectStubImpl(
@NotNull StubElement parent,
@@ -46,7 +47,8 @@ public class PsiJetObjectStubImpl extends StubBase<JetObjectDeclaration> impleme
@NotNull StringRef[] superNames,
boolean isTopLevel,
boolean isClassObject,
boolean isLocal
boolean isLocal,
boolean isObjectLiteral
) {
super(parent, JetStubElementTypes.OBJECT_DECLARATION);
this.name = name;
@@ -55,6 +57,7 @@ public class PsiJetObjectStubImpl extends StubBase<JetObjectDeclaration> impleme
this.isTopLevel = isTopLevel;
this.isClassObject = isClassObject;
this.isLocal = isLocal;
this.isObjectLiteral = isObjectLiteral;
}
@Override
@@ -88,6 +91,11 @@ public class PsiJetObjectStubImpl extends StubBase<JetObjectDeclaration> impleme
return isClassObject;
}
@Override
public boolean isObjectLiteral() {
return isObjectLiteral;
}
@Override
public boolean isLocal() {
return isLocal;