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 FOR = new JetNodeType("FOR", JetForExpression.class);
JetNodeType WHILE = new JetNodeType("WHILE", JetWhileExpression.class); JetNodeType WHILE = new JetNodeType("WHILE", JetWhileExpression.class);
JetNodeType DO_WHILE = new JetNodeType("DO_WHILE", JetDoWhileExpression.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 LOOP_RANGE = new JetNodeType("LOOP_RANGE", JetContainerNode.class);
JetNodeType BODY = new JetNodeType("BODY", JetContainerNode.class); JetNodeType BODY = new JetNodeType("BODY", JetContainerNode.class);
JetNodeType BLOCK = new JetNodeType("BLOCK", JetBlockExpression.class); JetNodeType BLOCK = new JetNodeType("BLOCK", JetBlockExpression.class);
@@ -1374,7 +1374,7 @@ public class JetExpressionParsing extends AbstractJetParsing {
advance(); // COLON advance(); // COLON
myJetParsing.parseTypeRef(TokenSet.create(IN_KEYWORD)); myJetParsing.parseTypeRef(TokenSet.create(IN_KEYWORD));
} }
parameter.done(LOOP_PARAMETER); parameter.done(VALUE_PARAMETER);
} }
expect(IN_KEYWORD, "Expecting 'in'", TokenSet.create(LPAR, LBRACE)); expect(IN_KEYWORD, "Expecting 'in'", TokenSet.create(LPAR, LBRACE));
@@ -34,7 +34,7 @@ public class JetForExpression extends JetLoopExpression {
@Nullable @Nullable
public JetParameter getLoopParameter() { public JetParameter getLoopParameter() {
return (JetParameter) findChildByType(JetNodeTypes.LOOP_PARAMETER); return (JetParameter) findChildByType(JetNodeTypes.VALUE_PARAMETER);
} }
@Nullable @Nullable
@@ -108,4 +108,8 @@ public class JetParameter extends JetNamedDeclarationStub<PsiJetParameterStub> {
public ItemPresentation getPresentation() { public ItemPresentation getPresentation() {
return ItemPresentationProviders.getItemPresentation(this); return ItemPresentationProviders.getItemPresentation(this);
} }
public boolean isLoopParameter() {
return getParent() instanceof JetForExpression;
}
} }
@@ -17,6 +17,7 @@
package org.jetbrains.jet.lang.psi.stubs.elements; package org.jetbrains.jet.lang.psi.stubs.elements;
import com.intellij.lang.ASTNode; import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.stubs.IndexSink; import com.intellij.psi.stubs.IndexSink;
import com.intellij.psi.stubs.StubElement; import com.intellij.psi.stubs.StubElement;
import com.intellij.psi.stubs.StubInputStream; import com.intellij.psi.stubs.StubInputStream;
@@ -60,7 +61,11 @@ public class JetParameterElementType extends JetStubElementType<PsiJetParameterS
@Override @Override
public boolean shouldCreateStub(ASTNode node) { 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 @Override
+8 -8
View File
@@ -453,7 +453,7 @@ JetFile: ControlStructures.kt
PsiElement(for)('for') PsiElement(for)('for')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
LOOP_PARAMETER VALUE_PARAMETER
PsiElement(val)('val') PsiElement(val)('val')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('x') PsiElement(IDENTIFIER)('x')
@@ -473,7 +473,7 @@ JetFile: ControlStructures.kt
PsiElement(for)('for') PsiElement(for)('for')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
LOOP_PARAMETER VALUE_PARAMETER
PsiElement(IDENTIFIER)('x') PsiElement(IDENTIFIER)('x')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(in)('in') PsiElement(in)('in')
@@ -491,7 +491,7 @@ JetFile: ControlStructures.kt
PsiElement(for)('for') PsiElement(for)('for')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
LOOP_PARAMETER VALUE_PARAMETER
PsiElement(val)('val') PsiElement(val)('val')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('x') PsiElement(IDENTIFIER)('x')
@@ -518,7 +518,7 @@ JetFile: ControlStructures.kt
PsiElement(for)('for') PsiElement(for)('for')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
LOOP_PARAMETER VALUE_PARAMETER
PsiElement(IDENTIFIER)('x') PsiElement(IDENTIFIER)('x')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(COLON)(':') PsiElement(COLON)(':')
@@ -588,7 +588,7 @@ JetFile: ControlStructures.kt
PsiElement(for)('for') PsiElement(for)('for')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
LOOP_PARAMETER VALUE_PARAMETER
PsiElement(IDENTIFIER)('a') PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(in)('in') PsiElement(in)('in')
@@ -606,7 +606,7 @@ JetFile: ControlStructures.kt
PsiElement(for)('for') PsiElement(for)('for')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
LOOP_PARAMETER VALUE_PARAMETER
PsiElement(IDENTIFIER)('a') PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(in)('in') PsiElement(in)('in')
@@ -625,7 +625,7 @@ JetFile: ControlStructures.kt
PsiElement(for)('for') PsiElement(for)('for')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
LOOP_PARAMETER VALUE_PARAMETER
PsiElement(IDENTIFIER)('a') PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(in)('in') PsiElement(in)('in')
@@ -648,7 +648,7 @@ JetFile: ControlStructures.kt
PsiElement(for)('for') PsiElement(for)('for')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
LOOP_PARAMETER VALUE_PARAMETER
PsiElement(IDENTIFIER)('a') PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(in)('in') PsiElement(in)('in')
@@ -356,7 +356,7 @@ JetFile: PolymorphicClassObjects.kt
PsiElement(for)('for') PsiElement(for)('for')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
LOOP_PARAMETER VALUE_PARAMETER
PsiElement(IDENTIFIER)('e') PsiElement(IDENTIFIER)('e')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(in)('in') PsiElement(in)('in')
@@ -724,7 +724,7 @@ JetFile: ArrayList.kt
PsiElement(for)('for') PsiElement(for)('for')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
LOOP_PARAMETER VALUE_PARAMETER
PsiElement(IDENTIFIER)('i') PsiElement(IDENTIFIER)('i')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(in)('in') PsiElement(in)('in')
@@ -845,7 +845,7 @@ JetFile: ArrayList.kt
PsiElement(for)('for') PsiElement(for)('for')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
LOOP_PARAMETER VALUE_PARAMETER
PsiElement(IDENTIFIER)('i') PsiElement(IDENTIFIER)('i')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(in)('in') PsiElement(in)('in')
@@ -306,7 +306,7 @@ JetFile: IIterator.kt
PsiElement(for)('for') PsiElement(for)('for')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
LOOP_PARAMETER VALUE_PARAMETER
PsiElement(IDENTIFIER)('i') PsiElement(IDENTIFIER)('i')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(in)('in') PsiElement(in)('in')
@@ -823,7 +823,7 @@ JetFile: LinkedList.kt
PsiElement(for)('for') PsiElement(for)('for')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
LOOP_PARAMETER VALUE_PARAMETER
PsiElement(IDENTIFIER)('i') PsiElement(IDENTIFIER)('i')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(in)('in') PsiElement(in)('in')
@@ -167,7 +167,7 @@ JetFile: IOSamples.kt
PsiElement(for)('for') PsiElement(for)('for')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
LOOP_PARAMETER VALUE_PARAMETER
PsiElement(IDENTIFIER)('item') PsiElement(IDENTIFIER)('item')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(in)('in') PsiElement(in)('in')
@@ -16,7 +16,7 @@ JetFile: ForRecovery.kt
PsiElement(for)('for') PsiElement(for)('for')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
LOOP_PARAMETER VALUE_PARAMETER
PsiElement(IDENTIFIER)('v') PsiElement(IDENTIFIER)('v')
PsiElement(COLON)(':') PsiElement(COLON)(':')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
@@ -75,7 +75,7 @@ JetFile: SameLineStatementRecovery.kt
PsiElement(for)('for') PsiElement(for)('for')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
LOOP_PARAMETER VALUE_PARAMETER
PsiElement(IDENTIFIER)('a') PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(in)('in') PsiElement(in)('in')
@@ -99,7 +99,7 @@ JetFile: ComplexScript.ktscript
PsiElement(for)('for') PsiElement(for)('for')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
LOOP_PARAMETER VALUE_PARAMETER
PsiElement(IDENTIFIER)('arg') PsiElement(IDENTIFIER)('arg')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(in)('in') PsiElement(in)('in')
@@ -81,8 +81,6 @@ fun createSpacingBuilder(settings: CodeStyleSettings): KotlinSpacingBuilder {
afterInside(COLON, VALUE_PARAMETER).spaceIf(jetSettings.SPACE_AFTER_TYPE_COLON) afterInside(COLON, VALUE_PARAMETER).spaceIf(jetSettings.SPACE_AFTER_TYPE_COLON)
beforeInside(COLON, MULTI_VARIABLE_DECLARATION_ENTRY).spaceIf(jetSettings.SPACE_BEFORE_TYPE_COLON) beforeInside(COLON, MULTI_VARIABLE_DECLARATION_ENTRY).spaceIf(jetSettings.SPACE_BEFORE_TYPE_COLON)
afterInside(COLON, MULTI_VARIABLE_DECLARATION_ENTRY).spaceIf(jetSettings.SPACE_AFTER_TYPE_COLON) afterInside(COLON, MULTI_VARIABLE_DECLARATION_ENTRY).spaceIf(jetSettings.SPACE_AFTER_TYPE_COLON)
beforeInside(COLON, LOOP_PARAMETER).spaceIf(jetSettings.SPACE_BEFORE_TYPE_COLON)
afterInside(COLON, LOOP_PARAMETER).spaceIf(jetSettings.SPACE_AFTER_TYPE_COLON)
beforeInside(COLON, FUNCTION_LITERAL).spaceIf(jetSettings.SPACE_BEFORE_TYPE_COLON) beforeInside(COLON, FUNCTION_LITERAL).spaceIf(jetSettings.SPACE_BEFORE_TYPE_COLON)
afterInside(COLON, FUNCTION_LITERAL).spaceIf(jetSettings.SPACE_AFTER_TYPE_COLON) afterInside(COLON, FUNCTION_LITERAL).spaceIf(jetSettings.SPACE_AFTER_TYPE_COLON)
@@ -122,7 +122,7 @@ public class SpecifyTypeExplicitlyAction extends PsiElementBaseIntentionAction {
&& !((JetNamedFunction) declaration).hasBlockBody()) { && !((JetNamedFunction) declaration).hasBlockBody()) {
setText(JetBundle.message("specify.type.explicitly.add.return.type.action.name")); setText(JetBundle.message("specify.type.explicitly.add.return.type.action.name"));
} }
else if (declaration instanceof JetParameter && JetNodeTypes.LOOP_PARAMETER == declaration.getNode().getElementType()) { else if (declaration instanceof JetParameter && ((JetParameter) declaration).isLoopParameter()) {
if (((JetParameter) declaration).getTypeReference() != null) { if (((JetParameter) declaration).getTypeReference() != null) {
setText(JetBundle.message("specify.type.explicitly.remove.action.name")); setText(JetBundle.message("specify.type.explicitly.remove.action.name"));
return true; return true;