Convert Function to Property: Forbid for properties with both initializer and getter
#KT-23293 Fixed
This commit is contained in:
@@ -191,7 +191,7 @@ class ConvertPropertyToFunctionIntention : SelfTargetingIntention<KtProperty>(Kt
|
|||||||
override fun isApplicableTo(element: KtProperty, caretOffset: Int): Boolean {
|
override fun isApplicableTo(element: KtProperty, caretOffset: Int): Boolean {
|
||||||
val identifier = element.nameIdentifier ?: return false
|
val identifier = element.nameIdentifier ?: return false
|
||||||
if (!identifier.textRange.containsOffset(caretOffset)) 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?) {
|
override fun applyTo(element: KtProperty, editor: Editor?) {
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
// IS_APPLICABLE: false
|
||||||
|
val <caret>foo = 1
|
||||||
|
get() {
|
||||||
|
return field
|
||||||
|
}
|
||||||
@@ -6147,6 +6147,12 @@ public class IntentionTestGenerated extends AbstractIntentionTest {
|
|||||||
doTest(fileName);
|
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")
|
@TestMetadata("javaUsageAsField.kt")
|
||||||
public void testJavaUsageAsField() throws Exception {
|
public void testJavaUsageAsField() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/convertPropertyToFunction/javaUsageAsField.kt");
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/convertPropertyToFunction/javaUsageAsField.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user