diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ChopParameterListIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ChopParameterListIntention.kt index e21d475cec3..0dd9ad699c1 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ChopParameterListIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ChopParameterListIntention.kt @@ -8,33 +8,31 @@ package org.jetbrains.kotlin.idea.intentions import com.intellij.application.options.CodeStyle import com.intellij.openapi.editor.Editor import com.intellij.psi.PsiDocumentManager -import com.intellij.psi.PsiElement import com.intellij.psi.PsiWhiteSpace import com.intellij.psi.codeStyle.CodeStyleManager import com.intellij.psi.codeStyle.CommonCodeStyleSettings import org.jetbrains.kotlin.idea.KotlinBundle -import org.jetbrains.kotlin.idea.inspections.findExistingEditor import org.jetbrains.kotlin.idea.formatter.kotlinCommonSettings import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.* -import org.jetbrains.kotlin.psi.psiUtil.* +import org.jetbrains.kotlin.psi.psiUtil.allChildren +import org.jetbrains.kotlin.psi.psiUtil.createSmartPointer +import org.jetbrains.kotlin.psi.psiUtil.siblings +import org.jetbrains.kotlin.psi.psiUtil.startOffset abstract class AbstractChopListIntention( listClass: Class, private val elementClass: Class, textGetter: () -> String -) : SelfTargetingIntention(listClass, textGetter) { - override fun allowCaretInsideElement(element: PsiElement) = - element !is KtValueArgument && super.allowCaretInsideElement(element) +) : SelfTargetingOffsetIndependentIntention(listClass, textGetter) { open fun leftParOnNewLine(commonCodeStyleSettings: CommonCodeStyleSettings): Boolean = false open fun rightParOnNewLine(commonCodeStyleSettings: CommonCodeStyleSettings): Boolean = false - override fun isApplicableTo(element: TList, caretOffset: Int): Boolean { + override fun isApplicableTo(element: TList): Boolean { val elements = element.elements() if (elements.size <= 1) return false - if (!isApplicableCaretOffset(caretOffset, element)) return false if (elements.dropLast(1).all { hasLineBreakAfter(it) }) return false return true } @@ -84,12 +82,6 @@ abstract class AbstractChopListIntention( @@ -97,9 +89,9 @@ class ChopParameterListIntention : AbstractChopListIntention, textGetter: () -> String ) : AbstractChopListIntention(listClass, elementClass, textGetter) { - override fun isApplicableTo(element: TList, caretOffset: Int): Boolean { + override fun isApplicableTo(element: TList): Boolean { val elements = element.elements() if (elements.isEmpty()) return false - if (!isApplicableCaretOffset(caretOffset, element)) return false return (hasLineBreakBefore(elements.first()) || elements.any { hasLineBreakAfter(it) }) && element.allChildren.none { it is PsiComment && it.node.elementType == KtTokens.EOL_COMMENT } } @@ -54,9 +53,9 @@ class JoinParameterListIntention : AbstractJoinListIntention - 3, - 4, - 5 - ), 3) -} - -fun f(a: Int, b: Int, c: Int, d: Int): Int = 0 - -fun g(a: Int, b: Int, c: Int): Int = 0 \ No newline at end of file diff --git a/idea/testData/intentions/chop/argumentList/onNestedArgumentList2.kt b/idea/testData/intentions/chop/argumentList/onNestedArgumentList2.kt deleted file mode 100644 index 5fd2e86cc9b..00000000000 --- a/idea/testData/intentions/chop/argumentList/onNestedArgumentList2.kt +++ /dev/null @@ -1,12 +0,0 @@ -// IS_APPLICABLE: false -fun foo() { - f(1, 2, g( - 3, - 4, - 5 - ), 3) -} - -fun f(a: Int, b: Int, c: Int, d: Int): Int = 0 - -fun g(a: Int, b: Int, c: Int): Int = 0 \ No newline at end of file diff --git a/idea/testData/intentions/chop/argumentList/onNestedArgumentList3.kt b/idea/testData/intentions/chop/argumentList/onNestedArgumentList3.kt deleted file mode 100644 index b928c9c916b..00000000000 --- a/idea/testData/intentions/chop/argumentList/onNestedArgumentList3.kt +++ /dev/null @@ -1,12 +0,0 @@ -// IS_APPLICABLE: false -fun foo() { - f(1, 2, g( - 3, - 4, - 5 - ), 3) -} - -fun f(a: Int, b: Int, c: Int, d: Int): Int = 0 - -fun g(a: Int, b: Int, c: Int): Int = 0 \ No newline at end of file diff --git a/idea/testData/intentions/chop/argumentList/onNestedArgumentList4.kt b/idea/testData/intentions/chop/argumentList/onNestedArgumentList4.kt deleted file mode 100644 index 5efef56b809..00000000000 --- a/idea/testData/intentions/chop/argumentList/onNestedArgumentList4.kt +++ /dev/null @@ -1,12 +0,0 @@ -fun foo() { - f( - 1, - 2, - g(3, 4, 5), - 3 - ) -} - -fun f(a: Int, b: Int, c: Int, d: Int): Int = 0 - -fun g(a: Int, b: Int, c: Int): Int = 0 \ No newline at end of file diff --git a/idea/testData/intentions/chop/argumentList/onNestedArgumentList4.kt.after b/idea/testData/intentions/chop/argumentList/onNestedArgumentList4.kt.after deleted file mode 100644 index ef2ffdd9e18..00000000000 --- a/idea/testData/intentions/chop/argumentList/onNestedArgumentList4.kt.after +++ /dev/null @@ -1,16 +0,0 @@ -fun foo() { - f( - 1, - 2, - g( - 3, - 4, - 5 - ), - 3 - ) -} - -fun f(a: Int, b: Int, c: Int, d: Int): Int = 0 - -fun g(a: Int, b: Int, c: Int): Int = 0 \ No newline at end of file diff --git a/idea/testData/intentions/chop/argumentList/onRightParenthesis.kt b/idea/testData/intentions/chop/argumentList/onRightParenthesis.kt deleted file mode 100644 index 601a64a39f6..00000000000 --- a/idea/testData/intentions/chop/argumentList/onRightParenthesis.kt +++ /dev/null @@ -1,11 +0,0 @@ -fun foo() { - f(1, 2, g( - 3, - 4, - 5 - ), 3) -} - -fun f(a: Int, b: Int, c: Int, d: Int): Int = 0 - -fun g(a: Int, b: Int, c: Int): Int = 0 \ No newline at end of file diff --git a/idea/testData/intentions/chop/argumentList/onRightParenthesis.kt.after b/idea/testData/intentions/chop/argumentList/onRightParenthesis.kt.after deleted file mode 100644 index ef2ffdd9e18..00000000000 --- a/idea/testData/intentions/chop/argumentList/onRightParenthesis.kt.after +++ /dev/null @@ -1,16 +0,0 @@ -fun foo() { - f( - 1, - 2, - g( - 3, - 4, - 5 - ), - 3 - ) -} - -fun f(a: Int, b: Int, c: Int, d: Int): Int = 0 - -fun g(a: Int, b: Int, c: Int): Int = 0 \ No newline at end of file diff --git a/idea/testData/intentions/joinArgumentList/onNestedArgumentList.kt b/idea/testData/intentions/joinArgumentList/onNestedArgumentList.kt deleted file mode 100644 index 6226834329e..00000000000 --- a/idea/testData/intentions/joinArgumentList/onNestedArgumentList.kt +++ /dev/null @@ -1,13 +0,0 @@ -// IS_APPLICABLE: false -fun foo() { - f( - 1, - 2, - g(3, 4, 5), - 3 - ) -} - -fun f(a: Int, b: Int, c: Int, d: Int): Int = 0 - -fun g(a: Int, b: Int, c: Int): Int = 0 \ No newline at end of file diff --git a/idea/testData/intentions/joinArgumentList/onNestedArgumentList2.kt b/idea/testData/intentions/joinArgumentList/onNestedArgumentList2.kt deleted file mode 100644 index d0ce17718b4..00000000000 --- a/idea/testData/intentions/joinArgumentList/onNestedArgumentList2.kt +++ /dev/null @@ -1,13 +0,0 @@ -// IS_APPLICABLE: false -fun foo() { - f( - 1, - 2, - g(3, 4, 5), - 3 - ) -} - -fun f(a: Int, b: Int, c: Int, d: Int): Int = 0 - -fun g(a: Int, b: Int, c: Int): Int = 0 \ No newline at end of file diff --git a/idea/testData/intentions/joinArgumentList/onNestedArgumentList3.kt b/idea/testData/intentions/joinArgumentList/onNestedArgumentList3.kt deleted file mode 100644 index 0c212207c34..00000000000 --- a/idea/testData/intentions/joinArgumentList/onNestedArgumentList3.kt +++ /dev/null @@ -1,13 +0,0 @@ -// IS_APPLICABLE: false -fun foo() { - f( - 1, - 2, - g(3, 4, 5), - 3 - ) -} - -fun f(a: Int, b: Int, c: Int, d: Int): Int = 0 - -fun g(a: Int, b: Int, c: Int): Int = 0 \ No newline at end of file diff --git a/idea/testData/intentions/joinArgumentList/onNestedArgumentList4.kt b/idea/testData/intentions/joinArgumentList/onNestedArgumentList4.kt deleted file mode 100644 index 6771a0ba1fc..00000000000 --- a/idea/testData/intentions/joinArgumentList/onNestedArgumentList4.kt +++ /dev/null @@ -1,11 +0,0 @@ -fun foo() { - f(1, 2, g( - 3, - 4, - 5 - ), 3) -} - -fun f(a: Int, b: Int, c: Int, d: Int): Int = 0 - -fun g(a: Int, b: Int, c: Int): Int = 0 \ No newline at end of file diff --git a/idea/testData/intentions/joinArgumentList/onNestedArgumentList4.kt.after b/idea/testData/intentions/joinArgumentList/onNestedArgumentList4.kt.after deleted file mode 100644 index 2dbde3e6469..00000000000 --- a/idea/testData/intentions/joinArgumentList/onNestedArgumentList4.kt.after +++ /dev/null @@ -1,7 +0,0 @@ -fun foo() { - f(1, 2, g(3, 4, 5), 3) -} - -fun f(a: Int, b: Int, c: Int, d: Int): Int = 0 - -fun g(a: Int, b: Int, c: Int): Int = 0 \ No newline at end of file diff --git a/idea/testData/intentions/joinArgumentList/onRightParenthesis.kt b/idea/testData/intentions/joinArgumentList/onRightParenthesis.kt deleted file mode 100644 index d2d7bac68ab..00000000000 --- a/idea/testData/intentions/joinArgumentList/onRightParenthesis.kt +++ /dev/null @@ -1,12 +0,0 @@ -fun foo() { - f( - 1, - 2, - g(3, 4, 5), - 3 - ) -} - -fun f(a: Int, b: Int, c: Int, d: Int): Int = 0 - -fun g(a: Int, b: Int, c: Int): Int = 0 \ No newline at end of file diff --git a/idea/testData/intentions/joinArgumentList/onRightParenthesis.kt.after b/idea/testData/intentions/joinArgumentList/onRightParenthesis.kt.after deleted file mode 100644 index 2dbde3e6469..00000000000 --- a/idea/testData/intentions/joinArgumentList/onRightParenthesis.kt.after +++ /dev/null @@ -1,7 +0,0 @@ -fun foo() { - f(1, 2, g(3, 4, 5), 3) -} - -fun f(a: Int, b: Int, c: Int, d: Int): Int = 0 - -fun g(a: Int, b: Int, c: Int): Int = 0 \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java index 2511560132d..aada917c937 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java @@ -3763,31 +3763,6 @@ public class IntentionTestGenerated extends AbstractIntentionTest { KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("idea/testData/intentions/chop/argumentList"), Pattern.compile("^([\\w\\-_]+)\\.(kt|kts)$"), null, true); } - @TestMetadata("onNestedArgumentList.kt") - public void testOnNestedArgumentList() throws Exception { - runTest("idea/testData/intentions/chop/argumentList/onNestedArgumentList.kt"); - } - - @TestMetadata("onNestedArgumentList2.kt") - public void testOnNestedArgumentList2() throws Exception { - runTest("idea/testData/intentions/chop/argumentList/onNestedArgumentList2.kt"); - } - - @TestMetadata("onNestedArgumentList3.kt") - public void testOnNestedArgumentList3() throws Exception { - runTest("idea/testData/intentions/chop/argumentList/onNestedArgumentList3.kt"); - } - - @TestMetadata("onNestedArgumentList4.kt") - public void testOnNestedArgumentList4() throws Exception { - runTest("idea/testData/intentions/chop/argumentList/onNestedArgumentList4.kt"); - } - - @TestMetadata("onRightParenthesis.kt") - public void testOnRightParenthesis() throws Exception { - runTest("idea/testData/intentions/chop/argumentList/onRightParenthesis.kt"); - } - @TestMetadata("leftParOnSameLine.kt") public void testLeftParOnSameLine() throws Exception { runTest("idea/testData/intentions/chop/argumentList/leftParOnSameLine.kt"); @@ -10693,31 +10668,6 @@ public class IntentionTestGenerated extends AbstractIntentionTest { runTest("idea/testData/intentions/joinArgumentList/noLineBreak.kt"); } - @TestMetadata("onNestedArgumentList.kt") - public void testOnNestedArgumentList() throws Exception { - runTest("idea/testData/intentions/joinArgumentList/onNestedArgumentList.kt"); - } - - @TestMetadata("onNestedArgumentList2.kt") - public void testOnNestedArgumentList2() throws Exception { - runTest("idea/testData/intentions/joinArgumentList/onNestedArgumentList2.kt"); - } - - @TestMetadata("onNestedArgumentList3.kt") - public void testOnNestedArgumentList3() throws Exception { - runTest("idea/testData/intentions/joinArgumentList/onNestedArgumentList3.kt"); - } - - @TestMetadata("onNestedArgumentList4.kt") - public void testOnNestedArgumentList4() throws Exception { - runTest("idea/testData/intentions/joinArgumentList/onNestedArgumentList4.kt"); - } - - @TestMetadata("onRightParenthesis.kt") - public void testOnRightParenthesis() throws Exception { - runTest("idea/testData/intentions/joinArgumentList/onRightParenthesis.kt"); - } - @TestMetadata("oneArg.kt") public void testOneArg() throws Exception { runTest("idea/testData/intentions/joinArgumentList/oneArg.kt");