Deserialize receiver parameter annotations for extension functions

This commit is contained in:
Yan Zhulanow
2015-08-03 21:10:41 +03:00
parent 397da8746a
commit 08c678ef46
12 changed files with 184 additions and 11 deletions
@@ -0,0 +1,22 @@
package test
target(AnnotationTarget.VALUE_PARAMETER)
annotation class Ann
class A {
@receiver:Ann
fun String.myLength(@Ann q:String): Int {
return length()
}
@receiver:Ann
val String.myLength2: Int
get() = length()
@receiver:Ann
var String.myLength3: Int
get() = length()
set(v) {}
}
@@ -0,0 +1,15 @@
package test
internal final class A {
/*primary*/ public constructor A()
@receiver:test.Ann() internal final val kotlin.String.myLength2: kotlin.Int
internal final fun kotlin.String.<get-myLength2>(): kotlin.Int
@receiver:test.Ann() internal final var kotlin.String.myLength3: kotlin.Int
internal final fun kotlin.String.<get-myLength3>(): kotlin.Int
internal final fun kotlin.String.<set-myLength3>(/*0*/ v: kotlin.Int): kotlin.Unit
@receiver:test.Ann() internal final fun kotlin.String.myLength(/*0*/ test.Ann() q: kotlin.String): kotlin.Int
}
kotlin.annotation.target(allowedTargets = {AnnotationTarget.VALUE_PARAMETER}) kotlin.annotation.annotation() internal final class Ann : kotlin.Annotation {
/*primary*/ public constructor Ann()
}