Support reflection tests on Android

This commit is contained in:
Mikhael Bogdanov
2019-01-22 17:48:45 +01:00
parent 91980c5293
commit f2a51d3b80
49 changed files with 235 additions and 174 deletions
@@ -2,6 +2,7 @@
// TARGET_BACKEND: JVM
// WITH_REFLECT
package test
class B<M>
@@ -17,12 +18,12 @@ interface A<T, Y : B<T>> {
fun box(): String {
val defaultImpls = Class.forName("A\$DefaultImpls")
val defaultImpls = Class.forName("test.A\$DefaultImpls")
val declaredMethod = defaultImpls.getDeclaredMethod("p", A::class.java, Any::class.java)
if (declaredMethod.toGenericString() != "public static <T_I1,Y,T,L> T A\$DefaultImpls.p(A<T_I1, Y>,T)") return "fail 1: ${declaredMethod.toGenericString()}"
if (declaredMethod.toGenericString() != "public static <T_I1,Y,T,L> T test.A\$DefaultImpls.p(test.A<T_I1, Y>,T)") return "fail 1: ${declaredMethod.toGenericString()}"
val declaredProperty = defaultImpls.getDeclaredMethod("getZ", A::class.java, Any::class.java)
if (declaredProperty.toGenericString() != "public static <T_I1,Y,T> T A\$DefaultImpls.getZ(A<T_I1, Y>,T)") return "fail 2: ${declaredProperty.toGenericString()}"
if (declaredProperty.toGenericString() != "public static <T_I1,Y,T> T test.A\$DefaultImpls.getZ(test.A<T_I1, Y>,T)") return "fail 2: ${declaredProperty.toGenericString()}"
return "OK"
}