Get rid of JetNodeTypes#LOOP_PARAMETER

This commit is contained in:
Pavel V. Talanov
2013-08-07 21:27:42 +04:00
parent 8e264a1419
commit 24364dd63b
16 changed files with 30 additions and 24 deletions
@@ -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);
@@ -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));
@@ -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
@@ -108,4 +108,8 @@ public class JetParameter extends JetNamedDeclarationStub<PsiJetParameterStub> {
public ItemPresentation getPresentation() {
return ItemPresentationProviders.getItemPresentation(this);
}
public boolean isLoopParameter() {
return getParent() instanceof JetForExpression;
}
}
@@ -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<PsiJetParameterS
@Override
public boolean shouldCreateStub(ASTNode node) {
return node.getElementType() == JetStubElementTypes.VALUE_PARAMETER;
if (!super.shouldCreateStub(node)) {
return false;
}
PsiElement psi = node.getPsi();
return psi instanceof JetParameter && !((JetParameter) psi).isLoopParameter();
}
@Override
+8 -8
View File
@@ -453,7 +453,7 @@ JetFile: ControlStructures.kt
PsiElement(for)('for')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
LOOP_PARAMETER
VALUE_PARAMETER
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('x')
@@ -473,7 +473,7 @@ JetFile: ControlStructures.kt
PsiElement(for)('for')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
LOOP_PARAMETER
VALUE_PARAMETER
PsiElement(IDENTIFIER)('x')
PsiWhiteSpace(' ')
PsiElement(in)('in')
@@ -491,7 +491,7 @@ JetFile: ControlStructures.kt
PsiElement(for)('for')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
LOOP_PARAMETER
VALUE_PARAMETER
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('x')
@@ -518,7 +518,7 @@ JetFile: ControlStructures.kt
PsiElement(for)('for')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
LOOP_PARAMETER
VALUE_PARAMETER
PsiElement(IDENTIFIER)('x')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
@@ -588,7 +588,7 @@ JetFile: ControlStructures.kt
PsiElement(for)('for')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
LOOP_PARAMETER
VALUE_PARAMETER
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(in)('in')
@@ -606,7 +606,7 @@ JetFile: ControlStructures.kt
PsiElement(for)('for')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
LOOP_PARAMETER
VALUE_PARAMETER
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(in)('in')
@@ -625,7 +625,7 @@ JetFile: ControlStructures.kt
PsiElement(for)('for')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
LOOP_PARAMETER
VALUE_PARAMETER
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(in)('in')
@@ -648,7 +648,7 @@ JetFile: ControlStructures.kt
PsiElement(for)('for')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
LOOP_PARAMETER
VALUE_PARAMETER
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(in)('in')
@@ -356,7 +356,7 @@ JetFile: PolymorphicClassObjects.kt
PsiElement(for)('for')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
LOOP_PARAMETER
VALUE_PARAMETER
PsiElement(IDENTIFIER)('e')
PsiWhiteSpace(' ')
PsiElement(in)('in')
@@ -724,7 +724,7 @@ JetFile: ArrayList.kt
PsiElement(for)('for')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
LOOP_PARAMETER
VALUE_PARAMETER
PsiElement(IDENTIFIER)('i')
PsiWhiteSpace(' ')
PsiElement(in)('in')
@@ -845,7 +845,7 @@ JetFile: ArrayList.kt
PsiElement(for)('for')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
LOOP_PARAMETER
VALUE_PARAMETER
PsiElement(IDENTIFIER)('i')
PsiWhiteSpace(' ')
PsiElement(in)('in')
@@ -306,7 +306,7 @@ JetFile: IIterator.kt
PsiElement(for)('for')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
LOOP_PARAMETER
VALUE_PARAMETER
PsiElement(IDENTIFIER)('i')
PsiWhiteSpace(' ')
PsiElement(in)('in')
@@ -823,7 +823,7 @@ JetFile: LinkedList.kt
PsiElement(for)('for')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
LOOP_PARAMETER
VALUE_PARAMETER
PsiElement(IDENTIFIER)('i')
PsiWhiteSpace(' ')
PsiElement(in)('in')
@@ -167,7 +167,7 @@ JetFile: IOSamples.kt
PsiElement(for)('for')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
LOOP_PARAMETER
VALUE_PARAMETER
PsiElement(IDENTIFIER)('item')
PsiWhiteSpace(' ')
PsiElement(in)('in')
@@ -16,7 +16,7 @@ JetFile: ForRecovery.kt
PsiElement(for)('for')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
LOOP_PARAMETER
VALUE_PARAMETER
PsiElement(IDENTIFIER)('v')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
@@ -75,7 +75,7 @@ JetFile: SameLineStatementRecovery.kt
PsiElement(for)('for')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
LOOP_PARAMETER
VALUE_PARAMETER
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(in)('in')
@@ -99,7 +99,7 @@ JetFile: ComplexScript.ktscript
PsiElement(for)('for')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
LOOP_PARAMETER
VALUE_PARAMETER
PsiElement(IDENTIFIER)('arg')
PsiWhiteSpace(' ')
PsiElement(in)('in')