[LL FIR] make result$$ property independent

Now we can resolve this generated property in the same way
as other regular properties.
This is the pre-step for independent script initializers

^KT-65344
^KT-65523
This commit is contained in:
Dmitrii Gridin
2024-02-02 19:56:14 +01:00
committed by Space Team
parent 6135a98e4e
commit 4f0bc86ad4
44 changed files with 670 additions and 401 deletions
@@ -8,8 +8,8 @@ String(y)
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] annotationApplicationArgumentOnStatement.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-annotationApplicationArgumentOnStatement.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
SCRIPT: [ResolvedTo(TYPES)] <script-annotationApplicationArgumentOnStatement.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.EXPRESSION|) @R|kotlin/annotation/Retention|[Types](LAZY_EXPRESSION) public final [ResolvedTo(STATUS)] annotation class Annotation : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Annotation] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Annotation.name] name: R|kotlin/String|): R|Annotation| {
@@ -8,11 +8,11 @@ FIR element rendered:
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] statementAnnotation.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-statementAnnotation.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
SCRIPT: [ResolvedTo(TYPES)] <script-statementAnnotation.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(CONTRACTS)] fun foo(): R|kotlin/Unit| {
}
public final [ResolvedTo(BODY_RESOLVE)] val $$result: R|kotlin/Unit| = @R|kotlin/Suppress|[Types](names = vararg(String())) R|/foo|()
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Unit|
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Unit|
@@ -8,11 +8,11 @@ R|<local>/args|.R|SubstitutionOverride<kotlin/Array.size: R|kotlin/Int|>|
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] argsFromStatement.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-argsFromStatement.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
SCRIPT: [ResolvedTo(TYPES)] <script-argsFromStatement.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(BODY_RESOLVE)] val $$result: <ERROR TYPE REF: Unresolved name: foo> = <Unresolved name: foo>#(<L> = [ResolvedTo(BODY_RESOLVE)] foo@fun <anonymous>(): R|kotlin/Int| <inline=Unknown> {
^ R|<local>/args|.R|SubstitutionOverride<kotlin/Array.size: R|kotlin/Int|>|
}
)
public [ResolvedTo(BODY_RESOLVE)] get(): <ERROR TYPE REF: Unresolved name: foo>
public [ResolvedTo(BODY_RESOLVE)] get(): <ERROR TYPE REF: Unresolved name: foo>
@@ -10,8 +10,8 @@ FILE: [ResolvedTo(IMPORTS)] setOperatorScript.kts
package test
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-setOperatorScript.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
SCRIPT: [ResolvedTo(TYPES)] <script-setOperatorScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(STATUS)] class B : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=B] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=test/B.n] n: R|kotlin/Int|): R|test/B| {
@@ -32,9 +32,9 @@ FILE: [ResolvedTo(IMPORTS)] setOperatorScript.kts
}
public final [ResolvedTo(BODY_RESOLVE)] var a: R|test/B| = R|test/B.B|(Int(1))
public [ResolvedTo(BODY_RESOLVE)] get(): R|test/B|
public [ResolvedTo(BODY_RESOLVE)] set([ResolvedTo(BODY_RESOLVE)] value: R|test/B|): R|kotlin/Unit|
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] var a: R|test/B| = R|test/B.B|(Int(1))
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|test/B|
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] set([ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] value: R|test/B|): R|kotlin/Unit|
public final [ResolvedTo(BODY_RESOLVE)] val $$result: R|test/B| = {
[ResolvedTo(BODY_RESOLVE)] lval <array>: R|test/B| = R|test/a|
@@ -44,4 +44,4 @@ FILE: [ResolvedTo(IMPORTS)] setOperatorScript.kts
R|<local>/<unary>|
}
public [ResolvedTo(BODY_RESOLVE)] get(): R|test/B|
public [ResolvedTo(BODY_RESOLVE)] get(): R|test/B|
@@ -8,12 +8,12 @@ R|/foo|()
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] syntheticResultDeclaration.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-syntheticResultDeclaration.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
SCRIPT: [ResolvedTo(TYPES)] <script-syntheticResultDeclaration.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun foo(): R|kotlin/Int| {
^foo Int(24)
}
public final [ResolvedTo(BODY_RESOLVE)] val $$result: R|kotlin/Int| = R|/foo|()
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@@ -9,12 +9,12 @@ public final [ResolvedTo(BODY_RESOLVE)] val $$result: R|kotlin/Int| = R|/foo|()
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] syntheticResultDeclarationInitializer.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-syntheticResultDeclarationInitializer.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
SCRIPT: [ResolvedTo(TYPES)] <script-syntheticResultDeclarationInitializer.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun foo(): R|kotlin/Int| {
^foo Int(24)
}
public final [ResolvedTo(BODY_RESOLVE)] val $$result: R|kotlin/Int| = R|/foo|()
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|