Put @receiver-targeted annotations on receiver type
This commit is contained in:
+3
-1
@@ -1,5 +1,7 @@
|
||||
//ALLOW_AST_ACCESS
|
||||
package test
|
||||
|
||||
target(AnnotationTarget.TYPE)
|
||||
annotation class A
|
||||
|
||||
fun (@A String).foo() {}
|
||||
fun @A String.foo() {}
|
||||
|
||||
+1
-1
@@ -2,6 +2,6 @@ package test
|
||||
|
||||
internal fun @[test.A()] kotlin.String.foo(): kotlin.Unit
|
||||
|
||||
kotlin.annotation.annotation() internal final class A : kotlin.Annotation {
|
||||
kotlin.annotation.target(allowedTargets = {AnnotationTarget.TYPE}) kotlin.annotation.annotation() internal final class A : kotlin.Annotation {
|
||||
/*primary*/ public constructor A()
|
||||
}
|
||||
|
||||
+4
-6
@@ -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) {}
|
||||
|
||||
|
||||
+6
-6
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user