From 39dfa631bfd6bdde55fe942b35b37bd3e2486adc Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Wed, 29 May 2019 13:44:33 +0300 Subject: [PATCH] New J2K: do not ignore long expressions in LiftReturnOrAssignmentInspection in post-processing --- .../idea/inspections/LiftReturnOrAssignmentInspection.kt | 5 +++-- .../jetbrains/kotlin/nj2k/postProcessing/J2kPostProcessor.kt | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/LiftReturnOrAssignmentInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/LiftReturnOrAssignmentInspection.kt index b37a399e9b3..f60f442e319 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/LiftReturnOrAssignmentInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/LiftReturnOrAssignmentInspection.kt @@ -28,12 +28,13 @@ import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.anyDescendantOfType import org.jetbrains.kotlin.psi.psiUtil.startOffset -class LiftReturnOrAssignmentInspection : AbstractKotlinInspection() { +class LiftReturnOrAssignmentInspection @JvmOverloads constructor(private val skipLongExpressions: Boolean = true) : + AbstractKotlinInspection() { override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean, session: LocalInspectionToolSession) = object : KtVisitorVoid() { private fun visitIfOrWhenOrTry(expression: KtExpression, keyword: PsiElement) { - if (expression.lineCount() > LINES_LIMIT) return + if (skipLongExpressions && expression.lineCount() > LINES_LIMIT) return if (expression.isElseIf()) return val foldableReturns = BranchedFoldingUtils.getFoldableReturns(expression) diff --git a/nj2k/nj2k-services/src/org/jetbrains/kotlin/nj2k/postProcessing/J2kPostProcessor.kt b/nj2k/nj2k-services/src/org/jetbrains/kotlin/nj2k/postProcessing/J2kPostProcessor.kt index 535c959892a..2f95c46f457 100644 --- a/nj2k/nj2k-services/src/org/jetbrains/kotlin/nj2k/postProcessing/J2kPostProcessor.kt +++ b/nj2k/nj2k-services/src/org/jetbrains/kotlin/nj2k/postProcessing/J2kPostProcessor.kt @@ -133,7 +133,7 @@ private val processings: List = listOf( intentionBasedProcessing( RemoveRedundantCallsOfConversionMethodsIntention() ), - generalInspectionBasedProcessing(LiftReturnOrAssignmentInspection()), + generalInspectionBasedProcessing(LiftReturnOrAssignmentInspection(skipLongExpressions = false)), generalInspectionBasedProcessing(MayBeConstantInspection()), intentionBasedProcessing(RemoveEmptyPrimaryConstructorIntention()), diagnosticBasedProcessing(Errors.PLATFORM_CLASS_MAPPED_TO_KOTLIN) { element: KtDotQualifiedExpression, _ ->