diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertToExpressionBodyIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertToExpressionBodyIntention.kt index eb433dda738..34def459137 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertToExpressionBodyIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertToExpressionBodyIntention.kt @@ -31,7 +31,9 @@ import org.jetbrains.kotlin.psi.psiUtil.startOffset import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.utils.addToStdlib.check -class ConvertToExpressionBodyIntention : SelfTargetingOffsetIndependentIntention( +class ConvertToExpressionBodyIntention( + val convertEmptyToUnit: Boolean = true +) : SelfTargetingOffsetIndependentIntention( KtDeclarationWithBody::class.java, "Convert to expression body" ) { override fun isApplicableTo(element: KtDeclarationWithBody): Boolean { @@ -98,7 +100,7 @@ class ConvertToExpressionBodyIntention : SelfTargetingOffsetIndependentIntention private fun calcValue(declaration: KtDeclarationWithBody): KtExpression? { val body = declaration.blockExpression() ?: return null - return calcValue(body, emptyAllowed = declaration !is KtConstructor<*>) + return calcValue(body, emptyAllowed = declaration !is KtConstructor<*> && convertEmptyToUnit) } private fun calcValue(body: KtBlockExpression, emptyAllowed: Boolean = true): KtExpression? { diff --git a/idea/src/org/jetbrains/kotlin/idea/j2k/J2kPostProcessings.kt b/idea/src/org/jetbrains/kotlin/idea/j2k/J2kPostProcessings.kt index ab307fa28c0..d6ce1613fce 100644 --- a/idea/src/org/jetbrains/kotlin/idea/j2k/J2kPostProcessings.kt +++ b/idea/src/org/jetbrains/kotlin/idea/j2k/J2kPostProcessings.kt @@ -58,7 +58,7 @@ object J2KPostProcessingRegistrar { _processings.add(RemoveRedundantSamAdaptersProcessing()) _processings.add(RemoveRedundantCastToNullableProcessing()) - registerIntentionBasedProcessing(ConvertToExpressionBodyIntention()) { it is KtPropertyAccessor } + registerIntentionBasedProcessing(ConvertToExpressionBodyIntention(convertEmptyToUnit = false)) { it is KtPropertyAccessor } registerIntentionBasedProcessing(IfThenToSafeAccessIntention()) registerIntentionBasedProcessing(IfThenToElvisIntention()) registerIntentionBasedProcessing(IfNullToElvisIntention())