Aligh test data with JDK 15 reflection output
This commit is contained in:
@@ -32,7 +32,7 @@ fun check(clazz: Class<*>, expected: Boolean = true) {
|
||||
assertTrue(Modifier.isStatic(method.modifiers))
|
||||
assertTrue(Modifier.isPublic(method.modifiers))
|
||||
val str = method.declaredAnnotations.single().toString()
|
||||
assertTrue("@test.Anno\\(value=\"?OK\"?\\)".toRegex().matches(str), str)
|
||||
assertTrue("@test.Anno\\((value=)?\"?OK\"?\\)".toRegex().matches(str), str)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -9,14 +9,14 @@ public class A<@Anno(1) T> {}
|
||||
|
||||
// FILE: Anno.kt
|
||||
|
||||
import kotlin.test.assertEquals
|
||||
import kotlin.test.assertTrue
|
||||
|
||||
@Target(AnnotationTarget.TYPE_PARAMETER)
|
||||
annotation class Anno(val value: Int = 0)
|
||||
|
||||
fun box(): String {
|
||||
val typeParameter = A::class.java.typeParameters.single()
|
||||
assertEquals("[@Anno(value=1)]", typeParameter.annotations.toList().toString())
|
||||
|
||||
val parametertoString = typeParameter.annotations.toList().toString()
|
||||
assertTrue("\\[@Anno\\((value=)?1\\)\\]".toRegex().matches(parametertoString), parametertoString)
|
||||
return "OK"
|
||||
}
|
||||
|
||||
@@ -14,17 +14,19 @@ public class A {
|
||||
// FILE: Anno.kt
|
||||
|
||||
import java.lang.reflect.AnnotatedParameterizedType
|
||||
import kotlin.test.assertEquals
|
||||
import kotlin.test.assertTrue
|
||||
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Anno(val value: Int = 0)
|
||||
|
||||
fun box(): String {
|
||||
val method = A::class.java.declaredMethods.single()
|
||||
assertEquals("[@Anno(value=1)]", method.annotatedReturnType.annotations.toList().toString())
|
||||
|
||||
val methodToString = method.annotatedReturnType.annotations.toList().toString()
|
||||
assertTrue("\\[@Anno\\((value=)?1\\)\\]".toRegex().matches(methodToString), methodToString)
|
||||
|
||||
val parameterType = method.parameters.single().annotatedType as AnnotatedParameterizedType
|
||||
assertEquals("[@Anno(value=2)]", parameterType.annotatedActualTypeArguments.single().annotations.toList().toString())
|
||||
val parameterToString = parameterType.annotatedActualTypeArguments.single().annotations.toList().toString()
|
||||
assertTrue("\\[@Anno\\((value=)?2\\)\\]".toRegex().matches(parameterToString), parameterToString)
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
+2
-2
@@ -23,7 +23,7 @@ class C {
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
assertTrue("\\[@Anno\\(value=void(\\.class)?\\)\\]".toRegex().matches(C::f1.annotations.toString()))
|
||||
assertTrue("\\[@Anno\\(value=(class )?java.lang.Void(\\.class)?\\)\\]".toRegex().matches(C::f2.annotations.toString()))
|
||||
assertTrue("\\[@Anno\\((value=)?void(\\.class)?\\)\\]".toRegex().matches(C::f1.annotations.toString()))
|
||||
assertTrue("\\[@Anno\\((value=)?(class )?java.lang.Void(\\.class)?\\)\\]".toRegex().matches(C::f2.annotations.toString()))
|
||||
return "OK"
|
||||
}
|
||||
|
||||
@@ -3,11 +3,12 @@
|
||||
// WITH_REFLECT
|
||||
|
||||
import kotlin.test.assertEquals
|
||||
import kotlin.test.assertTrue
|
||||
|
||||
enum class E { X, Y, Z }
|
||||
|
||||
fun box(): String {
|
||||
assertEquals(11, E::class.members.size)
|
||||
assertTrue(E::class.members.size in 11..12, "" + E::class.members.size)
|
||||
assertEquals("Y", E::name.call(E.Y))
|
||||
assertEquals(2, E::ordinal.call(E.Z))
|
||||
return "OK"
|
||||
|
||||
@@ -19,10 +19,12 @@ interface A<T, Y : B<T>> {
|
||||
fun box(): String {
|
||||
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 test.A\$DefaultImpls.p(test.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)" &&
|
||||
declaredMethod.toGenericString() != "public static <T_I1,Y extends test.B<T_I1>,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 test.A\$DefaultImpls.getZ(test.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)" &&
|
||||
declaredProperty.toGenericString() != "public static <T_I1,Y extends test.B<T_I1>,T> T test.A\$DefaultImpls.getZ(test.A<T_I1, Y>,T)") return "fail 2: ${declaredProperty.toGenericString()}"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user