[FIR] add RawFirBuilder test for script
^KT-60728 ^KT-60519
This commit is contained in:
committed by
Space Team
parent
2c932c9e1d
commit
a2dc6ca8f2
@@ -0,0 +1,36 @@
|
||||
class Builder {
|
||||
var version: String = ""
|
||||
|
||||
fun execute() {
|
||||
println(version)
|
||||
}
|
||||
|
||||
class Nested {
|
||||
fun foo() {}
|
||||
fun boo() {}
|
||||
}
|
||||
}
|
||||
|
||||
fun build(action: Builder.() -> Unit) = Builder().apply(action)
|
||||
fun build2(action: Builder.() -> Unit): Builder = Builder().apply(action)
|
||||
|
||||
build {
|
||||
version = "123"
|
||||
class A {
|
||||
fun doo() {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
execute()
|
||||
}
|
||||
|
||||
version += 123
|
||||
|
||||
val builder = build {
|
||||
version = "321"
|
||||
}
|
||||
|
||||
println()
|
||||
builder.version = ""
|
||||
builder.execute()
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
FILE: script.kts
|
||||
SCRIPT:
|
||||
|
||||
public? final? class Builder : R|kotlin/Any| {
|
||||
public? constructor(): R|Builder| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? var version: String = LAZY_EXPRESSION
|
||||
public? get(): String
|
||||
public? set(value: String): R|kotlin/Unit|
|
||||
|
||||
public? final? fun execute(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
public? final? class Nested : R|kotlin/Any| {
|
||||
public? constructor(): R|Builder.Nested| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
public? final? fun boo(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public? final? fun build(action: ( Builder.() -> Unit )): <implicit> { LAZY_BLOCK }
|
||||
|
||||
public? final? fun build2(action: ( Builder.() -> Unit )): Builder { LAZY_BLOCK }
|
||||
|
||||
build#(<L> = LAZY_EXPRESSION)
|
||||
+=(version#, IntegerLiteral(123))
|
||||
public? final? val builder: <implicit> = LAZY_EXPRESSION
|
||||
public? get(): <implicit>
|
||||
|
||||
println#()
|
||||
builder#.version# = String()
|
||||
builder#.execute#()
|
||||
@@ -0,0 +1,64 @@
|
||||
FILE: script.kts
|
||||
SCRIPT:
|
||||
|
||||
public? final? class Builder : R|kotlin/Any| {
|
||||
public? [ContainingClassKey=Builder] constructor(): R|Builder| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public? final? var version: String = String()
|
||||
public? [ContainingClassKey=Builder] get(): String
|
||||
public? [ContainingClassKey=Builder] set(value: String): R|kotlin/Unit|
|
||||
|
||||
public? final? fun execute(): R|kotlin/Unit| {
|
||||
println#(version#)
|
||||
}
|
||||
|
||||
public? final? class Nested : R|kotlin/Any| {
|
||||
public? [ContainingClassKey=Nested] constructor(): R|Builder.Nested| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public? final? fun foo(): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
public? final? fun boo(): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public? final? fun build(action: ( Builder.() -> Unit )): <implicit> {
|
||||
^build Builder#().apply#(action#)
|
||||
}
|
||||
|
||||
public? final? fun build2(action: ( Builder.() -> Unit )): Builder {
|
||||
^build2 Builder#().apply#(action#)
|
||||
}
|
||||
|
||||
build#(<L> = build@fun <implicit>.<anonymous>(): <implicit> <inline=Unknown> {
|
||||
version# = String(123)
|
||||
local final? class A : R|kotlin/Any| {
|
||||
public? [ContainingClassKey=A] constructor(): R|A| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public? final? fun doo(): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
execute#()
|
||||
}
|
||||
)
|
||||
+=(version#, IntegerLiteral(123))
|
||||
public? final? val builder: <implicit> = build#(<L> = build@fun <implicit>.<anonymous>(): <implicit> <inline=Unknown> {
|
||||
version# = String(321)
|
||||
}
|
||||
)
|
||||
public? get(): <implicit>
|
||||
|
||||
println#()
|
||||
builder#.version# = String()
|
||||
builder#.execute#()
|
||||
Reference in New Issue
Block a user