New J2K: Convert Number.[type]Value() to Number.to[type]() (#2908)

New J2K: Convert Number.[type]Value() to Number.to[type]()
This commit is contained in:
Harry
2020-04-10 12:25:49 +01:00
committed by GitHub
parent cdbc272aca
commit 27827cd364
3 changed files with 27 additions and 0 deletions
@@ -235,6 +235,13 @@ class BuiltinMembersConversion(context: NewJ2kConverterContext) : RecursiveAppli
Method("java.lang.Double.parseDouble") convertTo ExtensionMethod("kotlin.text.toDouble")
withReplaceType ReplaceType.REPLACE_WITH_QUALIFIER,
Method("java.lang.Number.byteValue") convertTo Method("kotlin.Number.toByte"),
Method("java.lang.Number.doubleValue") convertTo Method("kotlin.Number.toDouble"),
Method("java.lang.Number.floatValue") convertTo Method("kotlin.Number.toFloat"),
Method("java.lang.Number.intValue") convertTo Method("kotlin.Number.toInt"),
Method("java.lang.Number.longValue") convertTo Method("kotlin.Number.toLong"),
Method("java.lang.Number.shortValue") convertTo Method("kotlin.Number.toShort"),
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")
@@ -75,4 +75,14 @@ class A {
double d4 = Double.NEGATIVE_INFINITY;
double d5 = Double.NaN;
}
void kt35593() {
Number number = 1;
byte b = number.byteValue();
double d = number.doubleValue();
float f = number.floatValue();
int i = number.intValue();
long l = number.longValue();
short s = number.shortValue();
}
}
@@ -71,4 +71,14 @@ internal class A {
val d4 = Double.NEGATIVE_INFINITY
val d5 = Double.NaN
}
fun kt35593() {
val number: Number = 1
val b = number.toByte()
val d = number.toDouble()
val f = number.toFloat()
val i = number.toInt()
val l = number.toLong()
val s = number.toShort()
}
}