From 2b3175a0bf1fd151a608bd62d227d395a040c6b6 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Mon, 24 Mar 2014 20:12:27 +0400 Subject: [PATCH] Stubs for JetTypeReference --- compiler/frontend/src/org/jetbrains/jet/JetNodeTypes.java | 3 +-- .../src/org/jetbrains/jet/lang/psi/JetTypeReference.java | 8 +++++++- .../jet/lang/psi/stubs/elements/JetStubElementTypes.java | 3 +++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/JetNodeTypes.java b/compiler/frontend/src/org/jetbrains/jet/JetNodeTypes.java index 5df1c59b642..c9f11020120 100644 --- a/compiler/frontend/src/org/jetbrains/jet/JetNodeTypes.java +++ b/compiler/frontend/src/org/jetbrains/jet/JetNodeTypes.java @@ -19,7 +19,6 @@ package org.jetbrains.jet; import com.intellij.psi.tree.IElementType; import com.intellij.psi.tree.IFileElementType; import org.jetbrains.jet.lang.psi.*; -import org.jetbrains.jet.lang.psi.stubs.elements.JetStubElementType; import org.jetbrains.jet.lang.psi.stubs.elements.JetStubElementTypes; import org.jetbrains.jet.plugin.JetLanguage; @@ -63,7 +62,7 @@ public interface JetNodeTypes { JetNodeType VALUE_ARGUMENT_LIST = new JetNodeType("VALUE_ARGUMENT_LIST", JetValueArgumentList.class); JetNodeType VALUE_ARGUMENT = new JetNodeType("VALUE_ARGUMENT", JetValueArgument.class); JetNodeType VALUE_ARGUMENT_NAME = new JetNodeType("VALUE_ARGUMENT_NAME", JetValueArgumentName.class); - JetNodeType TYPE_REFERENCE = new JetNodeType("TYPE_REFERENCE", JetTypeReference.class); + IElementType TYPE_REFERENCE = JetStubElementTypes.TYPE_REFERENCE; JetNodeType USER_TYPE = new JetNodeType("USER_TYPE", JetUserType.class); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeReference.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeReference.java index c8ee41f4d5c..73e250c6da9 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeReference.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeReference.java @@ -20,6 +20,8 @@ import com.intellij.lang.ASTNode; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.JetNodeTypes; +import org.jetbrains.jet.lang.psi.stubs.PsiJetPlaceHolderStub; +import org.jetbrains.jet.lang.psi.stubs.elements.JetStubElementTypes; import java.util.ArrayList; import java.util.Collections; @@ -29,11 +31,15 @@ import java.util.List; * Type reference element. * Underlying token is {@link org.jetbrains.jet.JetNodeTypes#TYPE_REFERENCE} */ -public class JetTypeReference extends JetElementImpl { +public class JetTypeReference extends JetElementImplStub> { public JetTypeReference(@NotNull ASTNode node) { super(node); } + public JetTypeReference(PsiJetPlaceHolderStub stub) { + super(stub, JetStubElementTypes.TYPE_REFERENCE); + } + @Override public R accept(@NotNull JetVisitor visitor, D data) { return visitor.visitTypeReference(this, data); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/stubs/elements/JetStubElementTypes.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/stubs/elements/JetStubElementTypes.java index 9c2f5820144..d59d74e1d52 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/stubs/elements/JetStubElementTypes.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/stubs/elements/JetStubElementTypes.java @@ -53,4 +53,7 @@ public interface JetStubElementTypes { JetPlaceHolderStubElementType NULLABLE_TYPE = new JetPlaceHolderStubElementType("NULLABLE_TYPE", JetNullableType.class); + + JetPlaceHolderStubElementType TYPE_REFERENCE = + new JetPlaceHolderStubElementType("TYPE_REFERENCE", JetTypeReference.class);; }