diff --git a/idea/resources/intentionDescriptions/ConvertToForEachLoopIntention/after.kt.template b/idea/resources/intentionDescriptions/ConvertForEachToForLoopIntention/after.kt.template similarity index 100% rename from idea/resources/intentionDescriptions/ConvertToForEachLoopIntention/after.kt.template rename to idea/resources/intentionDescriptions/ConvertForEachToForLoopIntention/after.kt.template diff --git a/idea/resources/intentionDescriptions/ConvertToForEachLoopIntention/before.kt.template b/idea/resources/intentionDescriptions/ConvertForEachToForLoopIntention/before.kt.template similarity index 100% rename from idea/resources/intentionDescriptions/ConvertToForEachLoopIntention/before.kt.template rename to idea/resources/intentionDescriptions/ConvertForEachToForLoopIntention/before.kt.template diff --git a/idea/resources/intentionDescriptions/ConvertToForEachLoopIntention/description.html b/idea/resources/intentionDescriptions/ConvertForEachToForLoopIntention/description.html similarity index 78% rename from idea/resources/intentionDescriptions/ConvertToForEachLoopIntention/description.html rename to idea/resources/intentionDescriptions/ConvertForEachToForLoopIntention/description.html index 2b8115b3973..c9ba8204c6d 100644 --- a/idea/resources/intentionDescriptions/ConvertToForEachLoopIntention/description.html +++ b/idea/resources/intentionDescriptions/ConvertForEachToForLoopIntention/description.html @@ -1,5 +1,5 @@ -This intention converts a call to the "forEach" function into a for each loop expression. +This intention converts a call to the "forEach" function into a for loop. \ No newline at end of file diff --git a/idea/src/META-INF/plugin.xml b/idea/src/META-INF/plugin.xml index be7d3fc4a1b..f69a825ddf5 100644 --- a/idea/src/META-INF/plugin.xml +++ b/idea/src/META-INF/plugin.xml @@ -785,7 +785,7 @@ - org.jetbrains.kotlin.idea.intentions.ConvertToForEachLoopIntention + org.jetbrains.kotlin.idea.intentions.ConvertForEachToForLoopIntention Kotlin diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertToForEachLoopIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertForEachToForLoopIntention.kt similarity index 95% rename from idea/src/org/jetbrains/kotlin/idea/intentions/ConvertToForEachLoopIntention.kt rename to idea/src/org/jetbrains/kotlin/idea/intentions/ConvertForEachToForLoopIntention.kt index 2a20b80c8f8..7b6cc08b28a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertToForEachLoopIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertForEachToForLoopIntention.kt @@ -22,7 +22,7 @@ import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall -public class ConvertToForEachLoopIntention : JetSelfTargetingIntention(javaClass(), "Replace with a for each loop") { +public class ConvertForEachToForLoopIntention : JetSelfTargetingIntention(javaClass(), "Replace with a for each loop") { override fun isApplicableTo(element: JetExpression, caretOffset: Int): Boolean { val data = extractData(element) ?: return false if (data.functionLiteral.getValueParameters().size() > 1) return false diff --git a/idea/testData/intentions/convertForEachToForLoop/.intention b/idea/testData/intentions/convertForEachToForLoop/.intention new file mode 100644 index 00000000000..4cfee8529b2 --- /dev/null +++ b/idea/testData/intentions/convertForEachToForLoop/.intention @@ -0,0 +1 @@ +org.jetbrains.kotlin.idea.intentions.ConvertForEachToForLoopIntention diff --git a/idea/testData/intentions/convertToForEachLoop/complexReceiver.kt b/idea/testData/intentions/convertForEachToForLoop/complexReceiver.kt similarity index 100% rename from idea/testData/intentions/convertToForEachLoop/complexReceiver.kt rename to idea/testData/intentions/convertForEachToForLoop/complexReceiver.kt diff --git a/idea/testData/intentions/convertToForEachLoop/complexReceiver.kt.after b/idea/testData/intentions/convertForEachToForLoop/complexReceiver.kt.after similarity index 100% rename from idea/testData/intentions/convertToForEachLoop/complexReceiver.kt.after rename to idea/testData/intentions/convertForEachToForLoop/complexReceiver.kt.after diff --git a/idea/testData/intentions/convertToForEachLoop/explicitFunctionLiteral.kt b/idea/testData/intentions/convertForEachToForLoop/explicitFunctionLiteral.kt similarity index 100% rename from idea/testData/intentions/convertToForEachLoop/explicitFunctionLiteral.kt rename to idea/testData/intentions/convertForEachToForLoop/explicitFunctionLiteral.kt diff --git a/idea/testData/intentions/convertToForEachLoop/explicitFunctionLiteral.kt.after b/idea/testData/intentions/convertForEachToForLoop/explicitFunctionLiteral.kt.after similarity index 100% rename from idea/testData/intentions/convertToForEachLoop/explicitFunctionLiteral.kt.after rename to idea/testData/intentions/convertForEachToForLoop/explicitFunctionLiteral.kt.after diff --git a/idea/testData/intentions/convertToForEachLoop/extraArguments.kt b/idea/testData/intentions/convertForEachToForLoop/extraArguments.kt similarity index 100% rename from idea/testData/intentions/convertToForEachLoop/extraArguments.kt rename to idea/testData/intentions/convertForEachToForLoop/extraArguments.kt diff --git a/idea/testData/intentions/convertToForEachLoop/implicitFunctionLiteralParameter.kt b/idea/testData/intentions/convertForEachToForLoop/implicitFunctionLiteralParameter.kt similarity index 100% rename from idea/testData/intentions/convertToForEachLoop/implicitFunctionLiteralParameter.kt rename to idea/testData/intentions/convertForEachToForLoop/implicitFunctionLiteralParameter.kt diff --git a/idea/testData/intentions/convertToForEachLoop/implicitFunctionLiteralParameter.kt.after b/idea/testData/intentions/convertForEachToForLoop/implicitFunctionLiteralParameter.kt.after similarity index 100% rename from idea/testData/intentions/convertToForEachLoop/implicitFunctionLiteralParameter.kt.after rename to idea/testData/intentions/convertForEachToForLoop/implicitFunctionLiteralParameter.kt.after diff --git a/idea/testData/intentions/convertToForEachLoop/infixCall.kt b/idea/testData/intentions/convertForEachToForLoop/infixCall.kt similarity index 100% rename from idea/testData/intentions/convertToForEachLoop/infixCall.kt rename to idea/testData/intentions/convertForEachToForLoop/infixCall.kt diff --git a/idea/testData/intentions/convertToForEachLoop/infixCall.kt.after b/idea/testData/intentions/convertForEachToForLoop/infixCall.kt.after similarity index 100% rename from idea/testData/intentions/convertToForEachLoop/infixCall.kt.after rename to idea/testData/intentions/convertForEachToForLoop/infixCall.kt.after diff --git a/idea/testData/intentions/convertToForEachLoop/parenthesizedExpression.kt b/idea/testData/intentions/convertForEachToForLoop/parenthesizedExpression.kt similarity index 100% rename from idea/testData/intentions/convertToForEachLoop/parenthesizedExpression.kt rename to idea/testData/intentions/convertForEachToForLoop/parenthesizedExpression.kt diff --git a/idea/testData/intentions/convertToForEachLoop/parenthesizedExpression.kt.after b/idea/testData/intentions/convertForEachToForLoop/parenthesizedExpression.kt.after similarity index 100% rename from idea/testData/intentions/convertToForEachLoop/parenthesizedExpression.kt.after rename to idea/testData/intentions/convertForEachToForLoop/parenthesizedExpression.kt.after diff --git a/idea/testData/intentions/convertToForEachLoop/simple.kt b/idea/testData/intentions/convertForEachToForLoop/simple.kt similarity index 100% rename from idea/testData/intentions/convertToForEachLoop/simple.kt rename to idea/testData/intentions/convertForEachToForLoop/simple.kt diff --git a/idea/testData/intentions/convertToForEachLoop/simple.kt.after b/idea/testData/intentions/convertForEachToForLoop/simple.kt.after similarity index 100% rename from idea/testData/intentions/convertToForEachLoop/simple.kt.after rename to idea/testData/intentions/convertForEachToForLoop/simple.kt.after diff --git a/idea/testData/intentions/convertToForEachLoop/typeArgumentPresent.kt b/idea/testData/intentions/convertForEachToForLoop/typeArgumentPresent.kt similarity index 100% rename from idea/testData/intentions/convertToForEachLoop/typeArgumentPresent.kt rename to idea/testData/intentions/convertForEachToForLoop/typeArgumentPresent.kt diff --git a/idea/testData/intentions/convertToForEachLoop/typeArgumentPresent.kt.after b/idea/testData/intentions/convertForEachToForLoop/typeArgumentPresent.kt.after similarity index 100% rename from idea/testData/intentions/convertToForEachLoop/typeArgumentPresent.kt.after rename to idea/testData/intentions/convertForEachToForLoop/typeArgumentPresent.kt.after diff --git a/idea/testData/intentions/convertToForEachLoop/userDefined.kt b/idea/testData/intentions/convertForEachToForLoop/userDefined.kt similarity index 100% rename from idea/testData/intentions/convertToForEachLoop/userDefined.kt rename to idea/testData/intentions/convertForEachToForLoop/userDefined.kt diff --git a/idea/testData/intentions/convertToForEachLoop/zeroArguments.kt b/idea/testData/intentions/convertForEachToForLoop/zeroArguments.kt similarity index 100% rename from idea/testData/intentions/convertToForEachLoop/zeroArguments.kt rename to idea/testData/intentions/convertForEachToForLoop/zeroArguments.kt diff --git a/idea/testData/intentions/convertToForEachLoop/.intention b/idea/testData/intentions/convertToForEachLoop/.intention deleted file mode 100644 index d50e0b28305..00000000000 --- a/idea/testData/intentions/convertToForEachLoop/.intention +++ /dev/null @@ -1 +0,0 @@ -org.jetbrains.kotlin.idea.intentions.ConvertToForEachLoopIntention diff --git a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java index b048d98abe1..0d4998fb94f 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java @@ -2540,6 +2540,75 @@ public class IntentionTestGenerated extends AbstractIntentionTest { } } + @TestMetadata("idea/testData/intentions/convertForEachToForLoop") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ConvertForEachToForLoop extends AbstractIntentionTest { + public void testAllFilesPresentInConvertForEachToForLoop() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/intentions/convertForEachToForLoop"), Pattern.compile("^(.+)\\.kt$"), true); + } + + @TestMetadata("complexReceiver.kt") + public void testComplexReceiver() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/convertForEachToForLoop/complexReceiver.kt"); + doTest(fileName); + } + + @TestMetadata("explicitFunctionLiteral.kt") + public void testExplicitFunctionLiteral() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/convertForEachToForLoop/explicitFunctionLiteral.kt"); + doTest(fileName); + } + + @TestMetadata("extraArguments.kt") + public void testExtraArguments() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/convertForEachToForLoop/extraArguments.kt"); + doTest(fileName); + } + + @TestMetadata("implicitFunctionLiteralParameter.kt") + public void testImplicitFunctionLiteralParameter() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/convertForEachToForLoop/implicitFunctionLiteralParameter.kt"); + doTest(fileName); + } + + @TestMetadata("infixCall.kt") + public void testInfixCall() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/convertForEachToForLoop/infixCall.kt"); + doTest(fileName); + } + + @TestMetadata("parenthesizedExpression.kt") + public void testParenthesizedExpression() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/convertForEachToForLoop/parenthesizedExpression.kt"); + doTest(fileName); + } + + @TestMetadata("simple.kt") + public void testSimple() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/convertForEachToForLoop/simple.kt"); + doTest(fileName); + } + + @TestMetadata("typeArgumentPresent.kt") + public void testTypeArgumentPresent() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/convertForEachToForLoop/typeArgumentPresent.kt"); + doTest(fileName); + } + + @TestMetadata("userDefined.kt") + public void testUserDefined() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/convertForEachToForLoop/userDefined.kt"); + doTest(fileName); + } + + @TestMetadata("zeroArguments.kt") + public void testZeroArguments() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/convertForEachToForLoop/zeroArguments.kt"); + doTest(fileName); + } + } + @TestMetadata("idea/testData/intentions/convertFunctionToProperty") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) @@ -3533,75 +3602,6 @@ public class IntentionTestGenerated extends AbstractIntentionTest { } } - @TestMetadata("idea/testData/intentions/convertToForEachLoop") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class ConvertToForEachLoop extends AbstractIntentionTest { - public void testAllFilesPresentInConvertToForEachLoop() throws Exception { - JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/intentions/convertToForEachLoop"), Pattern.compile("^(.+)\\.kt$"), true); - } - - @TestMetadata("complexReceiver.kt") - public void testComplexReceiver() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/convertToForEachLoop/complexReceiver.kt"); - doTest(fileName); - } - - @TestMetadata("explicitFunctionLiteral.kt") - public void testExplicitFunctionLiteral() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/convertToForEachLoop/explicitFunctionLiteral.kt"); - doTest(fileName); - } - - @TestMetadata("extraArguments.kt") - public void testExtraArguments() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/convertToForEachLoop/extraArguments.kt"); - doTest(fileName); - } - - @TestMetadata("implicitFunctionLiteralParameter.kt") - public void testImplicitFunctionLiteralParameter() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/convertToForEachLoop/implicitFunctionLiteralParameter.kt"); - doTest(fileName); - } - - @TestMetadata("infixCall.kt") - public void testInfixCall() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/convertToForEachLoop/infixCall.kt"); - doTest(fileName); - } - - @TestMetadata("parenthesizedExpression.kt") - public void testParenthesizedExpression() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/convertToForEachLoop/parenthesizedExpression.kt"); - doTest(fileName); - } - - @TestMetadata("simple.kt") - public void testSimple() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/convertToForEachLoop/simple.kt"); - doTest(fileName); - } - - @TestMetadata("typeArgumentPresent.kt") - public void testTypeArgumentPresent() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/convertToForEachLoop/typeArgumentPresent.kt"); - doTest(fileName); - } - - @TestMetadata("userDefined.kt") - public void testUserDefined() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/convertToForEachLoop/userDefined.kt"); - doTest(fileName); - } - - @TestMetadata("zeroArguments.kt") - public void testZeroArguments() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/convertToForEachLoop/zeroArguments.kt"); - doTest(fileName); - } - } - @TestMetadata("idea/testData/intentions/convertToStringTemplate") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class)