Deserialize annotations on class properties w/o fields

Annotations on properties without backing fields are stored on a special
synthesized method inside the class
This commit is contained in:
Alexander Udalov
2013-07-11 23:03:05 +04:00
parent c853c9be03
commit 87d4e35388
14 changed files with 336 additions and 59 deletions
@@ -0,0 +1,7 @@
package test
annotation class Anno
class Class {
[Anno] var property: Int = 42
}
@@ -0,0 +1,12 @@
package test
internal final annotation class Anno : jet.Annotation {
/*primary*/ public constructor Anno()
}
internal final class Class {
/*primary*/ public constructor Class()
test.Anno() internal final var property: jet.Int
internal final fun <get-property>(): jet.Int
internal final fun <set-property>(/*0*/ <set-?>: jet.Int): jet.Unit
}
@@ -0,0 +1,8 @@
package test
annotation class Anno
class Class {
[Anno] val property: Int
get() = 42
}
@@ -0,0 +1,11 @@
package test
internal final annotation class Anno : jet.Annotation {
/*primary*/ public constructor Anno()
}
internal final class Class {
/*primary*/ public constructor Class()
test.Anno() internal final val property: jet.Int
internal final fun <get-property>(): jet.Int
}