Fix mapping of platform inline class types

For the inline class:
 ```
 inline class IC(val x: Int)
 ```

 Type (IC..IC?) should be mapped to the wrapper `IC`
 because it can hold object and also because it does so for primitives

 #KT-28983 Fixed
This commit is contained in:
Mikhail Zarechenskiy
2018-12-23 20:24:22 +03:00
parent 7c9ca99388
commit e509649132
6 changed files with 85 additions and 1 deletions
+19
View File
@@ -0,0 +1,19 @@
// WITH_REFLECT
// TARGET_BACKEND: JVM
// IGNORE_BACKEND: JVM_IR
import java.util.concurrent.atomic.AtomicReference
import java.util.Arrays
fun box(): String {
val a0 = AtomicReference(0.toUByte()).get().javaClass
val a1 = AtomicReference(0u).get().javaClass
val b = Arrays.asList(42u).first().javaClass
if (a0.toString() != "class kotlin.UByte") return "Fail 1"
if (a1.toString() != "class kotlin.UInt") return "Fail 2"
if (b.toString() != "class kotlin.UInt") return "Fail 3"
return "OK"
}