From 24364dd63b4b93a313197261f8fbdda74c081249 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Wed, 7 Aug 2013 21:27:42 +0400 Subject: [PATCH] Get rid of JetNodeTypes#LOOP_PARAMETER --- .../src/org/jetbrains/jet/JetNodeTypes.java | 1 - .../jet/lang/parsing/JetExpressionParsing.java | 2 +- .../jetbrains/jet/lang/psi/JetForExpression.java | 2 +- .../org/jetbrains/jet/lang/psi/JetParameter.java | 4 ++++ .../stubs/elements/JetParameterElementType.java | 7 ++++++- compiler/testData/psi/ControlStructures.txt | 16 ++++++++-------- .../psi/examples/PolymorphicClassObjects.txt | 2 +- .../psi/examples/collections/ArrayList.txt | 4 ++-- .../psi/examples/collections/IIterator.txt | 2 +- .../psi/examples/collections/LinkedList.txt | 2 +- compiler/testData/psi/examples/io/IOSamples.txt | 2 +- compiler/testData/psi/recovery/ForRecovery.txt | 2 +- .../psi/recovery/SameLineStatementRecovery.txt | 2 +- compiler/testData/psi/script/ComplexScript.txt | 2 +- .../jet/plugin/formatter/kotlinSpacingRules.kt | 2 -- .../intentions/SpecifyTypeExplicitlyAction.java | 2 +- 16 files changed, 30 insertions(+), 24 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/JetNodeTypes.java b/compiler/frontend/src/org/jetbrains/jet/JetNodeTypes.java index c841dfd70af..dfa53d07b08 100644 --- a/compiler/frontend/src/org/jetbrains/jet/JetNodeTypes.java +++ b/compiler/frontend/src/org/jetbrains/jet/JetNodeTypes.java @@ -108,7 +108,6 @@ public interface JetNodeTypes { JetNodeType FOR = new JetNodeType("FOR", JetForExpression.class); JetNodeType WHILE = new JetNodeType("WHILE", JetWhileExpression.class); JetNodeType DO_WHILE = new JetNodeType("DO_WHILE", JetDoWhileExpression.class); - JetNodeType LOOP_PARAMETER = new JetNodeType("LOOP_PARAMETER", JetParameter.class); // TODO: Do we need separate type? JetNodeType LOOP_RANGE = new JetNodeType("LOOP_RANGE", JetContainerNode.class); JetNodeType BODY = new JetNodeType("BODY", JetContainerNode.class); JetNodeType BLOCK = new JetNodeType("BLOCK", JetBlockExpression.class); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetExpressionParsing.java b/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetExpressionParsing.java index 654d93e4ac8..6025a7041f2 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetExpressionParsing.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetExpressionParsing.java @@ -1374,7 +1374,7 @@ public class JetExpressionParsing extends AbstractJetParsing { advance(); // COLON myJetParsing.parseTypeRef(TokenSet.create(IN_KEYWORD)); } - parameter.done(LOOP_PARAMETER); + parameter.done(VALUE_PARAMETER); } expect(IN_KEYWORD, "Expecting 'in'", TokenSet.create(LPAR, LBRACE)); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetForExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetForExpression.java index 9b38f2fc360..821bcbffc62 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetForExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetForExpression.java @@ -34,7 +34,7 @@ public class JetForExpression extends JetLoopExpression { @Nullable public JetParameter getLoopParameter() { - return (JetParameter) findChildByType(JetNodeTypes.LOOP_PARAMETER); + return (JetParameter) findChildByType(JetNodeTypes.VALUE_PARAMETER); } @Nullable diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetParameter.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetParameter.java index d6f82ec8f4a..87a9df9e45d 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetParameter.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetParameter.java @@ -108,4 +108,8 @@ public class JetParameter extends JetNamedDeclarationStub { public ItemPresentation getPresentation() { return ItemPresentationProviders.getItemPresentation(this); } + + public boolean isLoopParameter() { + return getParent() instanceof JetForExpression; + } } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/stubs/elements/JetParameterElementType.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/stubs/elements/JetParameterElementType.java index 74009e0ea26..e5ff873c699 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/stubs/elements/JetParameterElementType.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/stubs/elements/JetParameterElementType.java @@ -17,6 +17,7 @@ package org.jetbrains.jet.lang.psi.stubs.elements; import com.intellij.lang.ASTNode; +import com.intellij.psi.PsiElement; import com.intellij.psi.stubs.IndexSink; import com.intellij.psi.stubs.StubElement; import com.intellij.psi.stubs.StubInputStream; @@ -60,7 +61,11 @@ public class JetParameterElementType extends JetStubElementType