[LL FIR] make script initializers independent

Now we can resolve all script declarations independently

^KT-65344 Fixed
This commit is contained in:
Dmitrii Gridin
2024-02-05 15:57:24 +01:00
committed by Space Team
parent d59b8b3244
commit 58ad26ee5b
26 changed files with 535 additions and 362 deletions
@@ -8,8 +8,8 @@ R|/builder|.R|/Builder.version| = String()
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] assignmentStatement.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-assignmentStatement.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
SCRIPT: [ResolvedTo(TYPES)] <script-assignmentStatement.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public open [ResolvedTo(STATUS)] class Builder : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Builder] constructor(): R|Builder| {
@@ -20,9 +20,7 @@ FILE: [ResolvedTo(IMPORTS)] assignmentStatement.kts
public [ResolvedTo(CONTRACTS)] [ContainingClassKey=Builder] get(): R|kotlin/String|
public [ResolvedTo(CONTRACTS)] [ContainingClassKey=Builder] set([ResolvedTo(CONTRACTS)] value: R|kotlin/String|): R|kotlin/Unit|
public final [ResolvedTo(CONTRACTS)] fun execute(): R|kotlin/Unit| {
println#(version#)
}
public final [ResolvedTo(STATUS)] fun execute(): R|kotlin/Unit| { LAZY_BLOCK }
public final? [ResolvedTo(RAW_FIR)] class NestedBuilder : Builder {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedBuilder] constructor(): R|Builder.NestedBuilder| {
@@ -37,33 +35,15 @@ FILE: [ResolvedTo(IMPORTS)] assignmentStatement.kts
^build R|/Builder.Builder|().R|kotlin/apply|<R|Builder|>(R|<local>/action|)
}
[ResolvedTo(BODY_RESOLVE)] init {
R|/build|(<L> = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=@ExtensionFunctionType kotlin/Function1<Builder, kotlin/Unit>] build@fun R|Builder|.<anonymous>(): R|kotlin/Unit| <inline=NoInline> {
this@R|special/anonymous|.R|/Builder.version| = String(123)
local final [ResolvedTo(BODY_RESOLVE)] class A : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor(): R|<local>/A| {
super<R|kotlin/Any|>()
}
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
public final [ResolvedTo(BODY_RESOLVE)] fun doo(): R|kotlin/Unit| {
}
}
this@R|special/anonymous|.R|/Builder.execute|()
}
)
}
public final [ResolvedTo(BODY_RESOLVE)] val builder: R|Builder| = R|/build|(<L> = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=@ExtensionFunctionType kotlin/Function1<Builder, kotlin/Unit>] build@fun R|Builder|.<anonymous>(): R|kotlin/Unit| <inline=NoInline> {
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val builder: R|Builder| = R|/build|(<L> = [ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=@ExtensionFunctionType kotlin/Function1<Builder, kotlin/Unit>] build@fun R|Builder|.<anonymous>(): R|kotlin/Unit| <inline=NoInline> {
this@R|special/anonymous|.R|/Builder.version| = String(321)
}
)
public [ResolvedTo(BODY_RESOLVE)] get(): R|Builder|
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|Builder|
[ResolvedTo(BODY_RESOLVE)] init {
R|/builder|.R|/Builder.execute|()
}
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
[ResolvedTo(BODY_RESOLVE)] init {
R|/builder|.R|/Builder.version| = String()
@@ -24,8 +24,8 @@ FIR element rendered:
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] scriptInitializer.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-scriptInitializer.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
SCRIPT: [ResolvedTo(TYPES)] <script-scriptInitializer.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public open [ResolvedTo(STATUS)] class Builder : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Builder] constructor(): R|Builder| {
@@ -71,16 +71,11 @@ FILE: [ResolvedTo(IMPORTS)] scriptInitializer.kts
)
}
public final [ResolvedTo(BODY_RESOLVE)] val builder: R|Builder| = R|/build|(<L> = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=@ExtensionFunctionType kotlin/Function1<Builder, kotlin/Unit>] build@fun R|Builder|.<anonymous>(): R|kotlin/Unit| <inline=NoInline> {
this@R|special/anonymous|.R|/Builder.version| = String(321)
}
)
public [ResolvedTo(BODY_RESOLVE)] get(): R|Builder|
public? final? [ResolvedTo(RAW_FIR)] val builder: <implicit> = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
[ResolvedTo(BODY_RESOLVE)] init {
R|/builder|.R|/Builder.execute|()
}
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
[ResolvedTo(BODY_RESOLVE)] init {
R|/builder|.R|/Builder.version| = String()
[ResolvedTo(RAW_FIR)] init {
builder#.version# = String()
}
@@ -24,8 +24,8 @@ FIR element rendered:
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] statement.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-statement.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
SCRIPT: [ResolvedTo(TYPES)] <script-statement.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public open [ResolvedTo(STATUS)] class Builder : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Builder] constructor(): R|Builder| {
@@ -71,16 +71,11 @@ FILE: [ResolvedTo(IMPORTS)] statement.kts
)
}
public final [ResolvedTo(BODY_RESOLVE)] val builder: R|Builder| = R|/build|(<L> = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=@ExtensionFunctionType kotlin/Function1<Builder, kotlin/Unit>] build@fun R|Builder|.<anonymous>(): R|kotlin/Unit| <inline=NoInline> {
this@R|special/anonymous|.R|/Builder.version| = String(321)
}
)
public [ResolvedTo(BODY_RESOLVE)] get(): R|Builder|
public? final? [ResolvedTo(RAW_FIR)] val builder: <implicit> = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
[ResolvedTo(BODY_RESOLVE)] init {
R|/builder|.R|/Builder.execute|()
}
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
[ResolvedTo(BODY_RESOLVE)] init {
R|/builder|.R|/Builder.version| = String()
[ResolvedTo(RAW_FIR)] init {
builder#.version# = String()
}