diff --git a/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/BuiltinMembersConversion.kt b/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/BuiltinMembersConversion.kt index d43cb38699d..babf6969970 100644 --- a/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/BuiltinMembersConversion.kt +++ b/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/BuiltinMembersConversion.kt @@ -212,6 +212,19 @@ class BuiltinMembersConversion(private val context: NewJ2kConverterContext) : Re Method("java.lang.Short.valueOf") convertTo ExtensionMethod("kotlin.Short.toShort") withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Method("java.lang.Byte.parseByte") convertTo ExtensionMethod("kotlin.text.toByte") + withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Method("java.lang.Short.parseShort") convertTo ExtensionMethod("kotlin.text.toShort") + withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Method("java.lang.Integer.parseInt") convertTo ExtensionMethod("kotlin.text.toInt") + withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Method("java.lang.Long.parseLong") convertTo ExtensionMethod("kotlin.text.toLong") + withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Method("java.lang.Float.parseFloat") convertTo ExtensionMethod("kotlin.text.toFloat") + withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Method("java.lang.Double.parseDouble") convertTo ExtensionMethod("kotlin.text.toDouble") + withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Method("java.io.PrintStream.println") convertTo Method("kotlin.io.println") withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER withFilter ::isSystemOutCall, diff --git a/nj2k/testData/newJ2k/methodCallExpression/specialBuiltinMembers.java b/nj2k/testData/newJ2k/methodCallExpression/specialBuiltinMembers.java index 50cb8fd7274..aee9778445d 100644 --- a/nj2k/testData/newJ2k/methodCallExpression/specialBuiltinMembers.java +++ b/nj2k/testData/newJ2k/methodCallExpression/specialBuiltinMembers.java @@ -40,4 +40,18 @@ class A { entry.setValue(value + 1); } } + + void kt21504() { + byte b = Byte.parseByte("1"); + short s = Short.parseShort("1"); + int i = Integer.parseInt("1"); + long l = Long.parseLong("1"); + float f = Float.parseFloat("1"); + double d = Double.parseDouble("1"); + + byte b2 = Byte.parseByte("1", 10); + short s2 = Short.parseShort("1", 10); + int i2 = Integer.parseInt("1", 10); + long l2 = Long.parseLong("1", 10); + } } diff --git a/nj2k/testData/newJ2k/methodCallExpression/specialBuiltinMembers.kt b/nj2k/testData/newJ2k/methodCallExpression/specialBuiltinMembers.kt index 9c99a2e0182..83dcf8574cb 100644 --- a/nj2k/testData/newJ2k/methodCallExpression/specialBuiltinMembers.kt +++ b/nj2k/testData/newJ2k/methodCallExpression/specialBuiltinMembers.kt @@ -34,4 +34,18 @@ internal class A { entry.setValue(value + 1) } } + + fun kt21504() { + val b = "1".toByte() + val s = "1".toShort() + val i = "1".toInt() + val l = "1".toLong() + val f = "1".toFloat() + val d = "1".toDouble() + + val b2 = "1".toByte(10) + val s2 = "1".toShort(10) + val i2 = "1".toInt(10) + val l2 = "1".toLong(10) + } } \ No newline at end of file