Create empty method for annotated properties w/o fields
There was no place in bytecode where annotations on properties without backing
fields could be stored to. Now they're written on a synthetic empty void method
with a special name ("propertyName$annotations").
(Annotations on properties cannot simply be written on getters in bytecode,
since a getter can have annotations of its own.)
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
import java.lang.annotation.*
|
||||
|
||||
Retention(RetentionPolicy.RUNTIME) annotation class SomeAnnotation(val value: String)
|
||||
|
||||
class A {
|
||||
[SomeAnnotation("OK")] val property: Int
|
||||
get() = 42
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
import java.lang.annotation.*
|
||||
|
||||
Retention(RetentionPolicy.RUNTIME) annotation class SomeAnnotation(val value: String)
|
||||
|
||||
[SomeAnnotation("OK")] val property: Int
|
||||
get() = 42
|
||||
Reference in New Issue
Block a user