Stubs for JetNullableType

This commit is contained in:
Pavel V. Talanov
2014-03-24 20:07:32 +04:00
parent 1d3a3aea09
commit be2f77d0f9
3 changed files with 12 additions and 3 deletions
@@ -70,7 +70,7 @@ public interface JetNodeTypes {
JetNodeType FUNCTION_TYPE = new JetNodeType("FUNCTION_TYPE", JetFunctionType.class);
JetNodeType FUNCTION_TYPE_RECEIVER = new JetNodeType("FUNCTION_TYPE_RECEIVER", JetFunctionTypeReceiver.class);
JetNodeType SELF_TYPE = new JetNodeType("SELF_TYPE", JetSelfType.class);
JetNodeType NULLABLE_TYPE = new JetNodeType("NULLABLE_TYPE", JetNullableType.class);
IElementType NULLABLE_TYPE = JetStubElementTypes.NULLABLE_TYPE;
JetNodeType TYPE_PROJECTION = new JetNodeType("TYPE_PROJECTION", JetTypeProjection.class);
// TODO: review
@@ -18,17 +18,23 @@ package org.jetbrains.jet.lang.psi;
import com.intellij.lang.ASTNode;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.psi.stubs.PsiJetPlaceHolderStub;
import org.jetbrains.jet.lang.psi.stubs.elements.JetStubElementTypes;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lexer.JetTokens;
import java.util.Collections;
import java.util.List;
public class JetNullableType extends JetElementImpl implements JetTypeElement {
public class JetNullableType extends JetElementImplStub<PsiJetPlaceHolderStub<JetNullableType>> implements JetTypeElement {
public JetNullableType(@NotNull ASTNode node) {
super(node);
}
public JetNullableType(@NotNull PsiJetPlaceHolderStub<JetNullableType> stub) {
super(stub, JetStubElementTypes.NULLABLE_TYPE);
}
@NotNull
public ASTNode getQuestionMarkNode() {
return getNode().findChildByType(JetTokens.QUEST);
@@ -50,4 +50,7 @@ public interface JetStubElementTypes {
JetPlaceHolderStubElementType<JetTypeConstraintList> TYPE_CONSTRAINT_LIST =
new JetPlaceHolderStubElementType<JetTypeConstraintList>("TYPE_CONSTRAINT_LIST", JetTypeConstraintList.class);
JetPlaceHolderStubElementType<JetNullableType> NULLABLE_TYPE =
new JetPlaceHolderStubElementType<JetNullableType>("NULLABLE_TYPE", JetNullableType.class);
}