correctly call properties on annotation classes

#KT-1932 Fixed
This commit is contained in:
Dmitry Jemerov
2012-06-09 14:48:04 +02:00
parent f8926c8a93
commit c9125d3f59
4 changed files with 39 additions and 4 deletions
@@ -0,0 +1,24 @@
import java.lang.annotation.Retention
import java.lang.annotation.RetentionPolicy
import java.lang.annotation.Annotation
Retention(RetentionPolicy.RUNTIME) annotation class foo(val name : String)
class Test() {
foo("OK") fun hello(input : String) {
}
}
fun box(): String {
val test = Test()
for (method in javaClass<Test>().getMethods()) {
val anns = method?.getAnnotations() as Array<Annotation>
if (!anns.isEmpty()) {
for (ann in anns) {
val fooAnn = ann as foo
return fooAnn.name
}
}
}
return "fail"
}