From c91858d4709340ddb8d3cdeec822df292aa2f751 Mon Sep 17 00:00:00 2001 From: Toshiaki Kameyama Date: Thu, 28 Nov 2019 23:44:43 +0900 Subject: [PATCH] Convert member to extension: do not suggest for delegated properties #KT-35128 Fixed --- .../declarations/ConvertMemberToExtensionIntention.kt | 2 +- .../convertMemberToExtension/delegatedProperty.kt | 5 +++++ .../kotlin/idea/intentions/IntentionTestGenerated.java | 5 +++++ 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 idea/testData/intentions/declarations/convertMemberToExtension/delegatedProperty.kt diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/ConvertMemberToExtensionIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/ConvertMemberToExtensionIntention.kt index a4011ee863d..ec1c480d302 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/ConvertMemberToExtensionIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/ConvertMemberToExtensionIntention.kt @@ -50,7 +50,7 @@ class ConvertMemberToExtensionIntention : SelfTargetingRangeIntention if (element.hasInitializer()) return false + is KtProperty -> if (element.hasInitializer() || element.hasDelegate()) return false is KtSecondaryConstructor -> return false } diff --git a/idea/testData/intentions/declarations/convertMemberToExtension/delegatedProperty.kt b/idea/testData/intentions/declarations/convertMemberToExtension/delegatedProperty.kt new file mode 100644 index 00000000000..3032ec9b1b3 --- /dev/null +++ b/idea/testData/intentions/declarations/convertMemberToExtension/delegatedProperty.kt @@ -0,0 +1,5 @@ +// IS_APPLICABLE: false +// WITH_RUNTIME +open class XdProject { + val haha: String by lazy { "gogog" } +} \ 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 a9308ab44b8..6f50258ed22 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java @@ -8282,6 +8282,11 @@ public class IntentionTestGenerated extends AbstractIntentionTest { KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("idea/testData/intentions/declarations/convertMemberToExtension"), Pattern.compile("^([\\w\\-_]+)\\.(kt|kts)$"), null, true); } + @TestMetadata("delegatedProperty.kt") + public void testDelegatedProperty() throws Exception { + runTest("idea/testData/intentions/declarations/convertMemberToExtension/delegatedProperty.kt"); + } + @TestMetadata("explicitUnit.kt") public void testExplicitUnit() throws Exception { runTest("idea/testData/intentions/declarations/convertMemberToExtension/explicitUnit.kt");