blob: 9c5531979075fb66018651ecf5a2ab76832d7ff2 [file]
// RESOLVE_SCRIPT
class Builder {
var version: String = ""
@Anno(En.Entry)
fun execute() {
println(version)
}
}
enum class En {
Entry
}
@Target(AnnotationTarget.EXPRESSION, AnnotationTarget.FUNCTION)
@Retention(AnnotationRetention.SOURCE)
annotation class Anno(val s: En)
@Anno(En.Entry)
fun build(action: Builder.() -> Unit) = Builder().apply(action)
@Anno(En.Entry)
build {
version = "123"
class A {
@Anno(En.Entry)
fun doo(i: Int) {
}
}
execute()
}
val builder = build {
version = "321"
}
@Anno(En.Entry)
builder.execute()
builder.version = ""