Support reflection tests on Android
This commit is contained in:
+3
-2
@@ -1,5 +1,6 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// WITH_REFLECT
|
||||
package test
|
||||
|
||||
import kotlin.reflect.jvm.javaMethod
|
||||
import kotlin.test.assertEquals
|
||||
@@ -20,8 +21,8 @@ interface C : B2
|
||||
abstract class D : B1, C
|
||||
|
||||
fun box(): String {
|
||||
assertEquals("public abstract void A1.a1()", D::a1.javaMethod!!.toString())
|
||||
assertEquals("public abstract void A2.a2()", D::a2.javaMethod!!.toString())
|
||||
assertEquals("public abstract void test.A1.a1()", D::a1.javaMethod!!.toString())
|
||||
assertEquals("public abstract void test.A2.a2()", D::a2.javaMethod!!.toString())
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
+8
-7
@@ -1,6 +1,7 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JVM
|
||||
// WITH_REFLECT
|
||||
package test
|
||||
|
||||
import kotlin.reflect.KCallable
|
||||
import kotlin.reflect.jvm.*
|
||||
@@ -33,26 +34,26 @@ fun KCallable<*>.getJavaTypesOfParams() = parameters.map { it.type.javaType }.to
|
||||
fun KCallable<*>.getJavaTypeOfResult() = returnType.javaType.toString()
|
||||
|
||||
fun box(): String {
|
||||
assertEquals("[class Z1]", Z1.publicXRef.getJavaTypesOfParams())
|
||||
assertEquals("int", Z1.publicXRef.getJavaTypeOfResult())
|
||||
assertEquals("[class test.Z1]", Z1.publicXRef.getJavaTypesOfParams())
|
||||
assertEquals("int", Z1.publicXRef.getJavaTypeOfResult())
|
||||
|
||||
assertEquals("[]", Z1.publicXBoundRef.getJavaTypesOfParams())
|
||||
assertEquals("int", Z1.publicXBoundRef.getJavaTypeOfResult())
|
||||
|
||||
assertEquals("[class Z2]", Z2.internalXRef.getJavaTypesOfParams())
|
||||
assertEquals("int", Z2.internalXRef.getJavaTypeOfResult())
|
||||
assertEquals("[class test.Z2]", Z2.internalXRef.getJavaTypesOfParams())
|
||||
assertEquals("int", Z2.internalXRef.getJavaTypeOfResult())
|
||||
|
||||
assertEquals("[]", Z2.internalXBoundRef.getJavaTypesOfParams())
|
||||
assertEquals("int", Z2.internalXBoundRef.getJavaTypeOfResult())
|
||||
|
||||
assertEquals("[class Z3]", Z3.privateXRef.getJavaTypesOfParams())
|
||||
assertEquals("int", Z3.privateXRef.getJavaTypeOfResult())
|
||||
assertEquals("[class test.Z3]", Z3.privateXRef.getJavaTypesOfParams())
|
||||
assertEquals("int", Z3.privateXRef.getJavaTypeOfResult())
|
||||
|
||||
assertEquals("[]", Z3.privateXBoundRef.getJavaTypesOfParams())
|
||||
assertEquals("int", Z3.privateXBoundRef.getJavaTypeOfResult())
|
||||
|
||||
|
||||
assertEquals("[class ZZ]", ZZ::x.getJavaTypesOfParams())
|
||||
assertEquals("[class test.ZZ]", ZZ::x.getJavaTypesOfParams())
|
||||
|
||||
// KT-28170
|
||||
assertEquals("int", ZZ::x.getJavaTypeOfResult())
|
||||
|
||||
Reference in New Issue
Block a user