Add isAbsoluteInRootPackage and isAllUnder to PsiJetImportDirectiveStub

This commit is contained in:
Pavel V. Talanov
2014-03-28 19:50:13 +04:00
parent 927b1971de
commit 95f9610f06
3 changed files with 28 additions and 5 deletions
@@ -20,4 +20,6 @@ import com.intellij.psi.stubs.StubElement;
import org.jetbrains.jet.lang.psi.JetImportDirective; import org.jetbrains.jet.lang.psi.JetImportDirective;
public interface PsiJetImportDirectiveStub extends StubElement<JetImportDirective> { public interface PsiJetImportDirectiveStub extends StubElement<JetImportDirective> {
boolean isAbsoluteInRootPackage();
boolean isAllUnder();
} }
@@ -34,18 +34,20 @@ public class JetImportDirectiveElementType extends JetStubElementType<PsiJetImpo
@Override @Override
public PsiJetImportDirectiveStub createStub(@NotNull JetImportDirective psi, StubElement parentStub) { public PsiJetImportDirectiveStub createStub(@NotNull JetImportDirective psi, StubElement parentStub) {
return new PsiJetImportDirectiveStubImpl(parentStub); return new PsiJetImportDirectiveStubImpl(parentStub, psi.isAbsoluteInRootPackage(), psi.isAllUnder());
} }
@Override @Override
public void serialize(@NotNull PsiJetImportDirectiveStub stub, @NotNull StubOutputStream dataStream) throws IOException { public void serialize(@NotNull PsiJetImportDirectiveStub stub, @NotNull StubOutputStream dataStream) throws IOException {
//TODO: dataStream.writeBoolean(stub.isAbsoluteInRootPackage());
dataStream.writeBoolean(stub.isAllUnder());
} }
@NotNull @NotNull
@Override @Override
public PsiJetImportDirectiveStub deserialize(@NotNull StubInputStream dataStream, StubElement parentStub) throws IOException { public PsiJetImportDirectiveStub deserialize(@NotNull StubInputStream dataStream, StubElement parentStub) throws IOException {
//TODO boolean isAbsoluteInRootPackage = dataStream.readBoolean();
return new PsiJetImportDirectiveStubImpl(parentStub); boolean isAllUnder = dataStream.readBoolean();
return new PsiJetImportDirectiveStubImpl(parentStub, isAbsoluteInRootPackage, isAllUnder);
} }
} }
@@ -23,7 +23,26 @@ import org.jetbrains.jet.lang.psi.stubs.PsiJetImportDirectiveStub;
import org.jetbrains.jet.lang.psi.stubs.elements.JetStubElementTypes; import org.jetbrains.jet.lang.psi.stubs.elements.JetStubElementTypes;
public class PsiJetImportDirectiveStubImpl extends StubBase<JetImportDirective> implements PsiJetImportDirectiveStub { public class PsiJetImportDirectiveStubImpl extends StubBase<JetImportDirective> implements PsiJetImportDirectiveStub {
public PsiJetImportDirectiveStubImpl(StubElement parent) { private final boolean isAbsoluteInRootPackage;
private final boolean isAllUnder;
public PsiJetImportDirectiveStubImpl(
StubElement parent,
boolean isAbsoluteInRootPackage,
boolean isAllUnder
) {
super(parent, JetStubElementTypes.IMPORT_DIRECTIVE); super(parent, JetStubElementTypes.IMPORT_DIRECTIVE);
this.isAbsoluteInRootPackage = isAbsoluteInRootPackage;
this.isAllUnder = isAllUnder;
}
@Override
public boolean isAbsoluteInRootPackage() {
return isAbsoluteInRootPackage;
}
@Override
public boolean isAllUnder() {
return isAllUnder;
} }
} }