mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[groovy] move left-right for array initializers (IDEA-188432)
This commit is contained in:
+6
@@ -5,6 +5,9 @@ import com.intellij.psi.PsiElement;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElement;
|
||||
import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpression;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface GrArrayInitializer extends GroovyPsiElement {
|
||||
|
||||
@@ -13,6 +16,9 @@ public interface GrArrayInitializer extends GroovyPsiElement {
|
||||
|
||||
boolean isEmpty();
|
||||
|
||||
@NotNull
|
||||
List<GrExpression> getExpressions();
|
||||
|
||||
@Nullable
|
||||
PsiElement getRBrace();
|
||||
}
|
||||
|
||||
+3
@@ -9,6 +9,7 @@ import org.jetbrains.plugins.groovy.lang.psi.GroovyElementTypes.T_LBRACE
|
||||
import org.jetbrains.plugins.groovy.lang.psi.GroovyElementVisitor
|
||||
import org.jetbrains.plugins.groovy.lang.psi.api.GrArrayInitializer
|
||||
import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpression
|
||||
import org.jetbrains.plugins.groovy.lang.psi.util.childrenOfType
|
||||
|
||||
class GrArrayInitializerImpl(node: ASTNode) : GroovyPsiElementImpl(node), GrArrayInitializer {
|
||||
|
||||
@@ -20,5 +21,7 @@ class GrArrayInitializerImpl(node: ASTNode) : GroovyPsiElementImpl(node), GrArra
|
||||
|
||||
override fun isEmpty(): Boolean = node.getChildren(TokenSet.ANY).none { it.psi is GrExpression }
|
||||
|
||||
override fun getExpressions(): List<GrExpression> = childrenOfType()
|
||||
|
||||
override fun getRBrace(): PsiElement? = findChildByType(GroovyElementTypes.T_RBRACE)
|
||||
}
|
||||
|
||||
+2
@@ -4,6 +4,7 @@ package org.jetbrains.plugins.groovy.codeInsight.editorActions
|
||||
import com.intellij.codeInsight.editorActions.moveLeftRight.MoveElementLeftRightHandler
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.util.PsiTreeUtil.getChildrenOfAnyType
|
||||
import org.jetbrains.plugins.groovy.lang.psi.api.GrArrayInitializer
|
||||
import org.jetbrains.plugins.groovy.lang.psi.api.GrExpressionList
|
||||
import org.jetbrains.plugins.groovy.lang.psi.api.auxiliary.GrListOrMap
|
||||
import org.jetbrains.plugins.groovy.lang.psi.api.auxiliary.modifiers.GrModifierList
|
||||
@@ -34,6 +35,7 @@ class GroovyMoveLeftRightHandler : MoveElementLeftRightHandler() {
|
||||
is GrTypeParameterList -> element.typeParameters
|
||||
is GrVariableDeclaration -> element.variables
|
||||
is GrExpressionList -> element.expressions.toTypedArray()
|
||||
is GrArrayInitializer -> element.expressions.toTypedArray()
|
||||
else -> PsiElement.EMPTY_ARRAY
|
||||
}
|
||||
}
|
||||
|
||||
+4
@@ -118,4 +118,8 @@ class GroovyMoveLeftRightHandlerTest extends LightGroovyTestCase {
|
||||
void 'test for update'() {
|
||||
doTest 'for (;; <caret>1, 2, 3) {}', 'for (;; 2, <caret>1, 3) {}'
|
||||
}
|
||||
|
||||
void 'test array initializer'() {
|
||||
doTest 'new int[]{<caret>1, 2, 3}', 'new int[]{2, <caret>1, 3}'
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user