From 7e45bd374cd0d3e166a00b78b2039564cc932f16 Mon Sep 17 00:00:00 2001 From: Alexey Belkov Date: Mon, 25 Mar 2024 14:02:34 +0400 Subject: [PATCH] [kotlin] J2K: Document some JK tree conversions GitOrigin-RevId: 82436d73ee980a5d04e4da077199d65f104c6477 --- .../kotlin/nj2k/conversions/JavaStatementConversion.kt | 9 +++++++++ .../SimplifyNegatedBinaryExpressionConversion.kt | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/plugins/kotlin/j2k/shared/src/org/jetbrains/kotlin/nj2k/conversions/JavaStatementConversion.kt b/plugins/kotlin/j2k/shared/src/org/jetbrains/kotlin/nj2k/conversions/JavaStatementConversion.kt index cbd09c6448ea..1ec26831b2a0 100644 --- a/plugins/kotlin/j2k/shared/src/org/jetbrains/kotlin/nj2k/conversions/JavaStatementConversion.kt +++ b/plugins/kotlin/j2k/shared/src/org/jetbrains/kotlin/nj2k/conversions/JavaStatementConversion.kt @@ -8,6 +8,15 @@ import org.jetbrains.kotlin.nj2k.tree.* import org.jetbrains.kotlin.nj2k.types.* import org.jetbrains.kotlin.utils.addToStdlib.safeAs +/** + * Converts Java-specific statements to Kotlin statements: + * * `assert` statement + * * `synchronized` statement + * * Try-with-resources or `try` with multiple `catch` blocks + * * A so-called "guard clause" of the form + * `if (param == null) throw new IllegalArgumentException("error message")` to a more idiomatic Kotlin + * `requireNotNull` call (disabled in basic mode) + */ class JavaStatementConversion(context: NewJ2kConverterContext) : RecursiveConversion(context) { context(KtAnalysisSession) override fun applyToElement(element: JKTreeElement): JKTreeElement { diff --git a/plugins/kotlin/j2k/shared/src/org/jetbrains/kotlin/nj2k/conversions/SimplifyNegatedBinaryExpressionConversion.kt b/plugins/kotlin/j2k/shared/src/org/jetbrains/kotlin/nj2k/conversions/SimplifyNegatedBinaryExpressionConversion.kt index 69074887579b..9200bd5f2bd1 100644 --- a/plugins/kotlin/j2k/shared/src/org/jetbrains/kotlin/nj2k/conversions/SimplifyNegatedBinaryExpressionConversion.kt +++ b/plugins/kotlin/j2k/shared/src/org/jetbrains/kotlin/nj2k/conversions/SimplifyNegatedBinaryExpressionConversion.kt @@ -10,6 +10,12 @@ import org.jetbrains.kotlin.nj2k.tree.* import org.jetbrains.kotlin.nj2k.types.asPrimitiveType import org.jetbrains.kotlin.nj2k.types.isFloatingPoint +/** + * A code style conversion (disabled in basic mode) that simplifies negated binary expressions + * of the form `!(a > b)` -> `a <= b`. + * + * This is a J2K equivalent of `SimplifyNegatedBinaryExpressionInspection`. + */ class SimplifyNegatedBinaryExpressionConversion(context: NewJ2kConverterContext) : RecursiveConversion(context) { override fun isEnabledInBasicMode(): Boolean = false