From d40e9ffc13000841c23e8a2ee1cb1829f0f20584 Mon Sep 17 00:00:00 2001 From: Natalia Ukhorskaya Date: Thu, 17 Dec 2015 13:25:55 +0300 Subject: [PATCH] Do not convert anonymous object to lambda if its function is recursive #KT-10348 Fixed --- .../intentions/ObjectLiteralToLambdaIntention.kt | 5 +++++ .../intentions/objectLiteralToLambda/Recursive.kt | 12 ++++++++++++ .../idea/intentions/IntentionTestGenerated.java | 6 ++++++ 3 files changed, 23 insertions(+) create mode 100644 idea/testData/intentions/objectLiteralToLambda/Recursive.kt diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ObjectLiteralToLambdaIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ObjectLiteralToLambdaIntention.kt index 875502e1fc3..9b2187de3ba 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ObjectLiteralToLambdaIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ObjectLiteralToLambdaIntention.kt @@ -60,6 +60,11 @@ class ObjectLiteralToLambdaIntention : SelfTargetingRangeIntentionobject : Runnable { + override fun run() { + run() + } + }) +} \ 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 6ed5adbd5c5..1fc7787e75c 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java @@ -6189,6 +6189,12 @@ public class IntentionTestGenerated extends AbstractIntentionTest { doTest(fileName); } + @TestMetadata("Recursive.kt") + public void testRecursive() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/objectLiteralToLambda/Recursive.kt"); + doTest(fileName); + } + @TestMetadata("ReturnNoValue.kt") public void testReturnNoValue() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/objectLiteralToLambda/ReturnNoValue.kt");