Move java 8+defaults tests to separate folder

This commit is contained in:
Mikhael Bogdanov
2017-01-12 16:11:30 +01:00
parent 0a363fd1a5
commit d278a5c6d5
19 changed files with 121 additions and 112 deletions
@@ -0,0 +1,22 @@
// JVM_TARGET: 1.8
// KOTLIN_CONFIGURATION_FLAGS: +JVM.JVM8_TARGET_WITH_DEFAULTS
// WITH_REFLECT
annotation class Property(val value: String)
annotation class Accessor(val value: String)
interface Z {
@Property("OK")
val z: String;
@Accessor("OK")
get() = "OK"
}
class Test : Z
fun box() : String {
val value = (Z::z.annotations.single() as Property).value
if (value != "OK") return value
return (Z::z.getter.annotations.single() as Accessor).value
}
@@ -0,0 +1,24 @@
// JVM_TARGET: 1.8
// KOTLIN_CONFIGURATION_FLAGS: +JVM.JVM8_TARGET_WITH_DEFAULTS, +JVM.INTERFACE_COMPATIBILITY
// WITH_REFLECT
annotation class Property(val value: String)
annotation class Accessor(val value: String)
interface Z {
@Property("OK")
val z: String;
@Accessor("OK")
get() = "OK"
}
class Test : Z
fun box() : String {
val value = (Z::z.annotations.single() as Property).value
if (value != "OK") return value
val forName = Class.forName("Z\$DefaultImpls")
val annotation = forName.getDeclaredMethod("z\$annotations").getAnnotation(Property::class.java)
return annotation.value
}