Put @receiver-targeted annotations on receiver type

This commit is contained in:
Yan Zhulanow
2015-08-05 18:17:53 +03:00
parent 91626cf02e
commit 4ead50352d
8 changed files with 66 additions and 67 deletions
@@ -1,3 +1,4 @@
//ALLOW_AST_ACCESS
package test
target(AnnotationTarget.VALUE_PARAMETER)
@@ -5,17 +6,14 @@ annotation class Ann
class A {
@receiver:Ann
fun String.myLength(@Ann q:String): Int {
fun @receiver:Ann String.myLength(@Ann q:String): Int {
return length()
}
@receiver:Ann
val String.myLength2: Int
val @receiver:Ann String.myLength2: Int
get() = length()
@receiver:Ann
var String.myLength3: Int
var @receiver:[Ann] String.myLength3: Int
get() = length()
set(v) {}
@@ -2,12 +2,12 @@ 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
internal final val @receiver:test.Ann() kotlin.String.myLength2: kotlin.Int
internal final fun @receiver:test.Ann() kotlin.String.<get-myLength2>(): kotlin.Int
internal final var @receiver:test.Ann() kotlin.String.myLength3: kotlin.Int
internal final fun @receiver:test.Ann() kotlin.String.<get-myLength3>(): kotlin.Int
internal final fun @receiver:test.Ann() kotlin.String.<set-myLength3>(/*0*/ v: kotlin.Int): kotlin.Unit
internal final fun @receiver:test.Ann() 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 {