[JVM] Port Stepping and LocalVariable tests to new test infra.

This is in preparation for enabling the tests for FIR which will
be easier to do when the tests are on the new infrastructure.
This commit is contained in:
Mads Ager
2021-10-14 12:45:38 +02:00
committed by TeamCityServer
parent f1c1094393
commit e9c9d5731e
155 changed files with 1468 additions and 1523 deletions
+1 -1
View File
@@ -9,7 +9,7 @@ fun box() {
}
}
// LOCAL VARIABLES
// EXPECTATIONS
// test.kt:3 box:
// test.kt:4 box:
// test.kt:5 box: a:int=1:int
+1 -1
View File
@@ -7,7 +7,7 @@ fun box() {
val b = a.copy(b = 3.0)
}
// LOCAL VARIABLES
// EXPECTATIONS
// test.kt:6 box:
// test.kt:3 <init>: a:double=1.0:double, b:double=2.0:double
// test.kt:6 box:
@@ -1,4 +1,4 @@
// WITH_RUNTIME
//FILE: test.kt
fun box() {
@@ -8,9 +8,9 @@ fun box() {
}
}
// LOCAL VARIABLES
// EXPECTATIONS
// test.kt:5 box:
// test.kt:6 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:7 box: map:java.util.Map=java.util.Collections$SingletonMap, a:java.lang.String="1":java.lang.String, b:java.lang.String="23":java.lang.String
// test.kt:6 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:9 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:9 box: map:java.util.Map=java.util.Collections$SingletonMap
@@ -8,7 +8,7 @@ fun box() {
foo(A("O", 123)) { (x, y) -> x + y }
}
// LOCAL VARIABLES
// EXPECTATIONS
// test.kt:8 box:
// test.kt:3 <init>: x:java.lang.String="O":java.lang.String, y:int=123:int
// test.kt:8 box:
+1 -1
View File
@@ -7,7 +7,7 @@ fun box() {
foo()
}
// LOCAL VARIABLES
// EXPECTATIONS
// test.kt:7 box:
// test.kt:4 foo:
// test.kt:8 box:
+1 -1
View File
@@ -10,7 +10,7 @@ fun box() {
y++
}
// LOCAL VARIABLES
// EXPECTATIONS
// test.kt:8 box:
// test.kt:2 <init>:
// test.kt:8 box:
+3 -3
View File
@@ -1,5 +1,5 @@
// FILE: test.kt
// WITH_RUNTIME
// FILE: test.kt
class C {
@kotlin.jvm.JvmOverloads fun foo(firstParam: Int, secondParam: String = "") {
}
@@ -9,9 +9,9 @@ fun box() {
C().foo(4)
}
// LOCAL VARIABLES
// EXPECTATIONS
// test.kt:9 box:
// test.kt:3 <init>:
// test.kt:9 box:
// test.kt:5 foo: firstParam:int=4:int, secondParam:java.lang.String="":java.lang.String
// test.kt:10 box:
// test.kt:10 box:
+9 -10
View File
@@ -27,28 +27,27 @@ fun box() {
// variables local to the function, and hence need no name mangling to
// properly figure in the debugger.
// LOCAL VARIABLES
// EXPECTATIONS
// test.kt:13 box:
// test.kt:5 foo:
// LOCAL VARIABLES JVM
// EXPECTATIONS JVM
// test.kt:6 foo: x:int=1:int
// LOCAL VARIABLES JVM
// test.kt:9 foo: x:int=1:int, $fun$bar$1:TestKt$foo$1=TestKt$foo$1
// LOCAL VARIABLES JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:9 foo: x:int=1:int
// LOCAL VARIABLES JVM
// EXPECTATIONS JVM
// test.kt:7 invoke:
// test.kt:8 invoke: y:int=1:int
// LOCAL VARIABLES JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:7 foo$bar: x:int=1:int
// test.kt:8 foo$bar: x:int=1:int, y:int=1:int
// LOCAL VARIABLES JVM
// EXPECTATIONS JVM
// test.kt:10 foo: x:int=1:int, $fun$bar$1:TestKt$foo$1=TestKt$foo$1
// test.kt:14 box:
// LOCAL VARIABLES JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:10 foo: x:int=1:int
// test.kt:14 box:
// test.kt:14 box:
+3 -3
View File
@@ -18,14 +18,14 @@ fun box() {
// - the _declaration_ of the local function does not figure in the byte code
// of the outer function and hence, has no line number
// LOCAL VARIABLES
// LOCAL VARIABLES JVM
// EXPECTATIONS
// EXPECTATIONS JVM
// test.kt:10 box:
// test.kt:5 foo:
// test.kt:7 foo: $fun$bar$1:TestKt$foo$1=TestKt$foo$1
// test.kt:11 box:
// LOCAL VARIABLES JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:10 box:
// test.kt:7 foo:
// test.kt:11 box:
@@ -11,7 +11,7 @@ fun box() {
x.Bar()
}
// LOCAL VARIABLES
// EXPECTATIONS
// test.kt:10 box:
// test.kt:4 <init>:
// test.kt:10 box:
@@ -6,14 +6,14 @@ fun blockFun(blockArg: String.() -> Unit) =
fun box() {
blockFun {
println(this)
this
}
}
// LOCAL VARIABLES
// EXPECTATIONS
// test.kt:8 box:
// test.kt:5 blockFun: blockArg:kotlin.jvm.functions.Function1=TestKt$box$1
// test.kt:9 invoke: $this$blockFun:java.lang.String="OK":java.lang.String
// test.kt:10 invoke: $this$blockFun:java.lang.String="OK":java.lang.String
// test.kt:5 blockFun: blockArg:kotlin.jvm.functions.Function1=TestKt$box$1
// test.kt:11 box:
// test.kt:11 box:
@@ -10,7 +10,7 @@ fun box() {
}
}
// LOCAL VARIABLES
// EXPECTATIONS
// test.kt:8 box:
// test.kt:4 foo: block:kotlin.jvm.functions.Function1=TestKt$box$1
// test.kt:9 invoke: $this$foo:long=1:long
@@ -7,7 +7,7 @@ fun box() {
"OK".test()
}
// LOCAL VARIABLES
// EXPECTATIONS
// test.kt:7 box:
// test.kt:4 test: $this$test:java.lang.String="OK":java.lang.String
// test.kt:8 box:
@@ -7,7 +7,7 @@ fun box() {
"OK".foo(42)
}
// LOCAL VARIABLES
// EXPECTATIONS
// test.kt:7 box:
// test.kt:4 foo: $this$foo:java.lang.String="OK":java.lang.String, a:int=42:int
// test.kt:8 box:
@@ -6,14 +6,14 @@ fun blockFun(blockArg: String.() -> Unit) =
fun box() {
blockFun {
println(this)
this
}
}
// LOCAL VARIABLES
// EXPECTATIONS
// test.kt:8 box:
// test.kt:5 blockFun: blockArg:kotlin.jvm.functions.Function1=TestKt$box$1
// test.kt:9 invoke: $this$blockFun:java.lang.String="OK":java.lang.String
// test.kt:10 invoke: $this$blockFun:java.lang.String="OK":java.lang.String
// test.kt:5 blockFun: blockArg:kotlin.jvm.functions.Function1=TestKt$box$1
// test.kt:11 box:
// test.kt:11 box:
@@ -6,14 +6,14 @@ fun blockFun(blockArg: String.() -> Unit) =
fun box() {
blockFun label@{
println(this)
this
}
}
// LOCAL VARIABLES
// EXPECTATIONS
// test.kt:8 box:
// test.kt:5 blockFun: blockArg:kotlin.jvm.functions.Function1=TestKt$box$1
// test.kt:9 invoke: $this$label:java.lang.String="OK":java.lang.String
// test.kt:10 invoke: $this$label:java.lang.String="OK":java.lang.String
// test.kt:5 blockFun: blockArg:kotlin.jvm.functions.Function1=TestKt$box$1
// test.kt:11 box:
// test.kt:11 box:
@@ -6,14 +6,14 @@ fun blockFun(blockArg: String.() -> Unit) =
fun box() {
blockFun ({
println(this)
this
})
}
// LOCAL VARIABLES
// EXPECTATIONS
// test.kt:8 box:
// test.kt:5 blockFun: blockArg:kotlin.jvm.functions.Function1=TestKt$box$1
// test.kt:9 invoke: $this$blockFun:java.lang.String="OK":java.lang.String
// test.kt:10 invoke: $this$blockFun:java.lang.String="OK":java.lang.String
// test.kt:5 blockFun: blockArg:kotlin.jvm.functions.Function1=TestKt$box$1
// test.kt:11 box:
// test.kt:11 box:
@@ -1,5 +1,5 @@
// WITH_COROUTINES
// Code generation problem with JVM backend.
// IGNORE_BACKEND: JVM
// FILE: test.kt
class A {
suspend fun foo() {}
@@ -9,10 +9,10 @@ suspend fun box() {
A().foo()
}
// LOCAL VARIABLES
// test.kt:9 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// EXPECTATIONS
// test.kt:9 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:4 <init>:
// test.kt:9 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// test.kt:5 foo: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// test.kt:9 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// test.kt:10 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// test.kt:9 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:5 foo: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:9 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:10 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
@@ -1,5 +1,5 @@
// WITH_COROUTINES
// Code generation problem with JVM backend.
// IGNORE_BACKEND: JVM
// FILE: test.kt
class A {
suspend fun foo() {}
@@ -14,20 +14,10 @@ suspend fun box() {
A().foo1(42)
}
// The lambda object constructor has a local variables table on the IR backend.
// LOCAL VARIABLES
// test.kt:14 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// EXPECTATIONS
// test.kt:14 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:4 <init>:
// test.kt:14 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// test.kt:6 foo1:
// LOCAL VARIABLES JVM
// test.kt:-1 <init>:
// LOCAL VARIABLES JVM_IR
// test.kt:-1 <init>: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// LOCAL VARIABLES
// test.kt:14 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:6 foo1:
// test.kt:7 foo1: $continuation:kotlin.coroutines.Continuation=A$foo1$1, $result:java.lang.Object=null, l:long=42:long
// test.kt:5 foo: $completion:kotlin.coroutines.Continuation=A$foo1$1
@@ -37,5 +27,5 @@ suspend fun box() {
// test.kt:8 foo1: $continuation:kotlin.coroutines.Continuation=A$foo1$1, $result:java.lang.Object=null, l:long=42:long
// test.kt:9 foo1: $continuation:kotlin.coroutines.Continuation=A$foo1$1, $result:java.lang.Object=null, l:long=42:long
// test.kt:10 foo1: $continuation:kotlin.coroutines.Continuation=A$foo1$1, $result:java.lang.Object=null, l:long=42:long
// test.kt:14 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// test.kt:15 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// test.kt:14 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:15 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
@@ -1,8 +1,8 @@
// WITH_COROUTINES
// Code generation problem with JVM backend.
// IGNORE_BACKEND: JVM
// FILE: test.kt
suspend fun box() {}
// LOCAL VARIABLES
// test.kt:4 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// EXPECTATIONS
// test.kt:4 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
@@ -1,5 +1,5 @@
// WITH_COROUTINES
// Code generation problem with JVM backend.
// IGNORE_BACKEND: JVM
// FILE: test.kt
class A
@@ -10,10 +10,10 @@ suspend fun box() {
}
// LOCAL VARIABLES
// test.kt:9 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// EXPECTATIONS
// test.kt:9 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:4 <init>:
// test.kt:9 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// test.kt:6 foo: $this$foo:A=A, $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// test.kt:9 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// test.kt:10 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// test.kt:9 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:6 foo: $this$foo:A=A, $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:9 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:10 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
@@ -1,5 +1,5 @@
// WITH_COROUTINES
// Code generation problem with JVM backend.
// IGNORE_BACKEND: JVM
// FILE: test.kt
suspend fun foo() {}
suspend fun foo1(l: Long) {
@@ -12,18 +12,8 @@ suspend fun box() {
foo1(42)
}
// The lambda object constructor has a local variables table on the IR backend.
// LOCAL VARIABLES
// test.kt:12 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// test.kt:5 foo1:
// LOCAL VARIABLES JVM
// test.kt:-1 <init>:
// LOCAL VARIABLES JVM_IR
// test.kt:-1 <init>: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// LOCAL VARIABLES
// EXPECTATIONS
// test.kt:12 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:5 foo1:
// test.kt:6 foo1: $continuation:kotlin.coroutines.Continuation=TestKt$foo1$1, $result:java.lang.Object=null, l:long=42:long
// test.kt:4 foo: $completion:kotlin.coroutines.Continuation=TestKt$foo1$1
@@ -33,5 +23,5 @@ suspend fun box() {
// test.kt:7 foo1: $continuation:kotlin.coroutines.Continuation=TestKt$foo1$1, $result:java.lang.Object=null, l:long=42:long
// test.kt:8 foo1: $continuation:kotlin.coroutines.Continuation=TestKt$foo1$1, $result:java.lang.Object=null, l:long=42:long
// test.kt:9 foo1: $continuation:kotlin.coroutines.Continuation=TestKt$foo1$1, $result:java.lang.Object=null, l:long=42:long
// test.kt:12 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// test.kt:13 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// test.kt:12 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:13 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
@@ -1,5 +1,5 @@
// WITH_COROUTINES
// Code generation problem with JVM backend.
// IGNORE_BACKEND: JVM
// FILE: test.kt
class A
@@ -16,18 +16,10 @@ suspend fun box() {
// The lambda object constructor has a local variables table on the IR backend.
// LOCAL VARIABLES
// test.kt:14 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// EXPECTATIONS
// test.kt:14 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:4 <init>:
// test.kt:14 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// test.kt:7 foo1:
// LOCAL VARIABLES JVM
// test.kt:-1 <init>:
// LOCAL VARIABLES JVM_IR
// test.kt:-1 <init>: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// LOCAL VARIABLES
// test.kt:14 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:7 foo1:
// test.kt:8 foo1: $continuation:kotlin.coroutines.Continuation=TestKt$foo1$1, $result:java.lang.Object=null, $this$foo1:A=A, l:long=42:long
// test.kt:6 foo: $this$foo:A=A, $completion:kotlin.coroutines.Continuation=TestKt$foo1$1
@@ -37,5 +29,5 @@ suspend fun box() {
// test.kt:9 foo1: $continuation:kotlin.coroutines.Continuation=TestKt$foo1$1, $result:java.lang.Object=null, l:long=42:long
// test.kt:10 foo1: $continuation:kotlin.coroutines.Continuation=TestKt$foo1$1, $result:java.lang.Object=null, l:long=42:long
// test.kt:11 foo1: $continuation:kotlin.coroutines.Continuation=TestKt$foo1$1, $result:java.lang.Object=null, l:long=42:long
// test.kt:14 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// test.kt:15 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// test.kt:14 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:15 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
@@ -1,4 +1,4 @@
// WITH_COROUTINES
// WITH_RUNTIME
// FILE: test.kt
inline fun hasLocal(): Int {
val x = 41
@@ -18,16 +18,7 @@ suspend fun box() {
hasLocal()
}
// LOCAL VARIABLES
// test.kt:10 box:
// LOCAL VARIABLES JVM_IR
// test.kt:-1 <init>: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// LOCAL VARIABLES JVM
// test.kt:-1 <init>:
// LOCAL VARIABLES
// EXPECTATIONS
// test.kt:10 box:
// test.kt:12 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null
// test.kt:8 h: $completion:kotlin.coroutines.Continuation=TestKt$box$1
@@ -1,4 +1,7 @@
// WITH_COROUTINES
// The JVM backend does not have `x` visible in the locals table for the for loop at all.
// IGNORE_BACKEND: JVM
// WITH_RUNTIME
// FILE: test.kt
suspend fun h() { }
@@ -17,33 +20,28 @@ suspend fun box() {
}
}
// The current backend does not have `x` visible in the locals table for the for loop at all.
// IGNORE_BACKEND: JVM
// LOCAL VARIABLES
// test.kt:7 box:
// test.kt:-1 <init>: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// test.kt:7 box:
// test.kt:9 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null
// test.kt:3 h: $completion:kotlin.coroutines.Continuation=TestKt$box$1
// test.kt:9 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null
// test.kt:10 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null
// test.kt:11 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=0:int
// test.kt:5 f: x:int=0:int
// test.kt:11 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=0:int
// test.kt:10 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=0:int
// test.kt:11 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=1:int
// test.kt:5 f: x:int=1:int
// test.kt:11 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=1:int
// test.kt:10 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=1:int
// test.kt:14 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null
// test.kt:15 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null
// test.kt:16 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=0:int
// test.kt:5 f: x:int=0:int
// test.kt:16 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=0:int
// test.kt:15 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=0:int
// test.kt:16 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=1:int
// test.kt:5 f: x:int=1:int
// test.kt:16 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=1:int
// test.kt:15 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=1:int
// EXPECTATIONS
// test.kt:10 box:
// test.kt:12 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null
// test.kt:6 h: $completion:kotlin.coroutines.Continuation=TestKt$box$1
// test.kt:12 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null
// test.kt:13 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null
// test.kt:14 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=0:int
// test.kt:8 f: x:int=0:int
// test.kt:14 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=0:int
// test.kt:13 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=0:int
// test.kt:14 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=1:int
// test.kt:8 f: x:int=1:int
// test.kt:14 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=1:int
// test.kt:13 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=1:int
// test.kt:17 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null
// test.kt:18 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null
// test.kt:19 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=0:int
// test.kt:8 f: x:int=0:int
// test.kt:19 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=0:int
// test.kt:18 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=0:int
// test.kt:19 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=1:int
// test.kt:8 f: x:int=1:int
// test.kt:19 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=1:int
// test.kt:18 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, x:int=1:int
// test.kt:21 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null
+4 -13
View File
@@ -1,4 +1,4 @@
// WITH_COROUTINES
// WITH_RUNTIME
// FILE: test.kt
import kotlin.coroutines.intrinsics.*
@@ -26,23 +26,14 @@ suspend fun box() {
val a = suspendBar()
}
// LOCAL VARIABLES
// test.kt:25 box:
// LOCAL VARIABLES JVM_IR
// test.kt:-1 <init>: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// LOCAL VARIABLES JVM
// test.kt:-1 <init>:
// LOCAL VARIABLES
// EXPECTATIONS
// test.kt:25 box:
// test.kt:26 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null
// test.kt:19 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, $i$f$suspendBar:int=0:int
// LOCAL VARIABLES JVM
// EXPECTATIONS JVM
// test.kt:19 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, $i$f$suspendBar:int=0:int
// test.kt:14 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, $i$f$suspendBar:int=0:int, $this$extensionFun$iv$iv:AtomicInt=AtomicInt, $i$f$extensionFun:int=0:int
// LOCAL VARIABLES
// EXPECTATIONS
// test.kt:14 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, $i$f$suspendBar:int=0:int, $this$extensionFun$iv$iv:AtomicInt=AtomicInt, $i$f$extensionFun:int=0:int
// test.kt:15 box: $continuation:kotlin.coroutines.Continuation=TestKt$box$1, $result:java.lang.Object=null, $i$f$suspendBar:int=0:int, $this$extensionFun$iv$iv:AtomicInt=AtomicInt, $i$f$extensionFun:int=0:int
// test.kt:6 getValue:
+4 -4
View File
@@ -1,10 +1,10 @@
// WITH_COROUTINES
// WITH_RUNTIME
// FILE: test.kt
suspend fun box() {
var x = 1
}
// LOCAL VARIABLES
// test.kt:5 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// test.kt:6 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation, x:int=1:int
// EXPECTATIONS
// test.kt:5 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:6 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1, x:int=1:int
@@ -1,5 +1,5 @@
// WITH_RUNTIME
// WITH_COROUTINES
// FILE: test.kt
class A {
operator fun component1() = "O"
@@ -13,46 +13,28 @@ suspend fun box() = foo(A()) { (x_param, _, y_param) ->
x_param + y_param
}
// TODO: The backends disagree on the local variables in invoke/invokeSuspend methods
// LOCAL VARIABLES
// test.kt:12 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// EXPECTATIONS
// test.kt:12 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:4 <init>:
// test.kt:12 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// test.kt:10 foo: a:A=A, block:kotlin.jvm.functions.Function2=TestKt$box$2, $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// LOCAL VARIABLES JVM
// test.kt:-1 <init>:
// test.kt:-1 create: value:java.lang.Object=A, completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// test.kt:-1 invoke:
// LOCAL VARIABLES JVM_IR
// test.kt:-1 <init>: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// test.kt:-1 create: value:java.lang.Object=A, $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// test.kt:-1 invoke: p1:A=A, p2:kotlin.coroutines.Continuation=helpers.ResultContinuation
// LOCAL VARIABLES
// test.kt:12 invokeSuspend:
// test.kt:12 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:10 foo: a:A=A, block:kotlin.jvm.functions.Function2=TestKt$box$2, $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:5 component1:
// test.kt:12 invokeSuspend: $result:java.lang.Object=kotlin.Unit, $dstr$x_param$_u24__u24$y_param:A=A
// test.kt:7 component3:
// LOCAL VARIABLES JVM
// EXPECTATIONS JVM_IR
// test.kt:12 invokeSuspend: $result:java.lang.Object=kotlin.Unit, $dstr$x_param$_u24__u24$y_param:A=A, x_param:java.lang.String="O":java.lang.String
// EXPECTATIONS JVM
// test.kt:12 invokeSuspend: $result:java.lang.Object=kotlin.Unit, $dstr$x_param$_u24__u24$y_param:A=A
// LOCAL VARIABLES JVM_IR
// test.kt:12 invokeSuspend: $result:java.lang.Object=kotlin.Unit, $dstr$x_param$_u24__u24$y_param:A=A, x_param:java.lang.String="O":java.lang.String
// LOCAL VARIABLES
// EXPECTATIONS
// test.kt:13 invokeSuspend: $result:java.lang.Object=kotlin.Unit, $dstr$x_param$_u24__u24$y_param:A=A, x_param:java.lang.String="O":java.lang.String, y_param:java.lang.String="K":java.lang.String
// LOCAL VARIABLES JVM
// EXPECTATIONS JVM_IR
// test.kt:-1 invoke: p1:A=A, p2:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// EXPECTATIONS JVM
// test.kt:-1 invoke:
// LOCAL VARIABLES JVM_IR
// test.kt:-1 invoke: p1:A=A, p2:kotlin.coroutines.Continuation=helpers.ResultContinuation
// LOCAL VARIABLES
// test.kt:10 foo: a:A=A, block:kotlin.jvm.functions.Function2=TestKt$box$2, $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// test.kt:14 box: $completion:kotlin.coroutines.Continuation=helpers.ResultContinuation
// EXPECTATIONS
// test.kt:10 foo: a:A=A, block:kotlin.jvm.functions.Function2=TestKt$box$2, $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
// test.kt:14 box: $completion:kotlin.coroutines.Continuation=Generated_Box_MainKt$main$1
+14 -13
View File
@@ -1,3 +1,7 @@
// The old backend has the local y covering the finally block as well.
// IGNORE_BACKEND: JVM
// WITH_RUNTIME
// FILE: test.kt
fun box() {
var result = ""
@@ -14,16 +18,13 @@ fun box() {
}
}
// The old backend has the local y covering the finally block as well.
// IGNORE_BACKEND: JVM
// LOCAL VARIABLES
// test.kt:3 box:
// test.kt:4 box: result:java.lang.String="":java.lang.String
// test.kt:5 box: result:java.lang.String="":java.lang.String, x:java.lang.String="A":java.lang.String
// test.kt:6 box: result:java.lang.String="":java.lang.String, x:java.lang.String="A":java.lang.String
// test.kt:7 box: result:java.lang.String="":java.lang.String, x:java.lang.String="A":java.lang.String, y:java.lang.String="y":java.lang.String
// test.kt:8 box: result:java.lang.String="y":java.lang.String, x:java.lang.String="A":java.lang.String, y:java.lang.String="y":java.lang.String
// test.kt:11 box: result:java.lang.String="y":java.lang.String, x:java.lang.String="A":java.lang.String
// test.kt:12 box: result:java.lang.String="y":java.lang.String, x:java.lang.String="A":java.lang.String, z:java.lang.String="z":java.lang.String
// test.kt:15 box: result:java.lang.String="yz":java.lang.String
// EXPECTATIONS
// test.kt:7 box:
// test.kt:8 box: result:java.lang.String="":java.lang.String
// test.kt:9 box: result:java.lang.String="":java.lang.String, x:java.lang.String="A":java.lang.String
// test.kt:10 box: result:java.lang.String="":java.lang.String, x:java.lang.String="A":java.lang.String
// test.kt:11 box: result:java.lang.String="":java.lang.String, x:java.lang.String="A":java.lang.String, y:java.lang.String="y":java.lang.String
// test.kt:12 box: result:java.lang.String="y":java.lang.String, x:java.lang.String="A":java.lang.String, y:java.lang.String="y":java.lang.String
// test.kt:15 box: result:java.lang.String="y":java.lang.String, x:java.lang.String="A":java.lang.String
// test.kt:16 box: result:java.lang.String="y":java.lang.String, x:java.lang.String="A":java.lang.String, z:java.lang.String="z":java.lang.String
// test.kt:19 box: result:java.lang.String="yz":java.lang.String
+20 -20
View File
@@ -1,3 +1,6 @@
// The local variables `y` and `i` are visible in the finally block with old backend.
// IGNORE_BACKEND: JVM
// WITH_RUNTIME
// FILE: test.kt
inline fun f(block: () -> Unit) {
@@ -33,23 +36,20 @@ fun box() {
val localX = x
}
// The local variables `y` and `i` are visible in the finally block with old backend.
// IGNORE_BACKEND: JVM
// LOCAL VARIABLES
// test.kt:32 box:
// test.kt:17 compute:
// test.kt:18 compute:
// test.kt:19 compute: y:int=42:int
// test.kt:20 compute: y:int=42:int, i:int=0:int
// test.kt:4 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int
// test.kt:5 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int
// test.kt:6 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int, z$iv:int=32:int
// test.kt:7 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int, z$iv:int=32:int, j$iv:int=0:int
// test.kt:10 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int
// test.kt:21 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int, $i$a$-f-TestKt$compute$1:int=0:int
// test.kt:25 compute:
// test.kt:26 compute: s2:java.lang.String="OK":java.lang.String
// test.kt:32 box:
// test.kt:33 box: result:java.lang.String="NON_LOCAL_RETURN":java.lang.String
// test.kt:34 box: result:java.lang.String="NON_LOCAL_RETURN":java.lang.String, localX:java.lang.String="OK":java.lang.String
// EXPECTATIONS
// test.kt:35 box:
// test.kt:20 compute:
// test.kt:21 compute:
// test.kt:22 compute: y:int=42:int
// test.kt:23 compute: y:int=42:int, i:int=0:int
// test.kt:7 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int
// test.kt:8 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int
// test.kt:9 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int, z$iv:int=32:int
// test.kt:10 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int, z$iv:int=32:int, j$iv:int=0:int
// test.kt:13 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int
// test.kt:24 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int, $i$a$-f-TestKt$compute$1:int=0:int
// test.kt:28 compute:
// test.kt:29 compute: s2:java.lang.String="OK":java.lang.String
// test.kt:35 box:
// test.kt:36 box: result:java.lang.String="NON_LOCAL_RETURN":java.lang.String
// test.kt:37 box: result:java.lang.String="NON_LOCAL_RETURN":java.lang.String, localX:java.lang.String="OK":java.lang.String
+15 -15
View File
@@ -1,3 +1,6 @@
// The local variables `z` and `y` are visible in the finally block with old backend.
// IGNORE_BACKEND: JVM
// WITH_RUNTIME
// FILE: test.kt
fun box(): String {
@@ -20,19 +23,16 @@ fun box(): String {
return "FAIL"
}
// The local variables `z` and `y` are visible in the finally block with old backend.
// IGNORE_BACKEND: JVM
// LOCAL VARIABLES
// test.kt:4 box:
// test.kt:5 box:
// test.kt:6 box: i:int=0:int
// test.kt:7 box: i:int=0:int
// test.kt:8 box: i:int=0:int, x:java.lang.String="x":java.lang.String
// EXPECTATIONS
// test.kt:7 box:
// test.kt:8 box:
// test.kt:9 box: i:int=0:int
// test.kt:10 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException
// test.kt:11 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException, y:java.lang.String="y":java.lang.String
// test.kt:12 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException, y:java.lang.String="y":java.lang.String, z:java.lang.String="z":java.lang.String
// test.kt:14 box: i:int=0:int
// test.kt:17 box:
// test.kt:18 box:
// test.kt:10 box: i:int=0:int
// test.kt:11 box: i:int=0:int, x:java.lang.String="x":java.lang.String
// test.kt:12 box: i:int=0:int
// test.kt:13 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException
// test.kt:14 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException, y:java.lang.String="y":java.lang.String
// test.kt:15 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException, y:java.lang.String="y":java.lang.String, z:java.lang.String="z":java.lang.String
// test.kt:17 box: i:int=0:int
// test.kt:20 box:
// test.kt:21 box:
+15 -15
View File
@@ -1,3 +1,6 @@
// The local variables `z` and `y` are visible in the finally block with old backend.
// IGNORE_BACKEND: JVM
// WITH_RUNTIME
// FILE: test.kt
fun box(): String {
@@ -20,19 +23,16 @@ fun box(): String {
return "FAIL"
}
// The local variables `z` and `y` are visible in the finally block with old backend.
// IGNORE_BACKEND: JVM
// LOCAL VARIABLES
// test.kt:4 box:
// test.kt:5 box:
// test.kt:6 box: i:int=0:int
// test.kt:7 box: i:int=0:int
// test.kt:8 box: i:int=0:int, x:java.lang.String="x":java.lang.String
// EXPECTATIONS
// test.kt:7 box:
// test.kt:8 box:
// test.kt:9 box: i:int=0:int
// test.kt:10 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException
// test.kt:11 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException, y:java.lang.String="y":java.lang.String
// test.kt:12 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException, y:java.lang.String="y":java.lang.String, z:java.lang.String="z":java.lang.String
// test.kt:14 box: i:int=0:int
// test.kt:17 box:
// test.kt:18 box:
// test.kt:10 box: i:int=0:int
// test.kt:11 box: i:int=0:int, x:java.lang.String="x":java.lang.String
// test.kt:12 box: i:int=0:int
// test.kt:13 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException
// test.kt:14 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException, y:java.lang.String="y":java.lang.String
// test.kt:15 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException, y:java.lang.String="y":java.lang.String, z:java.lang.String="z":java.lang.String
// test.kt:17 box: i:int=0:int
// test.kt:20 box:
// test.kt:21 box:
+13 -13
View File
@@ -1,3 +1,6 @@
// The local variables `y` and `i` are visible in finally blocks with old backend.
// IGNORE_BACKEND: JVM
// WITH_RUNTIME
// FILE: test.kt
fun box(): String {
@@ -19,17 +22,14 @@ fun box(): String {
return "FAIL3"
}
// The local variables `y` and `i` are visible in finally blocks with old backend.
// IGNORE_BACKEND: JVM
// LOCAL VARIABLES
// test.kt:4 box:
// test.kt:5 box:
// test.kt:6 box: i:int=0:int
// test.kt:7 box: i:int=0:int
// test.kt:8 box: i:int=0:int, x:java.lang.String="x":java.lang.String
// EXPECTATIONS
// test.kt:7 box:
// test.kt:8 box:
// test.kt:9 box: i:int=0:int
// test.kt:10 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException
// test.kt:11 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException, y:java.lang.String="y":java.lang.String
// test.kt:13 box: i:int=0:int
// test.kt:17 box:
// test.kt:10 box: i:int=0:int
// test.kt:11 box: i:int=0:int, x:java.lang.String="x":java.lang.String
// test.kt:12 box: i:int=0:int
// test.kt:13 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException
// test.kt:14 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException, y:java.lang.String="y":java.lang.String
// test.kt:16 box: i:int=0:int
// test.kt:20 box:
+2 -2
View File
@@ -1,5 +1,5 @@
// WITH_RUNTIME
// FILE: test.kt
fun box(): String {
try {
for (i in 0 until 1) {
@@ -16,7 +16,7 @@ fun box(): String {
return "FAIL"
}
// LOCAL VARIABLES
// EXPECTATIONS
// test.kt:4 box:
// test.kt:5 box:
// test.kt:6 box: i:int=0:int
+5 -5
View File
@@ -1,5 +1,5 @@
// WITH_RUNTIME
// FILE: test.kt
fun box(): String {
try {
for (i in 0 until 1) {
@@ -16,16 +16,16 @@ fun box(): String {
return "FAIL"
}
// LOCAL VARIABLES
// EXPECTATIONS
// test.kt:4 box:
// test.kt:5 box:
// test.kt:6 box: i:int=0:int
// test.kt:7 box: i:int=0:int
// test.kt:8 box: i:int=0:int, x:java.lang.String="x":java.lang.String
// test.kt:10 box: i:int=0:int
// LOCAL VARIABLES JVM
// EXPECTATIONS JVM
// test.kt:5 box: i:int=0:int
// LOCAL VARIABLES JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:5 box: i:int=0:int
// LOCAL VARIABLES
// EXPECTATIONS
// test.kt:14 box:
+11 -12
View File
@@ -1,5 +1,7 @@
// The local `i` is visible in the finally block with old backend.
// IGNORE_BACKEND: JVM
// WITH_RUNTIME
// FILE: test.kt
fun box(): String {
try {
for (i in 0 until 1) {
@@ -16,14 +18,11 @@ fun box(): String {
return "FAIL2"
}
// The local `i` is visible in the finally block with old backend.
// IGNORE_BACKEND: JVM
// LOCAL VARIABLES
// test.kt:4 box:
// test.kt:5 box:
// test.kt:6 box: i:int=0:int
// test.kt:7 box: i:int=0:int
// test.kt:8 box: i:int=0:int, x:java.lang.String="x":java.lang.String
// test.kt:10 box: i:int=0:int
// test.kt:14 box:
// EXPECTATIONS
// test.kt:6 box:
// test.kt:7 box:
// test.kt:8 box: i:int=0:int
// test.kt:9 box: i:int=0:int
// test.kt:10 box: i:int=0:int, x:java.lang.String="x":java.lang.String
// test.kt:12 box: i:int=0:int
// test.kt:16 box:
+9 -9
View File
@@ -1,3 +1,7 @@
// IGNORE_BACKEND: JVM
// The old backend steps on line 4, 5, 9, and 8. No step on the throw, and a step on the end
// brace of the finally before going into the actual finally code.
// FILE: test.kt
fun box(): String {
@@ -10,13 +14,9 @@ fun box(): String {
return "FAIL"
}
// IGNORE_BACKEND: JVM
// The old backend steps on line 4, 5, 9, and 8. No step on the throw, and a step on the end
// brace of the finally before going into the actual finally code.
// LOCAL VARIABLES
// test.kt:4 box:
// test.kt:5 box:
// test.kt:6 box: x:java.lang.String="x":java.lang.String
// test.kt:7 box:
// EXPECTATIONS
// test.kt:8 box:
// test.kt:9 box:
// test.kt:10 box: x:java.lang.String="x":java.lang.String
// test.kt:11 box:
// test.kt:12 box:
+21 -21
View File
@@ -1,3 +1,6 @@
// The old backend has the local y covering the finally block as well.
// IGNORE_BACKEND: JVM
// WITH_RUNTIME
// FILE: test.kt
fun box() {
var result = ""
@@ -14,24 +17,21 @@ fun box() {
}
}
// The old backend has the local y covering the finally block as well.
// IGNORE_BACKEND: JVM
// LOCAL VARIABLES
// test.kt:3 box:
// test.kt:4 box: result:java.lang.String="":java.lang.String
// test.kt:5 box: result:java.lang.String="":java.lang.String, x:java.lang.String="A":java.lang.String
// test.kt:6 box: result:java.lang.String="":java.lang.String, x:java.lang.String="A":java.lang.String
// test.kt:7 box: result:java.lang.String="":java.lang.String, x:java.lang.String="A":java.lang.String, y:java.lang.String="y":java.lang.String
// test.kt:8 box: result:java.lang.String="y":java.lang.String, x:java.lang.String="A":java.lang.String, y:java.lang.String="y":java.lang.String
// test.kt:11 box: result:java.lang.String="y":java.lang.String, x:java.lang.String="A":java.lang.String
// test.kt:12 box: result:java.lang.String="y":java.lang.String, x:java.lang.String="A":java.lang.String, z:java.lang.String="z":java.lang.String
// test.kt:4 box: result:java.lang.String="yz":java.lang.String
// test.kt:5 box: result:java.lang.String="yz":java.lang.String, x:java.lang.String="B":java.lang.String
// test.kt:6 box: result:java.lang.String="yz":java.lang.String, x:java.lang.String="B":java.lang.String
// test.kt:7 box: result:java.lang.String="yz":java.lang.String, x:java.lang.String="B":java.lang.String, y:java.lang.String="y":java.lang.String
// test.kt:8 box: result:java.lang.String="yzy":java.lang.String, x:java.lang.String="B":java.lang.String, y:java.lang.String="y":java.lang.String
// test.kt:11 box: result:java.lang.String="yzy":java.lang.String, x:java.lang.String="B":java.lang.String
// test.kt:12 box: result:java.lang.String="yzy":java.lang.String, x:java.lang.String="B":java.lang.String, z:java.lang.String="z":java.lang.String
// test.kt:4 box: result:java.lang.String="yzyz":java.lang.String
// test.kt:15 box: result:java.lang.String="yzyz":java.lang.String
// EXPECTATIONS
// test.kt:6 box:
// test.kt:7 box: result:java.lang.String="":java.lang.String
// test.kt:8 box: result:java.lang.String="":java.lang.String, x:java.lang.String="A":java.lang.String
// test.kt:9 box: result:java.lang.String="":java.lang.String, x:java.lang.String="A":java.lang.String
// test.kt:10 box: result:java.lang.String="":java.lang.String, x:java.lang.String="A":java.lang.String, y:java.lang.String="y":java.lang.String
// test.kt:11 box: result:java.lang.String="y":java.lang.String, x:java.lang.String="A":java.lang.String, y:java.lang.String="y":java.lang.String
// test.kt:14 box: result:java.lang.String="y":java.lang.String, x:java.lang.String="A":java.lang.String
// test.kt:15 box: result:java.lang.String="y":java.lang.String, x:java.lang.String="A":java.lang.String, z:java.lang.String="z":java.lang.String
// test.kt:7 box: result:java.lang.String="yz":java.lang.String
// test.kt:8 box: result:java.lang.String="yz":java.lang.String, x:java.lang.String="B":java.lang.String
// test.kt:9 box: result:java.lang.String="yz":java.lang.String, x:java.lang.String="B":java.lang.String
// test.kt:10 box: result:java.lang.String="yz":java.lang.String, x:java.lang.String="B":java.lang.String, y:java.lang.String="y":java.lang.String
// test.kt:11 box: result:java.lang.String="yzy":java.lang.String, x:java.lang.String="B":java.lang.String, y:java.lang.String="y":java.lang.String
// test.kt:14 box: result:java.lang.String="yzy":java.lang.String, x:java.lang.String="B":java.lang.String
// test.kt:15 box: result:java.lang.String="yzy":java.lang.String, x:java.lang.String="B":java.lang.String, z:java.lang.String="z":java.lang.String
// test.kt:7 box: result:java.lang.String="yzyz":java.lang.String
// test.kt:18 box: result:java.lang.String="yzyz":java.lang.String
+16 -16
View File
@@ -1,3 +1,6 @@
// The old backend has the local y covering the finally block as well.
// IGNORE_BACKEND: JVM
// WITH_RUNTIME
// FILE: test.kt
fun compute(): String {
@@ -20,19 +23,16 @@ fun box() {
compute()
}
// The old backend has the local y covering the finally block as well.
// IGNORE_BACKEND: JVM
// LOCAL VARIABLES
// test.kt:20 box:
// test.kt:4 compute:
// test.kt:5 compute: result:java.lang.String="":java.lang.String
// test.kt:6 compute: result:java.lang.String="":java.lang.String, x:java.lang.String="A":java.lang.String
// test.kt:7 compute: result:java.lang.String="":java.lang.String, x:java.lang.String="A":java.lang.String
// test.kt:8 compute: result:java.lang.String="":java.lang.String, x:java.lang.String="A":java.lang.String, y:java.lang.String="y":java.lang.String
// test.kt:9 compute: result:java.lang.String="y":java.lang.String, x:java.lang.String="A":java.lang.String, y:java.lang.String="y":java.lang.String
// test.kt:12 compute: result:java.lang.String="y":java.lang.String, x:java.lang.String="A":java.lang.String
// test.kt:13 compute: result:java.lang.String="y":java.lang.String, x:java.lang.String="A":java.lang.String, z:java.lang.String="z":java.lang.String
// test.kt:9 compute: result:java.lang.String="yz":java.lang.String, x:java.lang.String="A":java.lang.String, y:java.lang.String="y":java.lang.String
// test.kt:20 box:
// test.kt:21 box:
// EXPECTATIONS
// test.kt:23 box:
// test.kt:7 compute:
// test.kt:8 compute: result:java.lang.String="":java.lang.String
// test.kt:9 compute: result:java.lang.String="":java.lang.String, x:java.lang.String="A":java.lang.String
// test.kt:10 compute: result:java.lang.String="":java.lang.String, x:java.lang.String="A":java.lang.String
// test.kt:11 compute: result:java.lang.String="":java.lang.String, x:java.lang.String="A":java.lang.String, y:java.lang.String="y":java.lang.String
// test.kt:12 compute: result:java.lang.String="y":java.lang.String, x:java.lang.String="A":java.lang.String, y:java.lang.String="y":java.lang.String
// test.kt:15 compute: result:java.lang.String="y":java.lang.String, x:java.lang.String="A":java.lang.String
// test.kt:16 compute: result:java.lang.String="y":java.lang.String, x:java.lang.String="A":java.lang.String, z:java.lang.String="z":java.lang.String
// test.kt:12 compute: result:java.lang.String="yz":java.lang.String, x:java.lang.String="A":java.lang.String, y:java.lang.String="y":java.lang.String
// test.kt:23 box:
// test.kt:24 box:
+21 -21
View File
@@ -1,3 +1,6 @@
// The old backend gets the local variables for finally blocks wrong.
// IGNORE_BACKEND: JVM
// WITH_RUNTIME
// FILE: test.kt
fun compute(): String {
@@ -26,24 +29,21 @@ fun box() {
compute()
}
// The old backend gets the local variables for finally blocks wrong.
// IGNORE_BACKEND: JVM
// LOCAL VARIABLES
// test.kt:26 box:
// test.kt:4 compute:
// test.kt:5 compute: result:java.lang.String="":java.lang.String
// test.kt:6 compute: result:java.lang.String="":java.lang.String
// test.kt:7 compute: result:java.lang.String="":java.lang.String, a:java.lang.String="a":java.lang.String
// test.kt:8 compute: result:java.lang.String="":java.lang.String, a:java.lang.String="a":java.lang.String
// test.kt:9 compute: result:java.lang.String="":java.lang.String, a:java.lang.String="a":java.lang.String, b:java.lang.String="b":java.lang.String
// test.kt:10 compute: result:java.lang.String="":java.lang.String, a:java.lang.String="a":java.lang.String, b:java.lang.String="b":java.lang.String, i:int=0:int
// test.kt:11 compute: result:java.lang.String="":java.lang.String, a:java.lang.String="a":java.lang.String, b:java.lang.String="b":java.lang.String, i:int=0:int, e:java.lang.String="e":java.lang.String
// test.kt:12 compute: result:java.lang.String="b":java.lang.String, a:java.lang.String="a":java.lang.String, b:java.lang.String="b":java.lang.String, i:int=0:int, e:java.lang.String="e":java.lang.String
// test.kt:15 compute: result:java.lang.String="b":java.lang.String, a:java.lang.String="a":java.lang.String
// test.kt:16 compute: result:java.lang.String="b":java.lang.String, a:java.lang.String="a":java.lang.String, c:java.lang.String="c":java.lang.String
// test.kt:19 compute: result:java.lang.String="bc":java.lang.String
// test.kt:20 compute: result:java.lang.String="bc":java.lang.String, d:java.lang.String="d":java.lang.String
// test.kt:12 compute: result:java.lang.String="bcd":java.lang.String, a:java.lang.String="a":java.lang.String, b:java.lang.String="b":java.lang.String, i:int=0:int, e:java.lang.String="e":java.lang.String
// test.kt:26 box:
// test.kt:27 box:
// EXPECTATIONS
// test.kt:29 box:
// test.kt:7 compute:
// test.kt:8 compute: result:java.lang.String="":java.lang.String
// test.kt:9 compute: result:java.lang.String="":java.lang.String
// test.kt:10 compute: result:java.lang.String="":java.lang.String, a:java.lang.String="a":java.lang.String
// test.kt:11 compute: result:java.lang.String="":java.lang.String, a:java.lang.String="a":java.lang.String
// test.kt:12 compute: result:java.lang.String="":java.lang.String, a:java.lang.String="a":java.lang.String, b:java.lang.String="b":java.lang.String
// test.kt:13 compute: result:java.lang.String="":java.lang.String, a:java.lang.String="a":java.lang.String, b:java.lang.String="b":java.lang.String, i:int=0:int
// test.kt:14 compute: result:java.lang.String="":java.lang.String, a:java.lang.String="a":java.lang.String, b:java.lang.String="b":java.lang.String, i:int=0:int, e:java.lang.String="e":java.lang.String
// test.kt:15 compute: result:java.lang.String="b":java.lang.String, a:java.lang.String="a":java.lang.String, b:java.lang.String="b":java.lang.String, i:int=0:int, e:java.lang.String="e":java.lang.String
// test.kt:18 compute: result:java.lang.String="b":java.lang.String, a:java.lang.String="a":java.lang.String
// test.kt:19 compute: result:java.lang.String="b":java.lang.String, a:java.lang.String="a":java.lang.String, c:java.lang.String="c":java.lang.String
// test.kt:22 compute: result:java.lang.String="bc":java.lang.String
// test.kt:23 compute: result:java.lang.String="bc":java.lang.String, d:java.lang.String="d":java.lang.String
// test.kt:15 compute: result:java.lang.String="bcd":java.lang.String, a:java.lang.String="a":java.lang.String, b:java.lang.String="b":java.lang.String, i:int=0:int, e:java.lang.String="e":java.lang.String
// test.kt:29 box:
// test.kt:30 box:
+15 -16
View File
@@ -1,3 +1,6 @@
// JVM backend has the `a` local covering the finally block. It shouldn't.
// IGNORE_BACKEND: JVM
// WITH_RUNTIME
// FILE: test.kt
inline fun g(block: () -> Unit) {
@@ -26,19 +29,15 @@ fun box() {
val localX = x
}
// JVM backend has the `a` local covering the finally block. It shouldn't.
// IGNORE_BACKEND: JVM
// LOCAL VARIABLES
// test.kt:25 box:
// test.kt:10 compute:
// test.kt:11 compute:
// test.kt:12 compute: a:java.lang.String="a":java.lang.String
// test.kt:4 compute: a:java.lang.String="a":java.lang.String, $i$f$g:int=0:int
// test.kt:13 compute: a:java.lang.String="a":java.lang.String, $i$f$g:int=0:int, $i$a$-g-TestKt$compute$1:int=0:int
// test.kt:14 compute: a:java.lang.String="a":java.lang.String, $i$f$g:int=0:int, $i$a$-g-TestKt$compute$1:int=0:int, b:java.lang.String="b":java.lang.String
// test.kt:19 compute:
// test.kt:25 box:
// test.kt:26 box: result:java.lang.String="b":java.lang.String
// test.kt:27 box: result:java.lang.String="b":java.lang.String, localX:java.lang.String="OK":java.lang.String
// EXPECTATIONS
// test.kt:28 box:
// test.kt:13 compute:
// test.kt:14 compute:
// test.kt:15 compute: a:java.lang.String="a":java.lang.String
// test.kt:7 compute: a:java.lang.String="a":java.lang.String, $i$f$g:int=0:int
// test.kt:16 compute: a:java.lang.String="a":java.lang.String, $i$f$g:int=0:int, $i$a$-g-TestKt$compute$1:int=0:int
// test.kt:17 compute: a:java.lang.String="a":java.lang.String, $i$f$g:int=0:int, $i$a$-g-TestKt$compute$1:int=0:int, b:java.lang.String="b":java.lang.String
// test.kt:22 compute:
// test.kt:28 box:
// test.kt:29 box: result:java.lang.String="b":java.lang.String
// test.kt:30 box: result:java.lang.String="b":java.lang.String, localX:java.lang.String="OK":java.lang.String
+22 -22
View File
@@ -1,3 +1,6 @@
// JVM backend has `a` visible in the `compute` finally block. It shouldn't be.
// IGNORE_BACKEND: JVM
// WITH_RUNTIME
// FILE: test.kt
inline fun h(block: () -> Unit) {
@@ -40,25 +43,22 @@ fun box() {
val localX = x
}
// JVM backend has `a` visible in the `compute` finally block. It shouldn't be.
// IGNORE_BACKEND: JVM
// LOCAL VARIABLES
// test.kt:39 box:
// test.kt:24 compute:
// test.kt:25 compute:
// test.kt:26 compute: a:java.lang.String="a":java.lang.String
// test.kt:13 compute: a:java.lang.String="a":java.lang.String, $i$f$g:int=0:int
// test.kt:14 compute: a:java.lang.String="a":java.lang.String, $i$f$g:int=0:int
// test.kt:15 compute: a:java.lang.String="a":java.lang.String, $i$f$g:int=0:int, gLocal$iv:java.lang.String="gLocal":java.lang.String
// test.kt:4 compute: a:java.lang.String="a":java.lang.String, $i$f$g:int=0:int, gLocal$iv:java.lang.String="gLocal":java.lang.String, $i$f$h:int=0:int
// test.kt:5 compute: a:java.lang.String="a":java.lang.String, $i$f$g:int=0:int, gLocal$iv:java.lang.String="gLocal":java.lang.String, $i$f$h:int=0:int
// test.kt:6 compute: a:java.lang.String="a":java.lang.String, $i$f$g:int=0:int, gLocal$iv:java.lang.String="gLocal":java.lang.String, $i$f$h:int=0:int, hLocal$iv$iv:java.lang.String="hLocal":java.lang.String
// test.kt:27 compute: a:java.lang.String="a":java.lang.String, $i$f$g:int=0:int, gLocal$iv:java.lang.String="gLocal":java.lang.String, $i$f$h:int=0:int, hLocal$iv$iv:java.lang.String="hLocal":java.lang.String, $i$a$-g-TestKt$compute$1:int=0:int
// test.kt:28 compute: a:java.lang.String="a":java.lang.String, $i$f$g:int=0:int, gLocal$iv:java.lang.String="gLocal":java.lang.String, $i$f$h:int=0:int, hLocal$iv$iv:java.lang.String="hLocal":java.lang.String, $i$a$-g-TestKt$compute$1:int=0:int, b:java.lang.String="b":java.lang.String
// test.kt:8 compute: a:java.lang.String="a":java.lang.String
// test.kt:17 compute: a:java.lang.String="a":java.lang.String
// test.kt:33 compute:
// test.kt:39 box:
// test.kt:40 box: result:java.lang.String="b":java.lang.String
// test.kt:41 box: result:java.lang.String="b":java.lang.String, localX:java.lang.String="OK":java.lang.String
// EXPECTATIONS
// test.kt:42 box:
// test.kt:27 compute:
// test.kt:28 compute:
// test.kt:29 compute: a:java.lang.String="a":java.lang.String
// test.kt:16 compute: a:java.lang.String="a":java.lang.String, $i$f$g:int=0:int
// test.kt:17 compute: a:java.lang.String="a":java.lang.String, $i$f$g:int=0:int
// test.kt:18 compute: a:java.lang.String="a":java.lang.String, $i$f$g:int=0:int, gLocal$iv:java.lang.String="gLocal":java.lang.String
// test.kt:7 compute: a:java.lang.String="a":java.lang.String, $i$f$g:int=0:int, gLocal$iv:java.lang.String="gLocal":java.lang.String, $i$f$h:int=0:int
// test.kt:8 compute: a:java.lang.String="a":java.lang.String, $i$f$g:int=0:int, gLocal$iv:java.lang.String="gLocal":java.lang.String, $i$f$h:int=0:int
// test.kt:9 compute: a:java.lang.String="a":java.lang.String, $i$f$g:int=0:int, gLocal$iv:java.lang.String="gLocal":java.lang.String, $i$f$h:int=0:int, hLocal$iv$iv:java.lang.String="hLocal":java.lang.String
// test.kt:30 compute: a:java.lang.String="a":java.lang.String, $i$f$g:int=0:int, gLocal$iv:java.lang.String="gLocal":java.lang.String, $i$f$h:int=0:int, hLocal$iv$iv:java.lang.String="hLocal":java.lang.String, $i$a$-g-TestKt$compute$1:int=0:int
// test.kt:31 compute: a:java.lang.String="a":java.lang.String, $i$f$g:int=0:int, gLocal$iv:java.lang.String="gLocal":java.lang.String, $i$f$h:int=0:int, hLocal$iv$iv:java.lang.String="hLocal":java.lang.String, $i$a$-g-TestKt$compute$1:int=0:int, b:java.lang.String="b":java.lang.String
// test.kt:11 compute: a:java.lang.String="a":java.lang.String
// test.kt:20 compute: a:java.lang.String="a":java.lang.String
// test.kt:36 compute:
// test.kt:42 box:
// test.kt:43 box: result:java.lang.String="b":java.lang.String
// test.kt:44 box: result:java.lang.String="b":java.lang.String, localX:java.lang.String="OK":java.lang.String
+19 -19
View File
@@ -1,3 +1,6 @@
// The old backend has `y` and `j` visible on the finally block.
// IGNORE_BACKEND: JVM
// WITH_RUNTIME
// FILE: test.kt
inline fun f(block: () -> Unit) {
@@ -30,22 +33,19 @@ fun box() {
val localX = x
}
// The old backend has `y` and `j` visible on the finally block.
// IGNORE_BACKEND: JVM
// LOCAL VARIABLES
// test.kt:29 box:
// test.kt:10 compute:
// test.kt:11 compute:
// test.kt:12 compute: y:int=42:int
// test.kt:13 compute: y:int=42:int, i:int=0:int
// test.kt:15 compute:
// test.kt:16 compute: e:java.lang.Exception=java.lang.RuntimeException
// test.kt:17 compute: e:java.lang.Exception=java.lang.RuntimeException, y:int=32:int
// test.kt:18 compute: e:java.lang.Exception=java.lang.RuntimeException, y:int=32:int, j:int=0:int
// test.kt:4 compute: e:java.lang.Exception=java.lang.RuntimeException, y:int=32:int, j:int=0:int, $i$f$f:int=0:int
// test.kt:19 compute: e:java.lang.Exception=java.lang.RuntimeException, y:int=32:int, j:int=0:int, $i$f$f:int=0:int, $i$a$-f-TestKt$compute$1:int=0:int
// test.kt:23 compute:
// test.kt:29 box:
// test.kt:30 box: result:java.lang.String="NON_LOCAL_RETURN":java.lang.String
// test.kt:31 box: result:java.lang.String="NON_LOCAL_RETURN":java.lang.String, localX:java.lang.String="OK":java.lang.String
// EXPECTATIONS
// test.kt:32 box:
// test.kt:13 compute:
// test.kt:14 compute:
// test.kt:15 compute: y:int=42:int
// test.kt:16 compute: y:int=42:int, i:int=0:int
// test.kt:18 compute:
// test.kt:19 compute: e:java.lang.Exception=java.lang.RuntimeException
// test.kt:20 compute: e:java.lang.Exception=java.lang.RuntimeException, y:int=32:int
// test.kt:21 compute: e:java.lang.Exception=java.lang.RuntimeException, y:int=32:int, j:int=0:int
// test.kt:7 compute: e:java.lang.Exception=java.lang.RuntimeException, y:int=32:int, j:int=0:int, $i$f$f:int=0:int
// test.kt:22 compute: e:java.lang.Exception=java.lang.RuntimeException, y:int=32:int, j:int=0:int, $i$f$f:int=0:int, $i$a$-f-TestKt$compute$1:int=0:int
// test.kt:26 compute:
// test.kt:32 box:
// test.kt:33 box: result:java.lang.String="NON_LOCAL_RETURN":java.lang.String
// test.kt:34 box: result:java.lang.String="NON_LOCAL_RETURN":java.lang.String, localX:java.lang.String="OK":java.lang.String
+20 -20
View File
@@ -1,3 +1,6 @@
// The old backend has `y` and `i` visible on the finally block.
// IGNORE_BACKEND: JVM
// WITH_RUNTIME
// FILE: test.kt
inline fun f(block: () -> Unit) {
@@ -32,23 +35,20 @@ fun box() {
val localX = x
}
// The old backend has `y` and `i` visible on the finally block.
// IGNORE_BACKEND: JVM
// LOCAL VARIABLES
// test.kt:31 box:
// test.kt:17 compute:
// test.kt:18 compute:
// test.kt:19 compute: y:int=42:int
// test.kt:20 compute: y:int=42:int, i:int=0:int
// test.kt:4 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int
// test.kt:5 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int
// test.kt:6 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int, z$iv:int=32:int
// test.kt:7 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int, z$iv:int=32:int, j$iv:int=0:int
// test.kt:9 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int
// test.kt:10 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int, e$iv:java.lang.Exception=java.lang.RuntimeException
// test.kt:21 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int, e$iv:java.lang.Exception=java.lang.RuntimeException, $i$a$-f-TestKt$compute$1:int=0:int
// test.kt:25 compute:
// test.kt:31 box:
// test.kt:32 box: result:java.lang.String="NON_LOCAL_RETURN":java.lang.String
// test.kt:33 box: result:java.lang.String="NON_LOCAL_RETURN":java.lang.String, localX:java.lang.String="OK":java.lang.String
// EXPECTATIONS
// test.kt:34 box:
// test.kt:20 compute:
// test.kt:21 compute:
// test.kt:22 compute: y:int=42:int
// test.kt:23 compute: y:int=42:int, i:int=0:int
// test.kt:7 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int
// test.kt:8 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int
// test.kt:9 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int, z$iv:int=32:int
// test.kt:10 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int, z$iv:int=32:int, j$iv:int=0:int
// test.kt:12 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int
// test.kt:13 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int, e$iv:java.lang.Exception=java.lang.RuntimeException
// test.kt:24 compute: y:int=42:int, i:int=0:int, $i$f$f:int=0:int, e$iv:java.lang.Exception=java.lang.RuntimeException, $i$a$-f-TestKt$compute$1:int=0:int
// test.kt:28 compute:
// test.kt:34 box:
// test.kt:35 box: result:java.lang.String="NON_LOCAL_RETURN":java.lang.String
// test.kt:36 box: result:java.lang.String="NON_LOCAL_RETURN":java.lang.String, localX:java.lang.String="OK":java.lang.String
+23 -23
View File
@@ -1,3 +1,6 @@
// The local variables in the try and finally blocks are not removed for the finally block with the old backend.
// IGNORE_BACKEND: JVM
// WITH_RUNTIME
// FILE: test.kt
inline fun f(block: () -> Unit) {
@@ -35,26 +38,23 @@ fun box() {
val localX = x
}
// The local variables in the try and finally blocks are not removed for the finally block with the old backend.
// IGNORE_BACKEND: JVM
// LOCAL VARIABLES
// test.kt:34 box:
// test.kt:10 compute:
// test.kt:11 compute:
// test.kt:12 compute:
// test.kt:13 compute: y:int=42:int
// test.kt:14 compute: y:int=42:int, i:int=0:int
// test.kt:17 compute:
// test.kt:18 compute: s:java.lang.String="NOPE":java.lang.String
// test.kt:19 compute: s:java.lang.String="NOPE":java.lang.String
// test.kt:4 compute: s:java.lang.String="NOPE":java.lang.String, $i$f$f:int=0:int
// test.kt:20 compute: s:java.lang.String="NOPE":java.lang.String, $i$f$f:int=0:int, $i$a$-f-TestKt$compute$1:int=0:int
// test.kt:24 compute:
// test.kt:25 compute: s2:java.lang.String="NOPE":java.lang.String
// test.kt:26 compute: s2:java.lang.String="NOPE":java.lang.String, j:int=0:int
// test.kt:25 compute: s2:java.lang.String="OK":java.lang.String, j:int=0:int
// test.kt:28 compute: s2:java.lang.String="OK":java.lang.String
// test.kt:34 box:
// test.kt:35 box: result:java.lang.String="NON_LOCAL_RETURN":java.lang.String
// test.kt:36 box: result:java.lang.String="NON_LOCAL_RETURN":java.lang.String, localX:java.lang.String="OK":java.lang.String
// EXPECTATIONS
// test.kt:37 box:
// test.kt:13 compute:
// test.kt:14 compute:
// test.kt:15 compute:
// test.kt:16 compute: y:int=42:int
// test.kt:17 compute: y:int=42:int, i:int=0:int
// test.kt:20 compute:
// test.kt:21 compute: s:java.lang.String="NOPE":java.lang.String
// test.kt:22 compute: s:java.lang.String="NOPE":java.lang.String
// test.kt:7 compute: s:java.lang.String="NOPE":java.lang.String, $i$f$f:int=0:int
// test.kt:23 compute: s:java.lang.String="NOPE":java.lang.String, $i$f$f:int=0:int, $i$a$-f-TestKt$compute$1:int=0:int
// test.kt:27 compute:
// test.kt:28 compute: s2:java.lang.String="NOPE":java.lang.String
// test.kt:29 compute: s2:java.lang.String="NOPE":java.lang.String, j:int=0:int
// test.kt:28 compute: s2:java.lang.String="OK":java.lang.String, j:int=0:int
// test.kt:31 compute: s2:java.lang.String="OK":java.lang.String
// test.kt:37 box:
// test.kt:38 box: result:java.lang.String="NON_LOCAL_RETURN":java.lang.String
// test.kt:39 box: result:java.lang.String="NON_LOCAL_RETURN":java.lang.String, localX:java.lang.String="OK":java.lang.String
+28 -20
View File
@@ -1,4 +1,5 @@
//FILE: test.kt
// FILE: test.kt
data class A(val x: Double = 1.0, val y: String = "", val z: Char = '0')
@@ -21,22 +22,29 @@ fun box() {
""
}
}
// IGNORE_BACKEND: JVM_IR
// LOCAL VARIABLES
// test.kt:11 box:
// test.kt:3 <init>: x:double=1.0:double, y:java.lang.String="":java.lang.String, z:char=0:char
// test.kt:11 box:
// test.kt:5 foo: a:A=A, block:kotlin.jvm.functions.Function3=TestKt$box$1
// test.kt:14 invoke: $dstr$x$_u24__u24$y:A=A, $noName_1:java.lang.String="":java.lang.String, w:int=1:int
// test.kt:3 <init>: x:double=1.0:double, y:java.lang.String="":java.lang.String, z:char=0:char
// test.kt:14 invoke: $dstr$x$_u24__u24$y:A=A, $noName_1:java.lang.String="":java.lang.String, w:int=1:int, x:double=1.0:double, y:char=0:char
// test.kt:15 invoke: $dstr$x$_u24__u24$y:A=A, $noName_1:java.lang.String="":java.lang.String, w:int=1:int, x:double=1.0:double, y:char=0:char, a:double=1.0:double, c:char=0:char
// test.kt:3 <init>: x:double=1.0:double, y:java.lang.String="":java.lang.String, z:char=0:char
// test.kt:15 invoke: $dstr$x$_u24__u24$y:A=A, $noName_1:java.lang.String="":java.lang.String, w:int=1:int, x:double=1.0:double, y:char=0:char, a:double=1.0:double, c:char=0:char
// test.kt:17 invoke: $dstr$x$_u24__u24$y:A=A, $noName_1:java.lang.String="":java.lang.String, w:int=1:int, x:double=1.0:double, y:char=0:char, a:double=1.0:double, c:char=0:char, _:java.lang.String="":java.lang.String, d:char=0:char
// test.kt:7 getArrayOfA:
// test.kt:17 invoke: $dstr$x$_u24__u24$y:A=A, $noName_1:java.lang.String="":java.lang.String, w:int=1:int, x:double=1.0:double, y:char=0:char, a:double=1.0:double, c:char=0:char, _:java.lang.String="":java.lang.String, d:char=0:char
// test.kt:21 invoke: $dstr$x$_u24__u24$y:A=A, $noName_1:java.lang.String="":java.lang.String, w:int=1:int, x:double=1.0:double, y:char=0:char, a:double=1.0:double, c:char=0:char, _:java.lang.String="":java.lang.String, d:char=0:char
// test.kt:5 foo: a:A=A, block:kotlin.jvm.functions.Function3=TestKt$box$1
// test.kt:11 box:
// test.kt:23 box:
// EXPECTATIONS
// test.kt:12 box:
// test.kt:4 <init>: x:double=1.0:double, y:java.lang.String="":java.lang.String, z:char=0:char
// test.kt:12 box:
// test.kt:6 foo: a:A=A, block:kotlin.jvm.functions.Function3=TestKt$box$1
// EXPECTATIONS JVM_IR
// test.kt:13 invoke: $dstr$x$_u24__u24$y:A=A, $noName_1:java.lang.String="":java.lang.String, w:int=1:int
// test.kt:15 invoke: $dstr$x$_u24__u24$y:A=A, $noName_1:java.lang.String="":java.lang.String, w:int=1:int, x:double=1.0:double, y:char=0:char
// EXPECTATIONS JVM
// test.kt:15 invoke: $dstr$x$_u24__u24$y:A=A, $noName_1:java.lang.String="":java.lang.String, w:int=1:int
// EXPECTATIONS
// test.kt:4 <init>: x:double=1.0:double, y:java.lang.String="":java.lang.String, z:char=0:char
// test.kt:15 invoke: $dstr$x$_u24__u24$y:A=A, $noName_1:java.lang.String="":java.lang.String, w:int=1:int, x:double=1.0:double, y:char=0:char
// test.kt:16 invoke: $dstr$x$_u24__u24$y:A=A, $noName_1:java.lang.String="":java.lang.String, w:int=1:int, x:double=1.0:double, y:char=0:char, a:double=1.0:double, c:char=0:char
// test.kt:4 <init>: x:double=1.0:double, y:java.lang.String="":java.lang.String, z:char=0:char
// test.kt:16 invoke: $dstr$x$_u24__u24$y:A=A, $noName_1:java.lang.String="":java.lang.String, w:int=1:int, x:double=1.0:double, y:char=0:char, a:double=1.0:double, c:char=0:char
// test.kt:18 invoke: $dstr$x$_u24__u24$y:A=A, $noName_1:java.lang.String="":java.lang.String, w:int=1:int, x:double=1.0:double, y:char=0:char, a:double=1.0:double, c:char=0:char, _:java.lang.String="":java.lang.String, d:char=0:char
// test.kt:8 getArrayOfA:
// test.kt:18 invoke: $dstr$x$_u24__u24$y:A=A, $noName_1:java.lang.String="":java.lang.String, w:int=1:int, x:double=1.0:double, y:char=0:char, a:double=1.0:double, c:char=0:char, _:java.lang.String="":java.lang.String, d:char=0:char
// test.kt:22 invoke: $dstr$x$_u24__u24$y:A=A, $noName_1:java.lang.String="":java.lang.String, w:int=1:int, x:double=1.0:double, y:char=0:char, a:double=1.0:double, c:char=0:char, _:java.lang.String="":java.lang.String, d:char=0:char
// test.kt:6 foo: a:A=A, block:kotlin.jvm.functions.Function3=TestKt$box$1
// test.kt:12 box:
// test.kt:24 box:
+1 -1
View File
@@ -8,7 +8,7 @@ fun box() {
false
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:5 box
// test.kt:2 cond
// test.kt:5 box
+2 -2
View File
@@ -8,10 +8,10 @@ fun box() {
}
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:6 box
// test.kt:3 eval
// test.kt:7 invoke
// test.kt:3 eval
// test.kt:6 box
// test.kt:9 box
// test.kt:9 box
@@ -6,12 +6,12 @@ fun box() {
}()
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:4 box
// LINENUMBERS JVM
// EXPECTATIONS JVM
// test.kt:5 invoke
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:5 box$lambda-0
// LINENUMBERS
// EXPECTATIONS
// test.kt:4 box
// test.kt:7 box
+1 -1
View File
@@ -29,7 +29,7 @@ fun box(): String {
return "OK"
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:24 box
// test.kt:15 box
// test.kt:16 box
+1 -1
View File
@@ -19,7 +19,7 @@ fun box() {
foo()
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:19 box
// test.kt:11 foo
// test.kt:12 foo
@@ -13,7 +13,7 @@ fun box() {
)
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:8 box
// test.kt:3 <init>
// test.kt:8 box
+1 -1
View File
@@ -14,7 +14,7 @@ fun box() {
.bar()
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:9 box
// test.kt:3 <init>
// test.kt:9 box
+1 -1
View File
@@ -10,7 +10,7 @@ fun f(block: () -> Unit) {
block()
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:3 box
// test.kt:4 box
// test.kt:10 f
+1 -1
View File
@@ -14,7 +14,7 @@ fun box() {
.bar()
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:9 box
// test.kt:3 <init>
// test.kt:9 box
+3 -3
View File
@@ -18,13 +18,13 @@ fun box() {
// three to be hit both on entry to the constructor and on exit after storing the
// value of prop.
// LINENUMBERS
// EXPECTATIONS
// test.kt:12 box
// test.kt:3 <init>
// test.kt:4 <init>
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:3 <init>
// LINENUMBERS
// EXPECTATIONS
// test.kt:12 box
// test.kt:13 box
// test.kt:4 getProp
+1 -1
View File
@@ -16,7 +16,7 @@ fun box() {
A.foo()
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:14 box
// test.kt:5 <clinit>
// test.kt:6 <clinit>
+1 -1
View File
@@ -5,7 +5,7 @@ fun box() {
42
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:5 box
// test.kt:4 box
// test.kt:6 box
+1 -1
View File
@@ -18,7 +18,7 @@ fun getC() = false
fun getD() = true
// LINENUMBERS
// EXPECTATIONS
// test.kt:3 box
// test.kt:13 getA
// test.kt:3 box
+3 -3
View File
@@ -14,11 +14,11 @@ fun test(): Long {
return 1
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:5 box
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:9 test
// LINENUMBERS
// EXPECTATIONS
// test.kt:10 test
// test.kt:11 test
// test.kt:5 box
+1 -1
View File
@@ -13,7 +13,7 @@ fun box() {
4)
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:6 box
// test.kt:3 <init>
// test.kt:6 box
+31 -31
View File
@@ -84,7 +84,7 @@ class O<T>(i: T) {
// are there in the class file fro JVM, but there is no guarantee that there is an instruction to
// step on and sometimes there is no step on the end brace.
// LINENUMBERS
// EXPECTATIONS
// test.kt:4 box
// test.kt:19 <init>
// test.kt:4 box
@@ -98,78 +98,78 @@ class O<T>(i: T) {
// test.kt:25 <init>
// test.kt:7 box
// test.kt:8 box
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:28 <init>
// LINENUMBERS
// EXPECTATIONS
// test.kt:29 <init>
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:30 <init>
// LINENUMBERS
// EXPECTATIONS
// test.kt:8 box
// test.kt:9 box
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:33 <init>
// LINENUMBERS
// EXPECTATIONS
// test.kt:34 <init>
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:35 <init>
// LINENUMBERS
// EXPECTATIONS
// test.kt:9 box
// test.kt:10 box
// test.kt:37 <init>
// test.kt:38 <init>
// test.kt:39 <init>
// test.kt:40 <init>
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:37 <init>
// LINENUMBERS
// EXPECTATIONS
// test.kt:10 box
// test.kt:11 box
// test.kt:42 <init>
// test.kt:43 <init>
// test.kt:44 <init>
// test.kt:45 <init>
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:42 <init>
// LINENUMBERS
// EXPECTATIONS
// test.kt:11 box
// test.kt:12 box
// LINENUMBERS JVM
// EXPECTATIONS JVM
// test.kt:49 <init>
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:48 <init>
// LINENUMBERS
// EXPECTATIONS
// test.kt:52 <init>
// test.kt:53 <init>
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:54 <init>
// LINENUMBERS
// EXPECTATIONS
// test.kt:49 <init>
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:50 <init>
// LINENUMBERS
// EXPECTATIONS
// test.kt:12 box
// test.kt:13 box
// test.kt:57 <init>
// test.kt:61 <init>
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:62 <init>
// LINENUMBERS
// EXPECTATIONS
// test.kt:58 <init>
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:59 <init>
// LINENUMBERS
// EXPECTATIONS
// test.kt:13 box
// test.kt:14 box
// test.kt:65 <init>
// test.kt:69 <init>
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:70 <init>
// LINENUMBERS
// EXPECTATIONS
// test.kt:66 <init>
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:67 <init>
// LINENUMBERS
// EXPECTATIONS
// test.kt:14 box
// test.kt:15 box
// test.kt:72 <init>
@@ -177,10 +177,10 @@ class O<T>(i: T) {
// test.kt:16 box
// test.kt:73 <init>
// test.kt:72 <init>
// LINENUMBERS JVM
// EXPECTATIONS JVM
// test.kt:73 <init>
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:74 <init>
// LINENUMBERS
// EXPECTATIONS
// test.kt:16 box
// test.kt:17 box
+1 -1
View File
@@ -24,7 +24,7 @@ fun box() {
e.copy()
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:13 box
// test.kt:3 <init>
// test.kt:13 box
+1 -1
View File
@@ -12,7 +12,7 @@ fun box() {
}
// FORCE_STEP_INTO
// LINENUMBERS
// EXPECTATIONS
// test.kt:11 box
// test.kt:3 <init>
// test.kt:11 box
+5 -5
View File
@@ -34,20 +34,20 @@ fun box() {
// for the evaluation of the arguments constructor and for the constructor call,
// but not for the allocation of the object.
// LINENUMBERS
// EXPECTATIONS
// test.kt:22 box
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:4 <clinit>
// test.kt:5 <clinit>
// LINENUMBERS
// EXPECTATIONS
// test.kt:7 foo
// test.kt:9 foo
// test.kt:22 box
// test.kt:23 box
// test.kt:15 <clinit>
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:16 <clinit>
// LINENUMBERS
// EXPECTATIONS
// test.kt:17 <clinit>
// test.kt:16 <clinit>
// test.kt:24 box
+1 -1
View File
@@ -7,7 +7,7 @@ fun box() {
inline fun foo(n: Int) {}
// LINENUMBERS
// EXPECTATIONS
// test.kt:3 box
// test.kt:4 box
// test.kt:8 box
@@ -12,7 +12,7 @@ inline fun bar(i: Int = 1) {
}
// FORCE_STEP_INTO
// LINENUMBERS
// EXPECTATIONS
// test.kt:4 box
// test.kt:8 foo$default (synthetic)
// test.kt:9 foo
@@ -15,7 +15,7 @@ inline fun foo(f: () -> Unit) {
f()
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:4 box
// test.kt:14 box
// test.kt:15 box
@@ -14,7 +14,7 @@ fun foo(f: () -> Unit) {
f()
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:4 box
// test.kt:14 foo
// test.kt:5 invoke
+9 -9
View File
@@ -7,7 +7,7 @@ fun foo(x: Int): Int {
return bar(x) // 7
}
//FILE: test.kt
// FILE: test.kt
import foo
fun box() {
foo(-3) //4
@@ -20,16 +20,16 @@ fun bar(x: Int) =
foo(x)
}
// LINENUMBERS
// test.kt:4 box
// EXPECTATIONS
// test.kt:13 box
// foo.kt:4 foo
// foo.kt:7 foo
// test.kt:8 bar
// test.kt:9 bar
// test.kt:17 bar
// test.kt:18 bar
// foo.kt:4 foo
// foo.kt:5 foo
// test.kt:9 bar
// test.kt:12 bar
// test.kt:18 bar
// test.kt:21 bar
// foo.kt:7 foo
// test.kt:4 box
// test.kt:5 box
// test.kt:13 box
// test.kt:14 box
+1 -1
View File
@@ -13,7 +13,7 @@ inline fun getB(): Int {
return 1
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:4 box
// test.kt:13 box
// test.kt:5 box
+1 -1
View File
@@ -21,7 +21,7 @@ fun box() {
foo(0)
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:20 box
// test.kt:4 foo
// test.kt:5 foo
+1 -1
View File
@@ -14,7 +14,7 @@ fun box() {
foo()
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:12 box
// test.kt:4 foo
// test.kt:5 foo
+1 -1
View File
@@ -22,7 +22,7 @@ fun box() {
foo()
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:20 box
// test.kt:4 foo
// test.kt:5 foo
+1 -1
View File
@@ -17,7 +17,7 @@ fun box() {
foo()
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:15 box
// test.kt:8 foo
// test.kt:5 cond
@@ -29,7 +29,7 @@ inline fun Boolean.rid(): Boolean = this
fun nop() {}
// LINENUMBERS
// EXPECTATIONS
// test.kt:3 box
// test.kt:24 box
// test.kt:3 box
+10 -10
View File
@@ -1,4 +1,5 @@
//FILE: test.kt
// IGNORE_BACKEND: JVM
// FILE: test.kt
fun box() {
var i = 0
++i
@@ -16,7 +17,6 @@ fun box() {
1
}
// IGNORE_BACKEND: JVM
// The current backend has strange stepping behavior for assignments.
// It generates the line number for the assignment first, and then
// the evaluation of the right hand side with line numbers.
@@ -26,22 +26,22 @@ fun box() {
// the line number for the actual assignment makes more sense as
// that is the actual evaluation order.
// LINENUMBERS
// test.kt:3 box
// EXPECTATIONS
// test.kt:4 box
// test.kt:5 box
// test.kt:6 box
// test.kt:7 box
// test.kt:6 box
// test.kt:8 box
// test.kt:7 box
// test.kt:9 box
// test.kt:10 box
// test.kt:9 box
// test.kt:11 box
// test.kt:13 box
// test.kt:10 box
// test.kt:12 box
// test.kt:15 box
// test.kt:14 box
// test.kt:13 box
// test.kt:16 box
// test.kt:17 box
// test.kt:16 box
// test.kt:15 box
// test.kt:14 box
// test.kt:17 box
// test.kt:18 box
@@ -18,7 +18,7 @@ inline fun baz() {
fun nop() {}
// LINENUMBERS
// EXPECTATIONS
// test.kt:4 box
// test.kt:11 box
// test.kt:19 nop
+9 -9
View File
@@ -54,7 +54,7 @@ fun box() {
// JVM_IR has an extra step back to the line of the class
// declaration for the return in the constructor.
// LINENUMBERS
// EXPECTATIONS
// test.kt:48 box
// test.kt:3 <init>
// test.kt:6 <init>
@@ -62,9 +62,9 @@ fun box() {
// test.kt:45 x
// test.kt:7 <init>
// test.kt:8 <init>
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:3 <init>
// LINENUMBERS
// EXPECTATIONS
// test.kt:48 box
// test.kt:49 box
// test.kt:11 <init>
@@ -74,9 +74,9 @@ fun box() {
// test.kt:16 <init>
// test.kt:17 <init>
// test.kt:18 <init>
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:11 <init>
// LINENUMBERS
// EXPECTATIONS
// test.kt:49 box
// test.kt:50 box
// test.kt:21 <init>
@@ -89,9 +89,9 @@ fun box() {
// test.kt:28 <init>
// test.kt:29 <init>
// test.kt:30 <init>
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:21 <init>
// LINENUMBERS
// EXPECTATIONS
// test.kt:50 box
// test.kt:51 box
// test.kt:33 <init>
@@ -101,8 +101,8 @@ fun box() {
// test.kt:39 <init>
// test.kt:40 <init>
// test.kt:42 <init>
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:33 <init>
// LINENUMBERS
// EXPECTATIONS
// test.kt:51 box
// test.kt:52 box
+1 -1
View File
@@ -30,7 +30,7 @@ fun box() {
A.s
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:29 box
// test.kt:7 <clinit>
// test.kt:8 <clinit>
@@ -15,7 +15,7 @@ inline fun f(block: () -> Unit) {
block()
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:3 box
// test.kt:4 box
// test.kt:15 box
@@ -10,7 +10,7 @@ inline fun f(block: () -> Unit) {
fun g() {}
// LINENUMBERS
// EXPECTATIONS
// test.kt:3 box
// test.kt:4 box
// test.kt:8 box
+1 -1
View File
@@ -22,7 +22,7 @@ fun box() {
}
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:8 box
// test.kt:4 box
// test.kt:9 box
+7 -7
View File
@@ -7,13 +7,13 @@ fun box() {
// aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
inline fun foo() = {
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:4 box
// test1.kt:3 box
// test1.kt:4 box
// LINENUMBERS JVM_IR
// test1.kt:8 box
// test1.kt:9 box
// EXPECTATIONS JVM_IR
// test.kt:4 box
// test1.kt:4 invoke
// test1.kt:9 invoke
// test.kt:4 box
// LINENUMBERS
// test.kt:5 box
// EXPECTATIONS
// test.kt:5 box
+8 -8
View File
@@ -8,18 +8,18 @@ fun box() {
// aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
inline fun foo() = {
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:4 box
// test1.kt:3 box
// test1.kt:4 box
// LINENUMBERS JVM_IR
// test1.kt:9 box
// test1.kt:10 box
// EXPECTATIONS JVM_IR
// test.kt:4 box
// test.kt:5 box
// test1.kt:4 invoke
// test1.kt:10 invoke
// test.kt:5 box
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:6 box
// LINENUMBERS JVM
// EXPECTATIONS JVM
// test.kt:4 box
// test.kt:5 box
// test.kt:6 box
// test.kt:6 box
+18 -18
View File
@@ -13,26 +13,26 @@ inline fun foo() = {
fun baz(v:(() -> Unit)) {
v()
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:4 box
// test1.kt:3 box
// test1.kt:4 box
// test1.kt:10 box
// test1.kt:11 box
// test.kt:4 box
// test3.kt:3 baz
// LINENUMBERS JVM_IR
// test1.kt:4 invoke
// test3.kt:3 baz
// LINENUMBERS
// test3.kt:4 baz
// test3.kt:14 baz
// EXPECTATIONS JVM_IR
// test1.kt:11 invoke
// test3.kt:14 baz
// EXPECTATIONS
// test3.kt:15 baz
// test.kt:5 box
// test1.kt:3 box
// test1.kt:4 box
// test1.kt:10 box
// test1.kt:11 box
// test.kt:5 box
// test.kt:6 box
// LINENUMBERS JVM_IR
// test3.kt:3 baz
// test1.kt:4 invoke
// LINENUMBERS
// test3.kt:3 baz
// test3.kt:4 baz
// test.kt:7 box
// EXPECTATIONS JVM_IR
// test3.kt:14 baz
// test1.kt:11 invoke
// EXPECTATIONS
// test3.kt:14 baz
// test3.kt:15 baz
// test.kt:7 box
+1 -1
View File
@@ -13,7 +13,7 @@ fun box(): String {
return "OK"
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:8 box
// test.kt:4 box
// test.kt:8 box
@@ -17,7 +17,7 @@ fun box(): String {
return "OK"
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:15 box
// test.kt:3 box
// test.kt:4 box
+1 -1
View File
@@ -23,7 +23,7 @@ fun box() {
test2()
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:22 box
// test.kt:12 test1
// test.kt:8 test1
@@ -11,7 +11,7 @@ inline fun lookAtMe(f: (String) -> Unit) {
f(a)
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:4 box
// test.kt:10 box
// test.kt:11 box
+6 -6
View File
@@ -10,19 +10,19 @@ fun box() {
"OK"
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:4 box
// LINENUMBERS JVM
// EXPECTATIONS JVM
// test.kt:5 box
// LINENUMBERS
// EXPECTATIONS
// test.kt:8 box
// test.kt:9 box
// LINENUMBERS JVM
// EXPECTATIONS JVM
// test.kt:6 invoke
// test.kt:7 invoke
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:6 box$bar
// test.kt:7 box$bar
// LINENUMBERS
// EXPECTATIONS
// test.kt:10 box
// test.kt:11 box
@@ -8,18 +8,18 @@ fun box() {
"OK"
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:4 box
// LINENUMBERS JVM
// EXPECTATIONS JVM
// test.kt:5 box
// LINENUMBERS
// EXPECTATIONS
// test.kt:6 box
// test.kt:7 box
// LINENUMBERS JVM
// EXPECTATIONS JVM
// test.kt:5 invoke
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:5 box$bar
// LINENUMBERS
// EXPECTATIONS
// test.kt:7 box
// test.kt:8 box
// test.kt:9 box
+3 -3
View File
@@ -11,12 +11,12 @@ fun test(a: Boolean, b: Boolean, c: Boolean): Boolean {
&& c
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:5 box
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:9 test
// test.kt:10 test
// LINENUMBERS
// EXPECTATIONS
// test.kt:11 test
// test.kt:9 test
// test.kt:5 box
+1 -1
View File
@@ -9,7 +9,7 @@ fun box() {
fun foo(i: Int) {
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:5 box
// test.kt:4 box
// test.kt:10 foo
+1 -1
View File
@@ -8,7 +8,7 @@ fun box() {
infix fun Int.foo(i: Int) {
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:4 box
// test.kt:5 box
// test.kt:4 box
+3 -3
View File
@@ -16,13 +16,13 @@ fun g() {}
// for the invoke method bridged to. Therefore, the entry line number for invoke only shows
// up for JVM_IR.
// LINENUMBERS
// EXPECTATIONS
// test.kt:3 box
// test.kt:4 box
// test.kt:8 f
// LINENUMBERS JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:4 invoke
// LINENUMBERS
// EXPECTATIONS
// test.kt:11 g
// test.kt:4 invoke
// test.kt:8 f
+10 -10
View File
@@ -41,23 +41,23 @@ inline fun html(init: () -> Unit) {
return init(init)
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:19 box
// test.kt:7 box
// test.kt:9 box
// 1.kt:18 box
// 1.kt:6 box
// 1.kt:41 box
// 1.kt:29 box
// test.kt:10 box
// 1.kt:14 box
// 1.kt:10 box
// 1.kt:11 box
// 1.kt:37 box
// 1.kt:33 box
// 1.kt:34 box
// test.kt:11 box
// test.kt:12 box
// 1.kt:12 box
// 1.kt:14 box
// 1.kt:35 box
// 1.kt:37 box
// test.kt:13 box
// 1.kt:7 box
// 1.kt:18 box
// 1.kt:30 box
// 1.kt:41 box
// test.kt:15 box
// test.kt:19 box
// test.kt:21 box
@@ -11,7 +11,7 @@ inline fun lookAtMe(f: () -> Int) {
a + f()
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:4 box
// test.kt:10 box
// test.kt:11 box
+1 -1
View File
@@ -6,7 +6,7 @@ fun box(): String {
return "OK"!!
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:4 box
// test.kt:5 box
// test.kt:6 box
+1 -1
View File
@@ -11,7 +11,7 @@ fun box() {
A().prop
}
// LINENUMBERS
// EXPECTATIONS
// test.kt:11 box
// test.kt:3 <init>
// test.kt:11 box

Some files were not shown because too many files have changed in this diff Show More