From eda420642815be56997c5fe3cbc5945fcbe0657d Mon Sep 17 00:00:00 2001 From: Toshiaki Kameyama Date: Wed, 2 Oct 2019 16:26:55 +0900 Subject: [PATCH] New J2K: convert Integer.MAX_VALUE to Int.MAX_VALUE #KT-7940 Fixed --- .../conversions/BuiltinMembersConversion.kt | 37 +++++++++++++++++++ nj2k/testData/newJ2k/issues/kt-19357.kt | 2 +- .../specialBuiltinMembers.java | 21 +++++++++++ .../specialBuiltinMembers.kt | 21 +++++++++++ 4 files changed, 80 insertions(+), 1 deletion(-) diff --git a/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/BuiltinMembersConversion.kt b/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/BuiltinMembersConversion.kt index 749f9523c69..9dd26a5dad3 100644 --- a/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/BuiltinMembersConversion.kt +++ b/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/BuiltinMembersConversion.kt @@ -225,6 +225,43 @@ class BuiltinMembersConversion(context: NewJ2kConverterContext) : RecursiveAppli Method("java.lang.Double.parseDouble") convertTo ExtensionMethod("kotlin.text.toDouble") withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Field("java.lang.Byte.MIN_VALUE") convertTo Field("kotlin.Byte.Companion.MIN_VALUE") + withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Field("java.lang.Byte.MAX_VALUE") convertTo Field("kotlin.Byte.Companion.MAX_VALUE") + withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Field("java.lang.Short.MIN_VALUE") convertTo Field("kotlin.Short.Companion.MIN_VALUE") + withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Field("java.lang.Short.MAX_VALUE") convertTo Field("kotlin.Short.Companion.MAX_VALUE") + withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Field("java.lang.Integer.MIN_VALUE") convertTo Field("kotlin.Int.Companion.MIN_VALUE") + withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Field("java.lang.Integer.MAX_VALUE") convertTo Field("kotlin.Int.Companion.MAX_VALUE") + withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Field("java.lang.Long.MIN_VALUE") convertTo Field("kotlin.Long.Companion.MIN_VALUE") + withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Field("java.lang.Long.MAX_VALUE") convertTo Field("kotlin.Long.Companion.MAX_VALUE") + withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Field("java.lang.Float.MIN_VALUE") convertTo Field("kotlin.Float.Companion.MIN_VALUE") + withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Field("java.lang.Float.MAX_VALUE") convertTo Field("kotlin.Float.Companion.MAX_VALUE") + withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Field("java.lang.Float.POSITIVE_INFINITY") convertTo Field("kotlin.Float.Companion.POSITIVE_INFINITY") + withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Field("java.lang.Float.NEGATIVE_INFINITY") convertTo Field("kotlin.Float.Companion.NEGATIVE_INFINITY") + withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Field("java.lang.Float.NaN") convertTo Field("kotlin.Float.Companion.NaN") + withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Field("java.lang.Double.MIN_VALUE") convertTo Field("kotlin.Double.Companion.MIN_VALUE") + withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Field("java.lang.Double.MAX_VALUE") convertTo Field("kotlin.Double.Companion.MAX_VALUE") + withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Field("java.lang.Double.POSITIVE_INFINITY") convertTo Field("kotlin.Double.Companion.POSITIVE_INFINITY") + withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Field("java.lang.Double.NEGATIVE_INFINITY") convertTo Field("kotlin.Double.Companion.NEGATIVE_INFINITY") + withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER, + Field("java.lang.Double.NaN") convertTo Field("kotlin.Double.Companion.NaN") + 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/issues/kt-19357.kt b/nj2k/testData/newJ2k/issues/kt-19357.kt index a6cf33900e2..67fe0390e84 100644 --- a/nj2k/testData/newJ2k/issues/kt-19357.kt +++ b/nj2k/testData/newJ2k/issues/kt-19357.kt @@ -17,7 +17,7 @@ class TestPackagePrivateFieldInit { val hstart = h.start.hashCode() val hend = h.end.hashCode() val s = start.hashCode() - val e = end?.hashCode() ?: Integer.MAX_VALUE + val e = end?.hashCode() ?: Int.MAX_VALUE if (s < hend && e > hstart) { if (s <= hstart) { if (e >= hend) { diff --git a/nj2k/testData/newJ2k/methodCallExpression/specialBuiltinMembers.java b/nj2k/testData/newJ2k/methodCallExpression/specialBuiltinMembers.java index aee9778445d..11a7dfdacbe 100644 --- a/nj2k/testData/newJ2k/methodCallExpression/specialBuiltinMembers.java +++ b/nj2k/testData/newJ2k/methodCallExpression/specialBuiltinMembers.java @@ -54,4 +54,25 @@ class A { int i2 = Integer.parseInt("1", 10); long l2 = Long.parseLong("1", 10); } + + void kt7940() { + byte b1 = Byte.MIN_VALUE; + byte b2 = Byte.MAX_VALUE; + short s1 = Short.MIN_VALUE; + short s2 = Short.MAX_VALUE; + int i1 = Integer.MIN_VALUE; + int i2 = Integer.MAX_VALUE; + long l1 = Long.MIN_VALUE; + long l2 = Long.MAX_VALUE; + float f1 = Float.MIN_VALUE; + float f2 = Float.MAX_VALUE; + float f3 = Float.POSITIVE_INFINITY; + float f4 = Float.NEGATIVE_INFINITY; + float f5 = Float.NaN; + double d1 = Double.MIN_VALUE; + double d2 = Double.MAX_VALUE; + double d3 = Double.POSITIVE_INFINITY; + double d4 = Double.NEGATIVE_INFINITY; + double d5 = Double.NaN; + } } diff --git a/nj2k/testData/newJ2k/methodCallExpression/specialBuiltinMembers.kt b/nj2k/testData/newJ2k/methodCallExpression/specialBuiltinMembers.kt index 049e9a43811..9b65bcd386f 100644 --- a/nj2k/testData/newJ2k/methodCallExpression/specialBuiltinMembers.kt +++ b/nj2k/testData/newJ2k/methodCallExpression/specialBuiltinMembers.kt @@ -50,4 +50,25 @@ internal class A { val i2 = "1".toInt(10) val l2 = "1".toLong(10) } + + fun kt7940() { + val b1 = Byte.MIN_VALUE + val b2 = Byte.MAX_VALUE + val s1 = Short.MIN_VALUE + val s2 = Short.MAX_VALUE + val i1 = Int.MIN_VALUE + val i2 = Int.MAX_VALUE + val l1 = Long.MIN_VALUE + val l2 = Long.MAX_VALUE + val f1 = Float.MIN_VALUE + val f2 = Float.MAX_VALUE + val f3 = Float.POSITIVE_INFINITY + val f4 = Float.NEGATIVE_INFINITY + val f5 = Float.NaN + val d1 = Double.MIN_VALUE + val d2 = Double.MAX_VALUE + val d3 = Double.POSITIVE_INFINITY + val d4 = Double.NEGATIVE_INFINITY + val d5 = Double.NaN + } } \ No newline at end of file