diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertPropertyInitializerToGetterIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertPropertyInitializerToGetterIntention.kt index 2b6c829aaf2..f270e38b5d2 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertPropertyInitializerToGetterIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertPropertyInitializerToGetterIntention.kt @@ -22,6 +22,7 @@ import com.intellij.openapi.util.TextRange import com.intellij.psi.PsiElement import org.jetbrains.kotlin.diagnostics.Diagnostic import org.jetbrains.kotlin.idea.quickfix.KotlinSingleIntentionActionFactory +import org.jetbrains.kotlin.idea.util.hasJvmFieldAnnotation import org.jetbrains.kotlin.psi.KtDeclaration import org.jetbrains.kotlin.psi.KtProperty import org.jetbrains.kotlin.psi.KtPsiFactory @@ -32,7 +33,7 @@ class ConvertPropertyInitializerToGetterIntention : SelfTargetingRangeIntention< override fun applicabilityRange(element: KtProperty): TextRange? { val initializer = element.initializer - return if (initializer != null && element.getter == null && !element.isExtensionDeclaration() && !element.isLocal) + return if (initializer != null && element.getter == null && !element.isExtensionDeclaration() && !element.isLocal && !element.hasJvmFieldAnnotation()) initializer.textRange else null diff --git a/idea/testData/intentions/convertPropertyInitializerToGetter/jvmField.kt b/idea/testData/intentions/convertPropertyInitializerToGetter/jvmField.kt new file mode 100644 index 00000000000..490b604451e --- /dev/null +++ b/idea/testData/intentions/convertPropertyInitializerToGetter/jvmField.kt @@ -0,0 +1,6 @@ +// IS_APPLICABLE: false +// WITH_RUNTIME +class Test { + @JvmField + val foo = 1 +} \ 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 e1df1873854..c292f485358 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java @@ -6046,6 +6046,11 @@ public class IntentionTestGenerated extends AbstractIntentionTest { runTest("idea/testData/intentions/convertPropertyInitializerToGetter/inapplicableIfNoInitializer.kt"); } + @TestMetadata("jvmField.kt") + public void testJvmField() throws Exception { + runTest("idea/testData/intentions/convertPropertyInitializerToGetter/jvmField.kt"); + } + @TestMetadata("notInLambda.kt") public void testNotInLambda() throws Exception { runTest("idea/testData/intentions/convertPropertyInitializerToGetter/notInLambda.kt");