add test for generating annotations on the setter of a delegated property; (KT-4169); properly generate backing field for delegated property with a setter

This commit is contained in:
Dmitry Jemerov
2015-03-04 15:05:07 +01:00
committed by Andrey Breslav
parent b4eb3e0f43
commit c029fa2ed0
3 changed files with 37 additions and 4 deletions
@@ -0,0 +1,27 @@
import java.lang.annotation.*
Retention(RetentionPolicy.RUNTIME)
annotation class First
class MyClass() {
public var x: String by Delegate()
[First] set
}
class Delegate {
fun get(t: Any?, p: PropertyMetadata): String {
return "OK"
}
fun set(t: Any?, p: PropertyMetadata, i: String) {}
}
fun box(): String {
val e = javaClass<MyClass>()
val e1 = e.getDeclaredMethod("setX", javaClass<String>()).getAnnotations()
if (e1.size() != 1) return "Fail E1 size: ${e1.toList()}"
if (e1[0].annotationType() != javaClass<First>()) return "Fail: ${e1.toList()}"
return MyClass().x
}