From b6f507c0aed6eaac97abd1cbf8e69116806423c6 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Fri, 28 Mar 2014 21:56:37 +0400 Subject: [PATCH] Stubs for JetFunctionTypeReceiver --- .../frontend/src/org/jetbrains/jet/JetNodeTypes.java | 2 +- .../jetbrains/jet/lang/psi/JetFunctionTypeReceiver.java | 9 ++++++++- .../jet/lang/psi/stubs/elements/JetStubElementTypes.java | 4 +++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/JetNodeTypes.java b/compiler/frontend/src/org/jetbrains/jet/JetNodeTypes.java index 7f011f31166..bf5481870b4 100644 --- a/compiler/frontend/src/org/jetbrains/jet/JetNodeTypes.java +++ b/compiler/frontend/src/org/jetbrains/jet/JetNodeTypes.java @@ -66,7 +66,7 @@ public interface JetNodeTypes { IElementType USER_TYPE = JetStubElementTypes.USER_TYPE; IElementType FUNCTION_TYPE = JetStubElementTypes.FUNCTION_TYPE; - JetNodeType FUNCTION_TYPE_RECEIVER = new JetNodeType("FUNCTION_TYPE_RECEIVER", JetFunctionTypeReceiver.class); + IElementType FUNCTION_TYPE_RECEIVER = JetStubElementTypes.FUNCTION_TYPE_RECEIVER; JetNodeType SELF_TYPE = new JetNodeType("SELF_TYPE", JetSelfType.class); IElementType NULLABLE_TYPE = JetStubElementTypes.NULLABLE_TYPE; JetNodeType TYPE_PROJECTION = new JetNodeType("TYPE_PROJECTION", JetTypeProjection.class); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFunctionTypeReceiver.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFunctionTypeReceiver.java index d7fec7ca15d..9b4f316ef08 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFunctionTypeReceiver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFunctionTypeReceiver.java @@ -17,14 +17,21 @@ package org.jetbrains.jet.lang.psi; import com.intellij.lang.ASTNode; +import com.intellij.psi.stubs.IStubElementType; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.JetNodeTypes; +import org.jetbrains.jet.lang.psi.stubs.PsiJetPlaceHolderStub; +import org.jetbrains.jet.lang.psi.stubs.elements.JetStubElementTypes; -public class JetFunctionTypeReceiver extends JetElementImpl { +public class JetFunctionTypeReceiver extends JetElementImplStub> { public JetFunctionTypeReceiver(@NotNull ASTNode node) { super(node); } + public JetFunctionTypeReceiver(@NotNull PsiJetPlaceHolderStub stub) { + super(stub, JetStubElementTypes.FUNCTION_TYPE_RECEIVER); + } + @NotNull public JetTypeReference getTypeReference() { return (JetTypeReference) findChildByType(JetNodeTypes.TYPE_REFERENCE); 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 7ef3a14ee4b..5e00d60dc8c 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 @@ -62,9 +62,11 @@ public interface JetStubElementTypes { new JetPlaceHolderStubElementType("TYPE_REFERENCE", JetTypeReference.class);; JetUserTypeElementType USER_TYPE = new JetUserTypeElementType("USER_TYPE"); - + JetPlaceHolderStubElementType FUNCTION_TYPE = new JetPlaceHolderStubElementType("FUNCTION_TYPE", JetFunctionType.class); + JetPlaceHolderStubElementType FUNCTION_TYPE_RECEIVER = + new JetPlaceHolderStubElementType("FUNCTION_TYPE_RECEIVER", JetFunctionTypeReceiver.class); JetNameReferenceExpressionElementType REFERENCE_EXPRESSION = new JetNameReferenceExpressionElementType("REFERENCE_EXPRESSION"); JetDotQualifiedExpressionElementType DOT_QUALIFIED_EXPRESSION = new JetDotQualifiedExpressionElementType("DOT_QUALIFIED_EXPRESSION");