diff --git a/compiler/frontend/src/org/jetbrains/jet/JetNodeTypes.java b/compiler/frontend/src/org/jetbrains/jet/JetNodeTypes.java index 89553ef2e5a..c2509307180 100644 --- a/compiler/frontend/src/org/jetbrains/jet/JetNodeTypes.java +++ b/compiler/frontend/src/org/jetbrains/jet/JetNodeTypes.java @@ -145,7 +145,7 @@ public interface JetNodeTypes { JetNodeType WHEN_CONDITION_IS_PATTERN = new JetNodeType("WHEN_CONDITION_IS_PATTERN", JetWhenConditionIsPattern.class); JetNodeType WHEN_CONDITION_EXPRESSION = new JetNodeType("WHEN_CONDITION_WITH_EXPRESSION", JetWhenConditionWithExpression.class); - JetNodeType PACKAGE_DIRECTIVE = new JetNodeType("PACKAGE_DIRECTIVE", JetPackageDirective.class); + IElementType PACKAGE_DIRECTIVE = JetStubElementTypes.PACKAGE_DIRECTIVE; // SCRIPT: script node type JetNodeType SCRIPT = new JetNodeType("SCRIPT", JetScript.class); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPackageDirective.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPackageDirective.java index 2173c75ce6f..f63be6d2116 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPackageDirective.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPackageDirective.java @@ -22,6 +22,8 @@ import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.psi.psiUtil.PsiUtilPackage; +import org.jetbrains.jet.lang.psi.stubs.PsiJetPlaceHolderStub; +import org.jetbrains.jet.lang.psi.stubs.elements.JetStubElementTypes; import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.lang.resolve.name.SpecialNames; @@ -29,13 +31,17 @@ import org.jetbrains.jet.lang.resolve.name.SpecialNames; import java.util.Collections; import java.util.List; -public class JetPackageDirective extends JetExpressionImpl implements JetReferenceExpression { +public class JetPackageDirective extends JetExpressionImplStub> implements JetReferenceExpression { private String qualifiedNameCache = null; public JetPackageDirective(@NotNull ASTNode node) { super(node); } + public JetPackageDirective(@NotNull PsiJetPlaceHolderStub stub) { + super(stub, JetStubElementTypes.PACKAGE_DIRECTIVE); + } + // This should be either JetSimpleNameExpression, or JetDotQualifiedExpression @Nullable public JetExpression getPackageNameExpression() { 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 962968a2a6d..3a45c86f09b 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 @@ -54,6 +54,9 @@ public interface JetStubElementTypes { JetImportDirectiveElementType IMPORT_DIRECTIVE = new JetImportDirectiveElementType("IMPORT_DIRECTIVE"); + JetPlaceHolderStubElementType PACKAGE_DIRECTIVE = + new JetPlaceHolderStubElementType("PACKAGE_DIRECTIVE", JetPackageDirective.class); + JetModifierListElementType MODIFIER_LIST = new JetModifierListElementType("MODIFIER_LIST", JetDeclarationModifierList.class);