[groovy] use EmptyStub (IDEA-CR-14566)

This commit is contained in:
Daniil Ovchinnikov
2016-10-18 20:30:28 +03:00
parent 3712cf0732
commit ed8209df8b
4 changed files with 11 additions and 35 deletions
@@ -21,6 +21,7 @@ import com.intellij.openapi.diagnostic.Logger;
import com.intellij.psi.PsiAnnotation;
import com.intellij.psi.PsiNameValuePair;
import com.intellij.psi.StubBasedPsiElement;
import com.intellij.psi.stubs.EmptyStub;
import com.intellij.util.IncorrectOperationException;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.plugins.groovy.lang.lexer.GroovyTokenTypes;
@@ -30,14 +31,13 @@ import org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElementFactory;
import org.jetbrains.plugins.groovy.lang.psi.api.auxiliary.modifiers.annotation.GrAnnotationArgumentList;
import org.jetbrains.plugins.groovy.lang.psi.api.auxiliary.modifiers.annotation.GrAnnotationNameValuePair;
import org.jetbrains.plugins.groovy.lang.psi.impl.GrStubElementBase;
import org.jetbrains.plugins.groovy.lang.psi.stubs.GrAnnotationArgumentListStub;
public class GrAnnotationArgumentListImpl extends GrStubElementBase<GrAnnotationArgumentListStub>
implements GrAnnotationArgumentList, StubBasedPsiElement<GrAnnotationArgumentListStub> {
public class GrAnnotationArgumentListImpl extends GrStubElementBase<EmptyStub>
implements GrAnnotationArgumentList, StubBasedPsiElement<EmptyStub> {
private static final Logger LOG = Logger.getInstance(GrAnnotationArgumentListImpl.class);
public GrAnnotationArgumentListImpl(@NotNull GrAnnotationArgumentListStub stub) {
public GrAnnotationArgumentListImpl(@NotNull EmptyStub stub) {
super(stub, GroovyElementTypes.ANNOTATION_ARGUMENTS);
}
@@ -15,20 +15,17 @@
*/
package org.jetbrains.plugins.groovy.lang.psi.stubs.elements;
import com.intellij.psi.stubs.StubElement;
import com.intellij.psi.stubs.StubInputStream;
import com.intellij.psi.stubs.StubOutputStream;
import com.intellij.psi.stubs.EmptyStub;
import com.intellij.psi.stubs.EmptyStubElementType;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.plugins.groovy.GroovyLanguage;
import org.jetbrains.plugins.groovy.lang.psi.api.auxiliary.modifiers.annotation.GrAnnotationArgumentList;
import org.jetbrains.plugins.groovy.lang.psi.impl.auxiliary.annotation.GrAnnotationArgumentListImpl;
import org.jetbrains.plugins.groovy.lang.psi.stubs.GrAnnotationArgumentListStub;
import java.io.IOException;
public class GrAnnotationArgumentListElementType extends GrStubElementType<GrAnnotationArgumentListStub, GrAnnotationArgumentList> {
public class GrAnnotationArgumentListElementType extends EmptyStubElementType<GrAnnotationArgumentList> {
public GrAnnotationArgumentListElementType() {
super("annotation arguments");
super("annotation arguments", GroovyLanguage.INSTANCE);
}
@Override
@@ -37,23 +34,7 @@ public class GrAnnotationArgumentListElementType extends GrStubElementType<GrAnn
}
@Override
public void serialize(@NotNull GrAnnotationArgumentListStub stub, @NotNull StubOutputStream dataStream) throws IOException {
}
@NotNull
@Override
public GrAnnotationArgumentListStub deserialize(@NotNull StubInputStream dataStream, StubElement parentStub) throws IOException {
return new GrAnnotationArgumentListStub(parentStub);
}
@Override
public GrAnnotationArgumentList createPsi(@NotNull GrAnnotationArgumentListStub stub) {
public GrAnnotationArgumentList createPsi(@NotNull EmptyStub stub) {
return new GrAnnotationArgumentListImpl(stub);
}
@NotNull
@Override
public GrAnnotationArgumentListStub createStub(@NotNull GrAnnotationArgumentList psi, StubElement parentStub) {
return new GrAnnotationArgumentListStub(parentStub);
}
}
@@ -40,7 +40,7 @@ import java.io.IOException;
* @author ilyas
*/
public class GrStubFileElementType extends IStubFileElementType<GrFileStub> {
public static final int STUB_VERSION = 31;
public static final int STUB_VERSION = 32;
public GrStubFileElementType(Language language) {
super(language);
@@ -17,13 +17,8 @@ package org.jetbrains.plugins.groovy.lang.psi.stubs
import com.intellij.psi.stubs.StubBase
import com.intellij.psi.stubs.StubElement
import org.jetbrains.plugins.groovy.lang.parser.GroovyElementTypes.ANNOTATION_ARGUMENTS
import org.jetbrains.plugins.groovy.lang.parser.GroovyElementTypes.ANNOTATION_MEMBER_VALUE_PAIR
import org.jetbrains.plugins.groovy.lang.psi.api.auxiliary.modifiers.annotation.GrAnnotationArgumentList
import org.jetbrains.plugins.groovy.lang.psi.api.auxiliary.modifiers.annotation.GrAnnotationNameValuePair
class GrNameValuePairStub(parent: StubElement<*>?, val name: String?, val value: String?)
: StubBase<GrAnnotationNameValuePair>(parent, ANNOTATION_MEMBER_VALUE_PAIR)
class GrAnnotationArgumentListStub(parent: StubElement<*>?)
: StubBase<GrAnnotationArgumentList>(parent, ANNOTATION_ARGUMENTS)