14 lines
391 B
Kotlin
Vendored
14 lines
391 B
Kotlin
Vendored
annotation class base
|
|
|
|
@Target(AnnotationTarget.EXPRESSION)
|
|
@Retention(AnnotationRetention.SOURCE)
|
|
annotation class special
|
|
|
|
fun transform(i: Int, tr: (Int) -> Int): Int = @base @special tr(@special i)
|
|
|
|
@base @special fun foo(i: Int): Int {
|
|
val j = @base @special i + 1
|
|
if (j == 1) return foo(@special @base 42)
|
|
return transform(@special j, @base @special { @special it * 2 })
|
|
}
|