[K2/N] KT-55464, KT-56091 Fix various klib annotations, including critical ones

Merge-request: KT-MR-8457
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
This commit is contained in:
Vladimir Sukharev
2023-01-26 11:15:15 +00:00
committed by Space Team
parent 53967a1822
commit 1990883bdc
19 changed files with 394 additions and 19 deletions
@@ -0,0 +1,38 @@
package test
annotation class AnnoClass
annotation class AnnoConstructor
annotation class AnnoConstructorParameter
annotation class AnnoProperty
annotation class AnnoSetParam
annotation class AnnoSetParam2
annotation class AnnoBackingField
annotation class AnnoGetter
annotation class AnnoSetter
annotation class AnnoSetter2
annotation class AnnoDelegatedField
annotation class AnnoFunction
annotation class AnnoFunctionParam
annotation class AnnoFunctionExtensionReceiver
annotation class AnnoPropertyExtensionReceiver
@AnnoClass
class Foo @AnnoConstructor constructor(@AnnoConstructorParameter i: Int) {
@AnnoProperty
@setparam:AnnoSetParam
@field:AnnoBackingField
var prop: Int = i
@AnnoGetter
get() = field + 1
@AnnoSetter
set(x: Int) { field = x*2 }
@set:AnnoSetter2
var mutableProp = 0
set(@AnnoSetParam2 x: Int) { field = x*2 }
@delegate:AnnoDelegatedField
val immutableProp by lazy { prop }
}
@AnnoFunction
fun @receiver:AnnoFunctionExtensionReceiver Foo.extfun(@AnnoFunctionParam x: Int) {}
@AnnoPropertyExtensionReceiver
val Foo.extProp get() = this.prop