[K/N] Add test for Annotations on type parameters and update doc
^KT-57404
This commit is contained in:
committed by
Space Team
parent
66c278ff8d
commit
1c2f34ab4e
@@ -1,4 +1,5 @@
|
||||
package test
|
||||
|
||||
annotation class AnnoClass
|
||||
annotation class AnnoConstructor
|
||||
annotation class AnnoConstructorParameter
|
||||
@@ -14,6 +15,14 @@ annotation class AnnoFunction
|
||||
annotation class AnnoFunctionParam
|
||||
annotation class AnnoFunctionExtensionReceiver
|
||||
annotation class AnnoPropertyExtensionReceiver
|
||||
|
||||
@Target(AnnotationTarget.TYPE_PARAMETER)
|
||||
annotation class AnnoFunctionTypeParameter
|
||||
@Target(AnnotationTarget.TYPE_PARAMETER)
|
||||
annotation class AnnoClassTypeParameter
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class AnnoClassUsageTypeParameter
|
||||
|
||||
@AnnoClass
|
||||
class Foo @AnnoConstructor constructor(@AnnoConstructorParameter i: Int) {
|
||||
@AnnoProperty
|
||||
@@ -36,3 +45,6 @@ class Foo @AnnoConstructor constructor(@AnnoConstructorParameter i: Int) {
|
||||
fun @receiver:AnnoFunctionExtensionReceiver Foo.extfun(@AnnoFunctionParam x: Int) {}
|
||||
@AnnoPropertyExtensionReceiver
|
||||
val Foo.extProp get() = this.prop
|
||||
|
||||
fun <@AnnoFunctionTypeParameter T> f(x : B<@AnnoClassUsageTypeParameter Int>) {}
|
||||
class B<@AnnoClassTypeParameter T>
|
||||
@@ -1,11 +1,14 @@
|
||||
annotation class AnnoBackingField constructor() : Annotation
|
||||
annotation class AnnoClass constructor() : Annotation
|
||||
@Target(allowedTargets = {AnnotationTarget.TYPE_PARAMETER}) annotation class AnnoClassTypeParameter constructor() : Annotation
|
||||
@Target(allowedTargets = {AnnotationTarget.TYPE}) annotation class AnnoClassUsageTypeParameter constructor() : Annotation
|
||||
annotation class AnnoConstructor constructor() : Annotation
|
||||
annotation class AnnoConstructorParameter constructor() : Annotation
|
||||
annotation class AnnoDelegatedField constructor() : Annotation
|
||||
annotation class AnnoFunction constructor() : Annotation
|
||||
annotation class AnnoFunctionExtensionReceiver constructor() : Annotation
|
||||
annotation class AnnoFunctionParam constructor() : Annotation
|
||||
@Target(allowedTargets = {AnnotationTarget.TYPE_PARAMETER}) annotation class AnnoFunctionTypeParameter constructor() : Annotation
|
||||
annotation class AnnoGetter constructor() : Annotation
|
||||
annotation class AnnoProperty constructor() : Annotation
|
||||
annotation class AnnoPropertyExtensionReceiver constructor() : Annotation
|
||||
@@ -13,6 +16,7 @@
|
||||
annotation class AnnoSetParam2 constructor() : Annotation
|
||||
annotation class AnnoSetter constructor() : Annotation
|
||||
annotation class AnnoSetter2 constructor() : Annotation
|
||||
class B<@AnnoClassTypeParameter T> constructor()
|
||||
@AnnoClass class Foo @AnnoConstructor constructor(@AnnoConstructorParameter i: Int) {
|
||||
@delegate:AnnoDelegatedField val immutableProp: Int
|
||||
var mutableProp: Int
|
||||
@@ -22,4 +26,5 @@
|
||||
@AnnoSetter set
|
||||
}
|
||||
@AnnoPropertyExtensionReceiver val Foo.extProp: Int
|
||||
@AnnoFunction fun @receiver:AnnoFunctionExtensionReceiver Foo.extfun(@AnnoFunctionParam x: Int)
|
||||
@AnnoFunction fun @receiver:AnnoFunctionExtensionReceiver Foo.extfun(@AnnoFunctionParam x: Int)
|
||||
fun <@AnnoFunctionTypeParameter T> f(x: B<@AnnoClassUsageTypeParameter Int>)
|
||||
Reference in New Issue
Block a user