diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertPropertyToFunctionIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertPropertyToFunctionIntention.kt index 725a03fde38..f4cef3242f0 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertPropertyToFunctionIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertPropertyToFunctionIntention.kt @@ -191,7 +191,7 @@ class ConvertPropertyToFunctionIntention : SelfTargetingIntention(Kt override fun isApplicableTo(element: KtProperty, caretOffset: Int): Boolean { val identifier = element.nameIdentifier ?: return false if (!identifier.textRange.containsOffset(caretOffset)) return false - return element.delegate == null && !element.isVar && !element.isLocal + return element.delegate == null && !element.isVar && !element.isLocal && (element.initializer == null || element.getter == null) } override fun applyTo(element: KtProperty, editor: Editor?) { diff --git a/idea/testData/intentions/convertPropertyToFunction/initializerWithGetter.kt b/idea/testData/intentions/convertPropertyToFunction/initializerWithGetter.kt new file mode 100644 index 00000000000..332413ff706 --- /dev/null +++ b/idea/testData/intentions/convertPropertyToFunction/initializerWithGetter.kt @@ -0,0 +1,5 @@ +// IS_APPLICABLE: false +val foo = 1 + get() { + return field + } \ 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 b02d4f77647..b4af64e0631 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java @@ -6147,6 +6147,12 @@ public class IntentionTestGenerated extends AbstractIntentionTest { doTest(fileName); } + @TestMetadata("initializerWithGetter.kt") + public void testInitializerWithGetter() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/convertPropertyToFunction/initializerWithGetter.kt"); + doTest(fileName); + } + @TestMetadata("javaUsageAsField.kt") public void testJavaUsageAsField() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/convertPropertyToFunction/javaUsageAsField.kt");