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 {
|
||||
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?) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@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");
|
||||
|
||||
Reference in New Issue
Block a user