Commit 2c68aaa6 authored by Abduqodiri Qurbonzoda's avatar Abduqodiri Qurbonzoda Committed by intellij-monorepo-bot
Browse files

[J2K] Implement ApiVersion check in BuiltinMembersConversion.kt

(cherry picked from commit 57ea9ffe96ca3de13eed6f5b0100e5534e27a6d0)

IJ-CR-11665

GitOrigin-RevId: 80a811d7964eee085a481443c85716eda61c7a4a
parent 5028fd60
Showing with 7 additions and 0 deletions
+7 -0
......@@ -3,6 +3,7 @@
package org.jetbrains.kotlin.nj2k.conversions
import org.jetbrains.kotlin.builtins.StandardNames
import org.jetbrains.kotlin.config.ApiVersion
import org.jetbrains.kotlin.nj2k.*
import org.jetbrains.kotlin.nj2k.symbols.JKMethodSymbol
import org.jetbrains.kotlin.nj2k.symbols.JKUnresolvedField
......@@ -79,6 +80,8 @@ class BuiltinMembersConversion(context: NewJ2kConverterContext) : RecursiveAppli
true
}
else -> null
}?.takeIf { conversion ->
conversion.sinceKotlin?.let { it <= moduleApiVersion } ?: true
}
......@@ -188,6 +191,7 @@ class BuiltinMembersConversion(context: NewJ2kConverterContext) : RecursiveAppli
private data class Conversion(
val from: SymbolInfo,
val to: Info,
val sinceKotlin: ApiVersion? = null,
val replaceType: ReplaceType = ReplaceType.REPLACE_SELECTOR,
val filter: ((JKExpression) -> Boolean)? = null,
val byArgumentsFilter: ((List<JKExpression>) -> Boolean)? = null,
......@@ -198,6 +202,9 @@ class BuiltinMembersConversion(context: NewJ2kConverterContext) : RecursiveAppli
private infix fun SymbolInfo.convertTo(to: Info) =
Conversion(this, to)
private infix fun Conversion.sinceKotlin(apiVersion: ApiVersion) =
copy(sinceKotlin = apiVersion)
private infix fun Conversion.withReplaceType(replaceType: ReplaceType) =
copy(replaceType = replaceType)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment