K2 Scripting: wrap script statements into blocks
(reuse anonymous initializers as block wrappers) so the top-level script elements are all declarations now. Rename the property accordingly ( together with the previous commit). It makes script more similar to the class and thus simplify e.g. control flow analysis and resolve code.
This commit is contained in:
committed by
Space Team
parent
c9aee5bf09
commit
eeb723eb01
@@ -37,28 +37,43 @@ FILE: script.kts
|
||||
^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|<local>/A| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public? final? fun doo(): R|kotlin/Unit| {
|
||||
init {
|
||||
build#(<L> = build@fun <implicit>.<anonymous>(): <implicit> <inline=Unknown> {
|
||||
version# = String(123)
|
||||
local final? class A : R|kotlin/Any| {
|
||||
public? [ContainingClassKey=A] constructor(): R|<local>/A| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public? final? fun doo(): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
execute#()
|
||||
}
|
||||
|
||||
execute#()
|
||||
)
|
||||
}
|
||||
)
|
||||
+=(version#, IntegerLiteral(123))
|
||||
|
||||
init {
|
||||
+=(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#()
|
||||
init {
|
||||
println#()
|
||||
}
|
||||
|
||||
init {
|
||||
builder#.version# = String()
|
||||
}
|
||||
|
||||
init {
|
||||
builder#.execute#()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user