diff --git a/idea/src/org/jetbrains/kotlin/idea/j2k/J2kPostProcessings.kt b/idea/src/org/jetbrains/kotlin/idea/j2k/J2kPostProcessings.kt index 425da2f80dc..2aac1eac529 100644 --- a/idea/src/org/jetbrains/kotlin/idea/j2k/J2kPostProcessings.kt +++ b/idea/src/org/jetbrains/kotlin/idea/j2k/J2kPostProcessings.kt @@ -65,6 +65,7 @@ object J2KPostProcessingRegistrar { registerIntentionBasedProcessing(ObjectLiteralToLambdaIntention()) { applyTo(it) } registerIntentionBasedProcessing(AnonymousFunctionToLambdaIntention()) { applyTo(it) } registerIntentionBasedProcessing(RemoveUnnecessaryParenthesesIntention()) { applyTo(it) } + registerIntentionBasedProcessing(SimplifyForIntention()) { applyTo(it) } registerDiagnosticBasedProcessing(Errors.USELESS_CAST) { element, diagnostic -> val expression = RemoveUselessCastFix.invoke(element) diff --git a/j2k/testData/fileOrElement/for/overMapEntries.java b/j2k/testData/fileOrElement/for/overMapEntries.java new file mode 100644 index 00000000000..6f9b5bb129f --- /dev/null +++ b/j2k/testData/fileOrElement/for/overMapEntries.java @@ -0,0 +1,16 @@ +import java.util.HashMap; +import java.util.Map; + +class Test { + public static void main(String[] args) { + Map resultMap = new HashMap(); + for (final Map.Entry entry : resultMap.entrySet()) { + String key = entry.getKey(); + String type = entry.getValue(); + + if (key.equals("myKey")) { + System.out.println(type); + } + } + } +} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/for/overMapEntries.kt b/j2k/testData/fileOrElement/for/overMapEntries.kt new file mode 100644 index 00000000000..f580cb59921 --- /dev/null +++ b/j2k/testData/fileOrElement/for/overMapEntries.kt @@ -0,0 +1,13 @@ +import java.util.HashMap + +internal object Test { + @JvmStatic fun main(args: Array) { + val resultMap = HashMap() + for ((key, type) in resultMap) { + + if (key == "myKey") { + println(type) + } + } + } +} \ No newline at end of file diff --git a/j2k/tests/org/jetbrains/kotlin/j2k/JavaToKotlinConverterForWebDemoTestGenerated.java b/j2k/tests/org/jetbrains/kotlin/j2k/JavaToKotlinConverterForWebDemoTestGenerated.java index 0fb57b0fbb8..1541a02ef11 100644 --- a/j2k/tests/org/jetbrains/kotlin/j2k/JavaToKotlinConverterForWebDemoTestGenerated.java +++ b/j2k/tests/org/jetbrains/kotlin/j2k/JavaToKotlinConverterForWebDemoTestGenerated.java @@ -2080,6 +2080,12 @@ public class JavaToKotlinConverterForWebDemoTestGenerated extends AbstractJavaTo doTest(fileName); } + @TestMetadata("overMapEntries.java") + public void testOverMapEntries() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("j2k/testData/fileOrElement/for/overMapEntries.java"); + doTest(fileName); + } + @TestMetadata("withContinue1.java") public void testWithContinue1() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("j2k/testData/fileOrElement/for/withContinue1.java"); diff --git a/j2k/tests/org/jetbrains/kotlin/j2k/JavaToKotlinConverterSingleFileTestGenerated.java b/j2k/tests/org/jetbrains/kotlin/j2k/JavaToKotlinConverterSingleFileTestGenerated.java index dd27c6a8583..6d412c8377f 100644 --- a/j2k/tests/org/jetbrains/kotlin/j2k/JavaToKotlinConverterSingleFileTestGenerated.java +++ b/j2k/tests/org/jetbrains/kotlin/j2k/JavaToKotlinConverterSingleFileTestGenerated.java @@ -2080,6 +2080,12 @@ public class JavaToKotlinConverterSingleFileTestGenerated extends AbstractJavaTo doTest(fileName); } + @TestMetadata("overMapEntries.java") + public void testOverMapEntries() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("j2k/testData/fileOrElement/for/overMapEntries.java"); + doTest(fileName); + } + @TestMetadata("withContinue1.java") public void testWithContinue1() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("j2k/testData/fileOrElement/for/withContinue1.java");