[IR] Improve stepping/LVT behavior around destructuring
This commit is contained in:
committed by
Alexander Udalov
parent
c3dbb44e5f
commit
7f531d8426
+1
-1
@@ -1,5 +1,5 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
|
||||
// FILE: test.kt
|
||||
fun box(): String {
|
||||
val
|
||||
|
||||
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
|
||||
// FILE: test.kt
|
||||
class MyPair(val x: String, val y: String) {
|
||||
operator fun component1(): String {
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
// WITH_STDLIB
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
|
||||
// FILE: test.kt
|
||||
fun box(): String {
|
||||
val p = "O" to "K"
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
// WITH_STDLIB
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
|
||||
// FILE: test.kt
|
||||
fun box(): String {
|
||||
val p = Triple("X","O","K")
|
||||
|
||||
-2
@@ -49,11 +49,9 @@ fun box() {
|
||||
// test.kt:17 box:
|
||||
// test.kt:14 foo: a:MyPair=MyPair, block:kotlin.jvm.functions.Function1=TestKt$box$1
|
||||
// test.kt:19 invoke:
|
||||
// test.kt:20 invoke:
|
||||
// test.kt:6 component1:
|
||||
// test.kt:20 invoke:
|
||||
// test.kt:19 invoke: x:java.lang.String="O":java.lang.String
|
||||
// test.kt:22 invoke: x:java.lang.String="O":java.lang.String
|
||||
// test.kt:10 component2:
|
||||
// test.kt:22 invoke: x:java.lang.String="O":java.lang.String
|
||||
// test.kt:25 invoke: x:java.lang.String="O":java.lang.String, y:java.lang.String="K":java.lang.String
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
|
||||
// FILE: test.kt
|
||||
fun box(): String {
|
||||
val
|
||||
o
|
||||
=
|
||||
"O"
|
||||
|
||||
|
||||
val k = "K"
|
||||
|
||||
return o + k
|
||||
}
|
||||
|
||||
// EXPECTATIONS
|
||||
|
||||
// test.kt:8 box
|
||||
// test.kt:6 box
|
||||
// test.kt:11 box
|
||||
// test.kt:13 box
|
||||
+1
-1
@@ -18,5 +18,5 @@
|
||||
@3:27..53 PROPERTY_REFERENCE 'public final lazyNullString: kotlin.String [delegated,val]' field=null getter='public final fun <get-lazyNullString> (): kotlin.String declared in <root>' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
|
||||
@5:0..7:1 FUN name:testLazyNullString visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
@5:25..7:1 BLOCK_BODY
|
||||
@6:4..34 VAR name:s type:kotlin.String [val]
|
||||
@6:8..9 VAR name:s type:kotlin.String [val]
|
||||
@6:20..34 CALL 'public final fun <get-lazyNullString> (): kotlin.String declared in <root>' type=kotlin.String origin=GET_PROPERTY
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
@0:0..6:0 FILE fqName:<root> fileName:/postfixIncrementDecrement.kt
|
||||
@0:0..5:1 FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
@0:11..5:1 BLOCK_BODY
|
||||
@1:4..13 VAR name:x type:kotlin.Int [var]
|
||||
@1:8..9 VAR name:x type:kotlin.Int [var]
|
||||
@1:12..13 CONST Int type=kotlin.Int value=0
|
||||
@2:4..13 VAR name:y type:kotlin.Int [var]
|
||||
@2:8..9 VAR name:y type:kotlin.Int [var]
|
||||
@2:12..13 CONST Int type=kotlin.Int value=0
|
||||
@3:4..5 SET_VAR 'var y: kotlin.Int [var] declared in <root>.test' type=kotlin.Unit origin=EQ
|
||||
@3:8..11 BLOCK type=kotlin.Int origin=POSTFIX_INCR
|
||||
|
||||
Reference in New Issue
Block a user