Add hasValueArguments() to PsiJetAnnotationEntryStub
This commit is contained in:
+5
-1
@@ -17,8 +17,12 @@
|
||||
package org.jetbrains.jet.lang.psi.stubs;
|
||||
|
||||
import com.intellij.psi.stubs.StubElement;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.lang.psi.JetAnnotationEntry;
|
||||
|
||||
public interface PsiJetAnnotationEntryStub extends StubElement<JetAnnotationEntry> {
|
||||
String getShortName();
|
||||
@NotNull
|
||||
String getShortName();
|
||||
|
||||
boolean hasValueArguments();
|
||||
}
|
||||
|
||||
+5
-2
@@ -41,19 +41,22 @@ public class JetAnnotationEntryElementType extends JetStubElementType<PsiJetAnno
|
||||
public PsiJetAnnotationEntryStub createStub(@NotNull JetAnnotationEntry psi, StubElement parentStub) {
|
||||
Name shortName = JetPsiUtil.getShortName(psi);
|
||||
String resultName = shortName != null ? shortName.asString() : psi.getText();
|
||||
return new PsiJetAnnotationEntryStubImpl(parentStub, resultName);
|
||||
boolean hasValueArguments = psi.getValueArgumentList() != null;
|
||||
return new PsiJetAnnotationEntryStubImpl(parentStub, StringRef.fromString(resultName), hasValueArguments);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void serialize(@NotNull PsiJetAnnotationEntryStub stub, @NotNull StubOutputStream dataStream) throws IOException {
|
||||
dataStream.writeName(stub.getShortName());
|
||||
dataStream.writeBoolean(stub.hasValueArguments());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public PsiJetAnnotationEntryStub deserialize(@NotNull StubInputStream dataStream, StubElement parentStub) throws IOException {
|
||||
StringRef text = dataStream.readName();
|
||||
return new PsiJetAnnotationEntryStubImpl(parentStub, text);
|
||||
boolean hasValueArguments = dataStream.readBoolean();
|
||||
return new PsiJetAnnotationEntryStubImpl(parentStub, text, hasValueArguments);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+9
-5
@@ -26,21 +26,25 @@ import org.jetbrains.jet.lang.psi.stubs.elements.JetStubElementTypes;
|
||||
|
||||
public class PsiJetAnnotationEntryStubImpl extends StubBase<JetAnnotationEntry> implements PsiJetAnnotationEntryStub {
|
||||
private final StringRef shortName;
|
||||
private final boolean hasValueArguments;
|
||||
|
||||
public PsiJetAnnotationEntryStubImpl(StubElement parent, @NotNull String shortName) {
|
||||
this(parent, StringRef.fromString(shortName));
|
||||
}
|
||||
|
||||
public PsiJetAnnotationEntryStubImpl(StubElement parent, StringRef shortName) {
|
||||
public PsiJetAnnotationEntryStubImpl(StubElement parent, @NotNull StringRef shortName, boolean hasValueArguments) {
|
||||
super(parent, JetStubElementTypes.ANNOTATION_ENTRY);
|
||||
this.shortName = shortName;
|
||||
this.hasValueArguments = hasValueArguments;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public String getShortName() {
|
||||
return shortName.getString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasValueArguments() {
|
||||
return hasValueArguments;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
|
||||
Reference in New Issue
Block a user