[LL FIR] add one more complex test case for scripts

^KT-60728
This commit is contained in:
Dmitrii Gridin
2023-07-28 17:50:49 +02:00
committed by Space Team
parent 0bdee00ca2
commit 2bacba5a9a
3 changed files with 510 additions and 0 deletions
@@ -0,0 +1,28 @@
// RESOLVE_SCRIPT
fun f(p: Int?): Int {
val fy = p!!
val fz = p + 1
return fz
}
fun consume(x: Int) {}
val x: Int? = 1
val y = x!!
val z = x + 1
fun foo() = x + 1
consume(x + 1)
x!!
consume(x + 1)
val zz = x + 1
class A {
val cz = x + 1
fun bar() = x + 1
}
@@ -0,0 +1,476 @@
RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] script2.kts
public? final? [ResolvedTo(RAW_FIR)] fun f([ResolvedTo(RAW_FIR)] p: Int?): Int {
[ResolvedTo(RAW_FIR)] lval fy: <implicit> = p#!!
[ResolvedTo(RAW_FIR)] lval fz: <implicit> = p#.plus#(IntegerLiteral(1))
^f fz#
}
public? final? [ResolvedTo(RAW_FIR)] fun consume([ResolvedTo(RAW_FIR)] x: Int): R|kotlin/Unit| {
}
public? final? [ResolvedTo(RAW_FIR)] val x: Int? = IntegerLiteral(1)
public? [ResolvedTo(RAW_FIR)] get(): Int?
public? final? [ResolvedTo(RAW_FIR)] val y: <implicit> = x#!!
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] val z: <implicit> = x#.plus#(IntegerLiteral(1))
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] fun foo(): <implicit> {
^foo x#.plus#(IntegerLiteral(1))
}
consume#(x#.plus#(IntegerLiteral(1)))x#!!consume#(x#.plus#(IntegerLiteral(1)))public? final? [ResolvedTo(RAW_FIR)] val zz: <implicit> = x#.plus#(IntegerLiteral(1))
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
super<R|kotlin/Any|>()
}
public? final? [ResolvedTo(RAW_FIR)] val cz: <implicit> = x#.plus#(IntegerLiteral(1))
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] fun bar(): <implicit> {
^bar x#.plus#(IntegerLiteral(1))
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs
IMPORTS:
FILE: [ResolvedTo(IMPORTS)] script2.kts
public? final? [ResolvedTo(RAW_FIR)] fun f([ResolvedTo(RAW_FIR)] p: Int?): Int {
[ResolvedTo(RAW_FIR)] lval fy: <implicit> = p#!!
[ResolvedTo(RAW_FIR)] lval fz: <implicit> = p#.plus#(IntegerLiteral(1))
^f fz#
}
public? final? [ResolvedTo(RAW_FIR)] fun consume([ResolvedTo(RAW_FIR)] x: Int): R|kotlin/Unit| {
}
public? final? [ResolvedTo(RAW_FIR)] val x: Int? = IntegerLiteral(1)
public? [ResolvedTo(RAW_FIR)] get(): Int?
public? final? [ResolvedTo(RAW_FIR)] val y: <implicit> = x#!!
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] val z: <implicit> = x#.plus#(IntegerLiteral(1))
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] fun foo(): <implicit> {
^foo x#.plus#(IntegerLiteral(1))
}
consume#(x#.plus#(IntegerLiteral(1)))x#!!consume#(x#.plus#(IntegerLiteral(1)))public? final? [ResolvedTo(RAW_FIR)] val zz: <implicit> = x#.plus#(IntegerLiteral(1))
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
super<R|kotlin/Any|>()
}
public? final? [ResolvedTo(RAW_FIR)] val cz: <implicit> = x#.plus#(IntegerLiteral(1))
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] fun bar(): <implicit> {
^bar x#.plus#(IntegerLiteral(1))
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] script2.kts
public? final? [ResolvedTo(RAW_FIR)] fun f([ResolvedTo(RAW_FIR)] p: Int?): Int {
[ResolvedTo(RAW_FIR)] lval fy: <implicit> = p#!!
[ResolvedTo(RAW_FIR)] lval fz: <implicit> = p#.plus#(IntegerLiteral(1))
^f fz#
}
public? final? [ResolvedTo(RAW_FIR)] fun consume([ResolvedTo(RAW_FIR)] x: Int): R|kotlin/Unit| {
}
public? final? [ResolvedTo(RAW_FIR)] val x: Int? = IntegerLiteral(1)
public? [ResolvedTo(RAW_FIR)] get(): Int?
public? final? [ResolvedTo(RAW_FIR)] val y: <implicit> = x#!!
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] val z: <implicit> = x#.plus#(IntegerLiteral(1))
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] fun foo(): <implicit> {
^foo x#.plus#(IntegerLiteral(1))
}
consume#(x#.plus#(IntegerLiteral(1)))x#!!consume#(x#.plus#(IntegerLiteral(1)))public? final? [ResolvedTo(RAW_FIR)] val zz: <implicit> = x#.plus#(IntegerLiteral(1))
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
super<R|kotlin/Any|>()
}
public? final? [ResolvedTo(RAW_FIR)] val cz: <implicit> = x#.plus#(IntegerLiteral(1))
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] fun bar(): <implicit> {
^bar x#.plus#(IntegerLiteral(1))
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] script2.kts
public? final? [ResolvedTo(RAW_FIR)] fun f([ResolvedTo(RAW_FIR)] p: Int?): Int {
[ResolvedTo(RAW_FIR)] lval fy: <implicit> = p#!!
[ResolvedTo(RAW_FIR)] lval fz: <implicit> = p#.plus#(IntegerLiteral(1))
^f fz#
}
public? final? [ResolvedTo(RAW_FIR)] fun consume([ResolvedTo(RAW_FIR)] x: Int): R|kotlin/Unit| {
}
public? final? [ResolvedTo(RAW_FIR)] val x: Int? = IntegerLiteral(1)
public? [ResolvedTo(RAW_FIR)] get(): Int?
public? final? [ResolvedTo(RAW_FIR)] val y: <implicit> = x#!!
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] val z: <implicit> = x#.plus#(IntegerLiteral(1))
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] fun foo(): <implicit> {
^foo x#.plus#(IntegerLiteral(1))
}
consume#(x#.plus#(IntegerLiteral(1)))x#!!consume#(x#.plus#(IntegerLiteral(1)))public? final? [ResolvedTo(RAW_FIR)] val zz: <implicit> = x#.plus#(IntegerLiteral(1))
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
super<R|kotlin/Any|>()
}
public? final? [ResolvedTo(RAW_FIR)] val cz: <implicit> = x#.plus#(IntegerLiteral(1))
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] fun bar(): <implicit> {
^bar x#.plus#(IntegerLiteral(1))
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] script2.kts
public? final? [ResolvedTo(RAW_FIR)] fun f([ResolvedTo(RAW_FIR)] p: Int?): Int {
[ResolvedTo(RAW_FIR)] lval fy: <implicit> = p#!!
[ResolvedTo(RAW_FIR)] lval fz: <implicit> = p#.plus#(IntegerLiteral(1))
^f fz#
}
public? final? [ResolvedTo(RAW_FIR)] fun consume([ResolvedTo(RAW_FIR)] x: Int): R|kotlin/Unit| {
}
public? final? [ResolvedTo(RAW_FIR)] val x: Int? = IntegerLiteral(1)
public? [ResolvedTo(RAW_FIR)] get(): Int?
public? final? [ResolvedTo(RAW_FIR)] val y: <implicit> = x#!!
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] val z: <implicit> = x#.plus#(IntegerLiteral(1))
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] fun foo(): <implicit> {
^foo x#.plus#(IntegerLiteral(1))
}
consume#(x#.plus#(IntegerLiteral(1)))x#!!consume#(x#.plus#(IntegerLiteral(1)))public? final? [ResolvedTo(RAW_FIR)] val zz: <implicit> = x#.plus#(IntegerLiteral(1))
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
super<R|kotlin/Any|>()
}
public? final? [ResolvedTo(RAW_FIR)] val cz: <implicit> = x#.plus#(IntegerLiteral(1))
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] fun bar(): <implicit> {
^bar x#.plus#(IntegerLiteral(1))
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs
TYPES:
FILE: [ResolvedTo(IMPORTS)] script2.kts
public? final? [ResolvedTo(RAW_FIR)] fun f([ResolvedTo(RAW_FIR)] p: R|kotlin/Int?|): R|kotlin/Int| {
[ResolvedTo(RAW_FIR)] lval fy: <implicit> = p#!!
[ResolvedTo(RAW_FIR)] lval fz: <implicit> = p#.plus#(IntegerLiteral(1))
^f fz#
}
public? final? [ResolvedTo(RAW_FIR)] fun consume([ResolvedTo(RAW_FIR)] x: R|kotlin/Int|): R|kotlin/Unit| {
}
public? final? [ResolvedTo(RAW_FIR)] val x: R|kotlin/Int?| = IntegerLiteral(1)
public? [ResolvedTo(RAW_FIR)] get(): R|kotlin/Int?|
public? final? [ResolvedTo(RAW_FIR)] val y: <implicit> = x#!!
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] val z: <implicit> = x#.plus#(IntegerLiteral(1))
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] fun foo(): <implicit> {
^foo x#.plus#(IntegerLiteral(1))
}
consume#(x#.plus#(IntegerLiteral(1)))x#!!consume#(x#.plus#(IntegerLiteral(1)))public? final? [ResolvedTo(RAW_FIR)] val zz: <implicit> = x#.plus#(IntegerLiteral(1))
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
super<R|kotlin/Any|>()
}
public? final? [ResolvedTo(RAW_FIR)] val cz: <implicit> = x#.plus#(IntegerLiteral(1))
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] fun bar(): <implicit> {
^bar x#.plus#(IntegerLiteral(1))
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
STATUS:
FILE: [ResolvedTo(IMPORTS)] script2.kts
public final [ResolvedTo(RAW_FIR)] fun f([ResolvedTo(RAW_FIR)] p: R|kotlin/Int?|): R|kotlin/Int| {
[ResolvedTo(RAW_FIR)] lval fy: <implicit> = p#!!
[ResolvedTo(RAW_FIR)] lval fz: <implicit> = p#.plus#(IntegerLiteral(1))
^f fz#
}
public final [ResolvedTo(RAW_FIR)] fun consume([ResolvedTo(RAW_FIR)] x: R|kotlin/Int|): R|kotlin/Unit| {
}
public final [ResolvedTo(RAW_FIR)] val x: R|kotlin/Int?| = IntegerLiteral(1)
public [ResolvedTo(RAW_FIR)] get(): R|kotlin/Int?|
public final [ResolvedTo(RAW_FIR)] val y: <implicit> = x#!!
public [ResolvedTo(RAW_FIR)] get(): <implicit>
public final [ResolvedTo(RAW_FIR)] val z: <implicit> = x#.plus#(IntegerLiteral(1))
public [ResolvedTo(RAW_FIR)] get(): <implicit>
public final [ResolvedTo(RAW_FIR)] fun foo(): <implicit> {
^foo x#.plus#(IntegerLiteral(1))
}
consume#(x#.plus#(IntegerLiteral(1)))x#!!consume#(x#.plus#(IntegerLiteral(1)))public final [ResolvedTo(RAW_FIR)] val zz: <implicit> = x#.plus#(IntegerLiteral(1))
public [ResolvedTo(RAW_FIR)] get(): <implicit>
public final [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
super<R|kotlin/Any|>()
}
public? final? [ResolvedTo(RAW_FIR)] val cz: <implicit> = x#.plus#(IntegerLiteral(1))
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] fun bar(): <implicit> {
^bar x#.plus#(IntegerLiteral(1))
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] script2.kts
public final [ResolvedTo(RAW_FIR)] fun f([ResolvedTo(RAW_FIR)] p: R|kotlin/Int?|): R|kotlin/Int| {
[ResolvedTo(RAW_FIR)] lval fy: <implicit> = p#!!
[ResolvedTo(RAW_FIR)] lval fz: <implicit> = p#.plus#(IntegerLiteral(1))
^f fz#
}
public final [ResolvedTo(RAW_FIR)] fun consume([ResolvedTo(RAW_FIR)] x: R|kotlin/Int|): R|kotlin/Unit| {
}
public final [ResolvedTo(RAW_FIR)] val x: R|kotlin/Int?| = IntegerLiteral(1)
public [ResolvedTo(RAW_FIR)] get(): R|kotlin/Int?|
public final [ResolvedTo(RAW_FIR)] val y: <implicit> = x#!!
public [ResolvedTo(RAW_FIR)] get(): <implicit>
public final [ResolvedTo(RAW_FIR)] val z: <implicit> = x#.plus#(IntegerLiteral(1))
public [ResolvedTo(RAW_FIR)] get(): <implicit>
public final [ResolvedTo(RAW_FIR)] fun foo(): <implicit> {
^foo x#.plus#(IntegerLiteral(1))
}
consume#(x#.plus#(IntegerLiteral(1)))x#!!consume#(x#.plus#(IntegerLiteral(1)))public final [ResolvedTo(RAW_FIR)] val zz: <implicit> = x#.plus#(IntegerLiteral(1))
public [ResolvedTo(RAW_FIR)] get(): <implicit>
public final [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
super<R|kotlin/Any|>()
}
public? final? [ResolvedTo(RAW_FIR)] val cz: <implicit> = x#.plus#(IntegerLiteral(1))
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] fun bar(): <implicit> {
^bar x#.plus#(IntegerLiteral(1))
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] script2.kts
public final [ResolvedTo(RAW_FIR)] fun f([ResolvedTo(RAW_FIR)] p: R|kotlin/Int?|): R|kotlin/Int| {
[ResolvedTo(RAW_FIR)] lval fy: <implicit> = p#!!
[ResolvedTo(RAW_FIR)] lval fz: <implicit> = p#.plus#(IntegerLiteral(1))
^f fz#
}
public final [ResolvedTo(RAW_FIR)] fun consume([ResolvedTo(RAW_FIR)] x: R|kotlin/Int|): R|kotlin/Unit| {
}
public final [ResolvedTo(RAW_FIR)] val x: R|kotlin/Int?| = IntegerLiteral(1)
public [ResolvedTo(RAW_FIR)] get(): R|kotlin/Int?|
public final [ResolvedTo(RAW_FIR)] val y: <implicit> = x#!!
public [ResolvedTo(RAW_FIR)] get(): <implicit>
public final [ResolvedTo(RAW_FIR)] val z: <implicit> = x#.plus#(IntegerLiteral(1))
public [ResolvedTo(RAW_FIR)] get(): <implicit>
public final [ResolvedTo(RAW_FIR)] fun foo(): <implicit> {
^foo x#.plus#(IntegerLiteral(1))
}
consume#(x#.plus#(IntegerLiteral(1)))x#!!consume#(x#.plus#(IntegerLiteral(1)))public final [ResolvedTo(RAW_FIR)] val zz: <implicit> = x#.plus#(IntegerLiteral(1))
public [ResolvedTo(RAW_FIR)] get(): <implicit>
public final [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
super<R|kotlin/Any|>()
}
public? final? [ResolvedTo(RAW_FIR)] val cz: <implicit> = x#.plus#(IntegerLiteral(1))
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] fun bar(): <implicit> {
^bar x#.plus#(IntegerLiteral(1))
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] script2.kts
public final [ResolvedTo(RAW_FIR)] fun f([ResolvedTo(RAW_FIR)] p: R|kotlin/Int?|): R|kotlin/Int| {
[ResolvedTo(RAW_FIR)] lval fy: <implicit> = p#!!
[ResolvedTo(RAW_FIR)] lval fz: <implicit> = p#.plus#(IntegerLiteral(1))
^f fz#
}
public final [ResolvedTo(RAW_FIR)] fun consume([ResolvedTo(RAW_FIR)] x: R|kotlin/Int|): R|kotlin/Unit| {
}
public final [ResolvedTo(RAW_FIR)] val x: R|kotlin/Int?| = IntegerLiteral(1)
public [ResolvedTo(RAW_FIR)] get(): R|kotlin/Int?|
public final [ResolvedTo(RAW_FIR)] val y: <implicit> = x#!!
public [ResolvedTo(RAW_FIR)] get(): <implicit>
public final [ResolvedTo(RAW_FIR)] val z: <implicit> = x#.plus#(IntegerLiteral(1))
public [ResolvedTo(RAW_FIR)] get(): <implicit>
public final [ResolvedTo(RAW_FIR)] fun foo(): <implicit> {
^foo x#.plus#(IntegerLiteral(1))
}
consume#(x#.plus#(IntegerLiteral(1)))x#!!consume#(x#.plus#(IntegerLiteral(1)))public final [ResolvedTo(RAW_FIR)] val zz: <implicit> = x#.plus#(IntegerLiteral(1))
public [ResolvedTo(RAW_FIR)] get(): <implicit>
public final [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
super<R|kotlin/Any|>()
}
public? final? [ResolvedTo(RAW_FIR)] val cz: <implicit> = x#.plus#(IntegerLiteral(1))
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] fun bar(): <implicit> {
^bar x#.plus#(IntegerLiteral(1))
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] script2.kts
public final [ResolvedTo(RAW_FIR)] fun f([ResolvedTo(RAW_FIR)] p: R|kotlin/Int?|): R|kotlin/Int| {
[ResolvedTo(RAW_FIR)] lval fy: <implicit> = p#!!
[ResolvedTo(RAW_FIR)] lval fz: <implicit> = p#.plus#(IntegerLiteral(1))
^f fz#
}
public final [ResolvedTo(RAW_FIR)] fun consume([ResolvedTo(RAW_FIR)] x: R|kotlin/Int|): R|kotlin/Unit| {
}
public final [ResolvedTo(RAW_FIR)] val x: R|kotlin/Int?| = IntegerLiteral(1)
public [ResolvedTo(RAW_FIR)] get(): R|kotlin/Int?|
public final [ResolvedTo(RAW_FIR)] val y: <implicit> = x#!!
public [ResolvedTo(RAW_FIR)] get(): <implicit>
public final [ResolvedTo(RAW_FIR)] val z: <implicit> = x#.plus#(IntegerLiteral(1))
public [ResolvedTo(RAW_FIR)] get(): <implicit>
public final [ResolvedTo(RAW_FIR)] fun foo(): <implicit> {
^foo x#.plus#(IntegerLiteral(1))
}
consume#(x#.plus#(IntegerLiteral(1)))x#!!consume#(x#.plus#(IntegerLiteral(1)))public final [ResolvedTo(RAW_FIR)] val zz: <implicit> = x#.plus#(IntegerLiteral(1))
public [ResolvedTo(RAW_FIR)] get(): <implicit>
public final [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
super<R|kotlin/Any|>()
}
public? final? [ResolvedTo(RAW_FIR)] val cz: <implicit> = x#.plus#(IntegerLiteral(1))
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] fun bar(): <implicit> {
^bar x#.plus#(IntegerLiteral(1))
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] script2.kts
public final [ResolvedTo(RAW_FIR)] fun f([ResolvedTo(RAW_FIR)] p: R|kotlin/Int?|): R|kotlin/Int| {
[ResolvedTo(RAW_FIR)] lval fy: <implicit> = p#!!
[ResolvedTo(RAW_FIR)] lval fz: <implicit> = p#.plus#(IntegerLiteral(1))
^f fz#
}
public final [ResolvedTo(RAW_FIR)] fun consume([ResolvedTo(RAW_FIR)] x: R|kotlin/Int|): R|kotlin/Unit| {
}
public final [ResolvedTo(RAW_FIR)] val x: R|kotlin/Int?| = IntegerLiteral(1)
public [ResolvedTo(RAW_FIR)] get(): R|kotlin/Int?|
public final [ResolvedTo(RAW_FIR)] val y: <implicit> = x#!!
public [ResolvedTo(RAW_FIR)] get(): <implicit>
public final [ResolvedTo(RAW_FIR)] val z: <implicit> = x#.plus#(IntegerLiteral(1))
public [ResolvedTo(RAW_FIR)] get(): <implicit>
public final [ResolvedTo(RAW_FIR)] fun foo(): <implicit> {
^foo x#.plus#(IntegerLiteral(1))
}
consume#(x#.plus#(IntegerLiteral(1)))x#!!consume#(x#.plus#(IntegerLiteral(1)))public final [ResolvedTo(RAW_FIR)] val zz: <implicit> = x#.plus#(IntegerLiteral(1))
public [ResolvedTo(RAW_FIR)] get(): <implicit>
public final [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
super<R|kotlin/Any|>()
}
public? final? [ResolvedTo(RAW_FIR)] val cz: <implicit> = x#.plus#(IntegerLiteral(1))
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): <implicit>
public? final? [ResolvedTo(RAW_FIR)] fun bar(): <implicit> {
^bar x#.plus#(IntegerLiteral(1))
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] script2.kts
public final [ResolvedTo(RAW_FIR)] fun f([ResolvedTo(RAW_FIR)] p: R|kotlin/Int?|): R|kotlin/Int| {
[ResolvedTo(RAW_FIR)] lval fy: R|kotlin/Int| = R|<local>/p|!!
[ResolvedTo(RAW_FIR)] lval fz: R|kotlin/Int| = R|<local>/p|.R|kotlin/Int.plus|(Int(1))
^f R|<local>/fz|
}
public final [ResolvedTo(RAW_FIR)] fun consume([ResolvedTo(RAW_FIR)] x: R|kotlin/Int|): R|kotlin/Unit| {
}
public final [ResolvedTo(RAW_FIR)] val x: R|kotlin/Int?| = Int(1)
public [ResolvedTo(RAW_FIR)] get(): R|kotlin/Int?|
public final [ResolvedTo(RAW_FIR)] val y: R|kotlin/Int| = R|/x|!!
public [ResolvedTo(RAW_FIR)] get(): R|kotlin/Int|
public final [ResolvedTo(RAW_FIR)] val z: R|kotlin/Int| = R|/x|.R|kotlin/Int.plus<Inapplicable(UNSAFE_CALL): kotlin/Int.plus>#|(Int(1))
public [ResolvedTo(RAW_FIR)] get(): R|kotlin/Int|
public final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Int| {
^foo R|/x|.R|kotlin/Int.plus<Inapplicable(UNSAFE_CALL): kotlin/Int.plus>#|(Int(1))
}
R|/consume|(R|/x|.R|kotlin/Int.plus<Inapplicable(UNSAFE_CALL): kotlin/Int.plus>#|(Int(1)))R|/x|!!R|/consume|(R|/x|.R|kotlin/Int.plus|(Int(1)))public final [ResolvedTo(RAW_FIR)] val zz: R|kotlin/Int| = R|/x|.R|kotlin/Int.plus<Inapplicable(UNSAFE_CALL): kotlin/Int.plus>#|(Int(1))
public [ResolvedTo(RAW_FIR)] get(): R|kotlin/Int|
public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor(): R|A| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(STATUS)] val cz: R|kotlin/Int| = R|/x|.R|kotlin/Int.plus<Inapplicable(UNSAFE_CALL): kotlin/Int.plus>#|(Int(1))
public [ResolvedTo(STATUS)] [ContainingClassKey=A] get(): R|kotlin/Int|
public final [ResolvedTo(STATUS)] fun bar(): R|kotlin/Int| {
^bar R|/x|.R|kotlin/Int.plus<Inapplicable(UNSAFE_CALL): kotlin/Int.plus>#|(Int(1))
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
FILE RAW TO BODY:
FILE: [ResolvedTo(IMPORTS)] script2.kts
public final [ResolvedTo(RAW_FIR)] fun f([ResolvedTo(RAW_FIR)] p: R|kotlin/Int?|): R|kotlin/Int| {
[ResolvedTo(RAW_FIR)] lval fy: R|kotlin/Int| = R|<local>/p|!!
[ResolvedTo(RAW_FIR)] lval fz: R|kotlin/Int| = R|<local>/p|.R|kotlin/Int.plus|(Int(1))
^f R|<local>/fz|
}
public final [ResolvedTo(RAW_FIR)] fun consume([ResolvedTo(RAW_FIR)] x: R|kotlin/Int|): R|kotlin/Unit| {
}
public final [ResolvedTo(RAW_FIR)] val x: R|kotlin/Int?| = Int(1)
public [ResolvedTo(RAW_FIR)] get(): R|kotlin/Int?|
public final [ResolvedTo(RAW_FIR)] val y: R|kotlin/Int| = R|/x|!!
public [ResolvedTo(RAW_FIR)] get(): R|kotlin/Int|
public final [ResolvedTo(RAW_FIR)] val z: R|kotlin/Int| = R|/x|.R|kotlin/Int.plus<Inapplicable(UNSAFE_CALL): kotlin/Int.plus>#|(Int(1))
public [ResolvedTo(RAW_FIR)] get(): R|kotlin/Int|
public final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Int| {
^foo R|/x|.R|kotlin/Int.plus<Inapplicable(UNSAFE_CALL): kotlin/Int.plus>#|(Int(1))
}
R|/consume|(R|/x|.R|kotlin/Int.plus<Inapplicable(UNSAFE_CALL): kotlin/Int.plus>#|(Int(1)))R|/x|!!R|/consume|(R|/x|.R|kotlin/Int.plus|(Int(1)))public final [ResolvedTo(RAW_FIR)] val zz: R|kotlin/Int| = R|/x|.R|kotlin/Int.plus<Inapplicable(UNSAFE_CALL): kotlin/Int.plus>#|(Int(1))
public [ResolvedTo(RAW_FIR)] get(): R|kotlin/Int|
public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor(): R|A| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(STATUS)] val cz: R|kotlin/Int| = R|/x|.R|kotlin/Int.plus<Inapplicable(UNSAFE_CALL): kotlin/Int.plus>#|(Int(1))
public [ResolvedTo(STATUS)] [ContainingClassKey=A] get(): R|kotlin/Int|
public final [ResolvedTo(STATUS)] fun bar(): R|kotlin/Int| {
^bar R|/x|.R|kotlin/Int.plus<Inapplicable(UNSAFE_CALL): kotlin/Int.plus>#|(Int(1))
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
@@ -420,6 +420,12 @@ public class FirScriptLazyDeclarationResolveTestGenerated extends AbstractFirScr
runTest("analysis/low-level-api-fir/testdata/lazyResolve/script.kts");
}
@Test
@TestMetadata("script2.kts")
public void testScript2() throws Exception {
runTest("analysis/low-level-api-fir/testdata/lazyResolve/script2.kts");
}
@Test
@TestMetadata("secondaryConstructorParameterScript.kts")
public void testSecondaryConstructorParameterScript() throws Exception {