Tests: remove stepping tests on old JVM backend
This commit is contained in:
committed by
Space Team
parent
f39c72360d
commit
5e330acd28
+2
-2
@@ -9,7 +9,7 @@ fun box() {
|
||||
false
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:6 box
|
||||
// test.kt:3 cond
|
||||
// test.kt:6 box
|
||||
@@ -19,4 +19,4 @@ fun box() {
|
||||
// EXPECTATIONS JS_IR
|
||||
// test.kt:6 box
|
||||
// test.kt:3 cond
|
||||
// test.kt:10 box
|
||||
// test.kt:10 box
|
||||
|
||||
+2
-2
@@ -9,7 +9,7 @@ fun box() {
|
||||
}
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:7 box
|
||||
// test.kt:4 eval
|
||||
// test.kt:8 invoke
|
||||
@@ -21,4 +21,4 @@ fun box() {
|
||||
// test.kt:7 box
|
||||
// test.kt:4 eval
|
||||
// test.kt:8 box$lambda
|
||||
// test.kt:10 box
|
||||
// test.kt:10 box
|
||||
|
||||
@@ -9,14 +9,9 @@ fun box() {
|
||||
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:6 box
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:5 box
|
||||
// test.kt:6 invoke
|
||||
// test.kt:5 box
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:8 box
|
||||
|
||||
// EXPECTATIONS JS_IR
|
||||
// test.kt:5 box
|
||||
// test.kt:6 box$lambda
|
||||
// test.kt:8 box
|
||||
// test.kt:8 box
|
||||
|
||||
+1
-1
@@ -31,7 +31,7 @@ fun box(): String {
|
||||
return "OK"
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:26 box
|
||||
// test.kt:17 box
|
||||
// test.kt:18 box
|
||||
|
||||
@@ -20,7 +20,7 @@ fun box() {
|
||||
foo()
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:20 box
|
||||
// test.kt:12 foo
|
||||
// test.kt:13 foo
|
||||
|
||||
@@ -14,7 +14,7 @@ fun box() {
|
||||
)
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:9 box
|
||||
// test.kt:4 <init>
|
||||
// test.kt:9 box
|
||||
@@ -45,4 +45,4 @@ fun box() {
|
||||
// test.kt:10 box
|
||||
// test.kt:6 bar
|
||||
// test.kt:4 <init>
|
||||
// test.kt:15 box
|
||||
// test.kt:15 box
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ fun box() {
|
||||
.bar()
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:10 box
|
||||
// test.kt:4 <init>
|
||||
// test.kt:10 box
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ fun f(block: () -> Unit) {
|
||||
block()
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:4 box
|
||||
// test.kt:5 box
|
||||
// test.kt:11 f
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ fun box() {
|
||||
.bar()
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:10 box
|
||||
// test.kt:4 <init>
|
||||
// test.kt:10 box
|
||||
|
||||
+2
-8
@@ -15,17 +15,11 @@ fun box() {
|
||||
a.foo()
|
||||
}
|
||||
|
||||
// TODO: The JVM_IR backend has an extra line number on the return. This causes line
|
||||
// three to be hit both on entry to the constructor and on exit after storing the
|
||||
// value of prop.
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:13 box
|
||||
// test.kt:4 <init>
|
||||
// test.kt:5 <init>
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:4 <init>
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:13 box
|
||||
// test.kt:14 box
|
||||
// test.kt:5 getProp
|
||||
@@ -41,4 +35,4 @@ fun box() {
|
||||
// test.kt:4 <init>
|
||||
// test.kt:15 box
|
||||
// test.kt:9 foo
|
||||
// test.kt:16 box
|
||||
// test.kt:16 box
|
||||
|
||||
+2
-2
@@ -17,7 +17,7 @@ fun box() {
|
||||
A.foo()
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:15 box
|
||||
// test.kt:6 <clinit>
|
||||
// test.kt:7 <clinit>
|
||||
@@ -48,4 +48,4 @@ fun box() {
|
||||
// test.kt:17 box
|
||||
// test.kt:17 box
|
||||
// test.kt:9 foo
|
||||
// test.kt:18 box
|
||||
// test.kt:18 box
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ class A {
|
||||
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:5 box
|
||||
// test.kt:9 <init>
|
||||
// test.kt:5 box
|
||||
|
||||
@@ -12,7 +12,7 @@ fun box() {
|
||||
AWithCompanion.compPropVal
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:12 box
|
||||
// test.kt:7 <clinit>
|
||||
// test.kt:7 getCompPropVal
|
||||
|
||||
@@ -10,7 +10,7 @@ fun box() {
|
||||
foo()
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:10 box
|
||||
// test.kt:6 foo
|
||||
// test.kt:10 box
|
||||
|
||||
+1
-1
@@ -32,7 +32,7 @@ class A {
|
||||
}
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:6 box
|
||||
// test.kt:16 <init>
|
||||
// test.kt:6 box
|
||||
|
||||
+2
-2
@@ -6,11 +6,11 @@ fun box() {
|
||||
42
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:6 box
|
||||
// test.kt:5 box
|
||||
// test.kt:7 box
|
||||
|
||||
// EXPECTATIONS JS_IR
|
||||
// test.kt:6 box
|
||||
// test.kt:7 box
|
||||
// test.kt:7 box
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ fun getC() = false
|
||||
|
||||
fun getD() = true
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:4 box
|
||||
// test.kt:14 getA
|
||||
// test.kt:4 box
|
||||
|
||||
+2
-4
@@ -15,11 +15,9 @@ fun test(): Long {
|
||||
return 1
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:6 box
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:6 box
|
||||
// test.kt:10 test
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:11 test
|
||||
// test.kt:12 test
|
||||
// test.kt:6 box
|
||||
@@ -28,4 +26,4 @@ fun test(): Long {
|
||||
// EXPECTATIONS JS_IR
|
||||
// test.kt:6 box
|
||||
// test.kt:12 test
|
||||
// test.kt:7 box
|
||||
// test.kt:7 box
|
||||
|
||||
+2
-2
@@ -14,7 +14,7 @@ fun box() {
|
||||
4)
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:7 box
|
||||
// test.kt:4 <init>
|
||||
// test.kt:7 box
|
||||
@@ -46,4 +46,4 @@ fun box() {
|
||||
// test.kt:13 box
|
||||
// test.kt:4 <init>
|
||||
// test.kt:4 <init>
|
||||
// test.kt:15 box
|
||||
// test.kt:15 box
|
||||
|
||||
+1
-43
@@ -75,17 +75,7 @@ class O<T>(i: T) {
|
||||
}
|
||||
}
|
||||
|
||||
// JVM_IR consistently steps through constructor start line, constructor body constructor end line.
|
||||
// JVM does not. The JVM behavior is unfortunate for instance for the L class above. Stepping through
|
||||
// construction on the JVM will give the sequence 49, 52, 53, 49 which makes it unclear if the assignment
|
||||
// on line 49 was carried out before or after the assignment in the init block. The JVM_IR sequence is
|
||||
// 48, 52, 53, 54, 49, 50 which makes the sequence clear.
|
||||
|
||||
// In addition JVM_IR consistently steps on the init line and on the init end brace. The line numbers
|
||||
// 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.
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:5 box
|
||||
// test.kt:20 <init>
|
||||
// test.kt:5 box
|
||||
@@ -99,78 +89,50 @@ class O<T>(i: T) {
|
||||
// test.kt:26 <init>
|
||||
// test.kt:8 box
|
||||
// test.kt:9 box
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:29 <init>
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:30 <init>
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:31 <init>
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:9 box
|
||||
// test.kt:10 box
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:34 <init>
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:35 <init>
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:36 <init>
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:10 box
|
||||
// test.kt:11 box
|
||||
// test.kt:38 <init>
|
||||
// test.kt:39 <init>
|
||||
// test.kt:40 <init>
|
||||
// test.kt:41 <init>
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:38 <init>
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:11 box
|
||||
// test.kt:12 box
|
||||
// test.kt:43 <init>
|
||||
// test.kt:44 <init>
|
||||
// test.kt:45 <init>
|
||||
// test.kt:46 <init>
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:43 <init>
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:12 box
|
||||
// test.kt:13 box
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:50 <init>
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:49 <init>
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:53 <init>
|
||||
// test.kt:54 <init>
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:55 <init>
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:50 <init>
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:51 <init>
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:13 box
|
||||
// test.kt:14 box
|
||||
// test.kt:58 <init>
|
||||
// test.kt:62 <init>
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:63 <init>
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:59 <init>
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:60 <init>
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:14 box
|
||||
// test.kt:15 box
|
||||
// test.kt:66 <init>
|
||||
// test.kt:70 <init>
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:71 <init>
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:67 <init>
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:68 <init>
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:15 box
|
||||
// test.kt:16 box
|
||||
// test.kt:73 <init>
|
||||
@@ -178,11 +140,7 @@ class O<T>(i: T) {
|
||||
// test.kt:17 box
|
||||
// test.kt:74 <init>
|
||||
// test.kt:73 <init>
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:74 <init>
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:75 <init>
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:17 box
|
||||
// test.kt:18 box
|
||||
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@ fun box() {
|
||||
}
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:8 box
|
||||
// test.kt:9 box
|
||||
// test.kt:10 box
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ fun box() {
|
||||
e.copy()
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:14 box
|
||||
// test.kt:4 <init>
|
||||
// test.kt:14 box
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ fun box() {
|
||||
}
|
||||
|
||||
// FORCE_STEP_INTO
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:12 box
|
||||
// test.kt:4 <init>
|
||||
// test.kt:12 box
|
||||
|
||||
+1
-4
@@ -18,12 +18,9 @@ fun box() {
|
||||
c.f()
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:17 box
|
||||
// test.kt:14 <init>
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:8 <clinit>
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:17 box
|
||||
// test.kt:18 box
|
||||
// test.kt:11 f
|
||||
|
||||
+1
-16
@@ -24,31 +24,16 @@ fun box() {
|
||||
E2.C;
|
||||
}
|
||||
|
||||
// JVM_IR maintains line number information in the class initializer for the
|
||||
// initialization of the enum entries. There is line number information for
|
||||
// the allocation of the object, for the evaluation of arguments to the
|
||||
// constructor, and for the call to the constructor. This is consistent
|
||||
// with the line number information generated for normal object allocation.
|
||||
|
||||
// JVM has no line number information in <clinit> if there are no arguments
|
||||
// to the enum constructor. If there are arguments it has line number information
|
||||
// for the evaluation of the arguments constructor and for the constructor call,
|
||||
// but not for the allocation of the object.
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:23 box
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:23 box
|
||||
// test.kt:5 <clinit>
|
||||
// test.kt:6 <clinit>
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:8 foo
|
||||
// test.kt:10 foo
|
||||
// test.kt:23 box
|
||||
// test.kt:24 box
|
||||
// test.kt:16 <clinit>
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:17 <clinit>
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:18 <clinit>
|
||||
// test.kt:17 <clinit>
|
||||
// test.kt:25 box
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ fun box() {
|
||||
|
||||
inline fun foo(n: Int) {}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:4 box
|
||||
// test.kt:5 box
|
||||
// test.kt:9 box
|
||||
|
||||
@@ -13,7 +13,7 @@ inline fun bar(i: Int = 1) {
|
||||
}
|
||||
|
||||
// FORCE_STEP_INTO
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:5 box
|
||||
// test.kt:9 foo$default (synthetic)
|
||||
// test.kt:10 foo
|
||||
|
||||
@@ -17,7 +17,7 @@ inline fun foo(f: () -> Unit) {
|
||||
f()
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:6 box
|
||||
// test.kt:16 box
|
||||
// test.kt:17 box
|
||||
|
||||
@@ -15,7 +15,7 @@ fun foo(f: () -> Unit) {
|
||||
f()
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:5 box
|
||||
// test.kt:15 foo
|
||||
// test.kt:6 invoke
|
||||
@@ -41,4 +41,4 @@ fun foo(f: () -> Unit) {
|
||||
// test.kt:10 box$lambda
|
||||
// test.kt:11 box$lambda
|
||||
// test.kt:16 foo
|
||||
// test.kt:12 box
|
||||
// test.kt:12 box
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
// FILE: foo.kt
|
||||
import bar
|
||||
fun foo(x: Int): Int {
|
||||
if (x >= 0) { // 4
|
||||
return x // 5
|
||||
if (x >= 0) { // 5
|
||||
return x // 6
|
||||
}
|
||||
return bar(x) // 7
|
||||
return bar(x) // 8
|
||||
}
|
||||
|
||||
// FILE: test.kt
|
||||
@@ -21,7 +21,7 @@ fun bar(x: Int) =
|
||||
foo(x)
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:14 box
|
||||
// foo.kt:5 foo
|
||||
// foo.kt:8 foo
|
||||
@@ -44,4 +44,4 @@ fun bar(x: Int) =
|
||||
// foo.kt:5 foo
|
||||
// foo.kt:6 foo
|
||||
// test.kt:22 bar
|
||||
// test.kt:15 box
|
||||
// test.kt:15 box
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ inline fun getB(): Int {
|
||||
return 1
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:6 box
|
||||
// test.kt:15 box
|
||||
// test.kt:7 box
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ fun box() {
|
||||
foo(0)
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:21 box
|
||||
// test.kt:5 foo
|
||||
// test.kt:6 foo
|
||||
|
||||
+2
-2
@@ -15,7 +15,7 @@ fun box() {
|
||||
foo()
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:13 box
|
||||
// test.kt:5 foo
|
||||
// test.kt:6 foo
|
||||
@@ -33,4 +33,4 @@ fun box() {
|
||||
// test.kt:15 box
|
||||
// test.kt:5 foo
|
||||
// test.kt:8 foo
|
||||
// test.kt:16 box
|
||||
// test.kt:16 box
|
||||
|
||||
+2
-2
@@ -23,7 +23,7 @@ fun box() {
|
||||
foo()
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:21 box
|
||||
// test.kt:5 foo
|
||||
// test.kt:6 foo
|
||||
@@ -55,4 +55,4 @@ fun box() {
|
||||
// test.kt:14 foo
|
||||
// test.kt:11 foo
|
||||
// test.kt:16 foo
|
||||
// test.kt:24 box
|
||||
// test.kt:24 box
|
||||
|
||||
+2
-2
@@ -18,7 +18,7 @@ fun box() {
|
||||
foo()
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:16 box
|
||||
// test.kt:9 foo
|
||||
// test.kt:6 cond
|
||||
@@ -48,4 +48,4 @@ fun box() {
|
||||
// test.kt:10 foo
|
||||
// test.kt:6 cond
|
||||
// test.kt:13 foo
|
||||
// test.kt:19 box
|
||||
// test.kt:19 box
|
||||
|
||||
@@ -30,7 +30,7 @@ inline fun Boolean.rid(): Boolean = this
|
||||
|
||||
fun nop() {}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:4 box
|
||||
// test.kt:25 box
|
||||
// test.kt:4 box
|
||||
|
||||
+3
-12
@@ -1,5 +1,5 @@
|
||||
// IGNORE_BACKEND: WASM
|
||||
// IGNORE_BACKEND: JVM
|
||||
|
||||
// FILE: test.kt
|
||||
fun box() {
|
||||
var i = 0
|
||||
@@ -18,16 +18,7 @@ fun box() {
|
||||
1
|
||||
}
|
||||
|
||||
// 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.
|
||||
// That leads to the line number with the assignment typically
|
||||
// not being hit at all as it has no instructions. Also, stepping
|
||||
// through the evaluation of the right hand side and then hitting
|
||||
// the line number for the actual assignment makes more sense as
|
||||
// that is the actual evaluation order.
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:5 box
|
||||
// test.kt:6 box
|
||||
// test.kt:7 box
|
||||
@@ -57,4 +48,4 @@ fun box() {
|
||||
// test.kt:13 box
|
||||
// test.kt:15 box
|
||||
// test.kt:17 box
|
||||
// test.kt:19 box
|
||||
// test.kt:19 box
|
||||
|
||||
+1
-2
@@ -28,14 +28,13 @@ class A {
|
||||
}
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:5 box
|
||||
// test.kt:21 <clinit>
|
||||
// test.kt:16 <init>
|
||||
// test.kt:21 <clinit>
|
||||
// test.kt:21 <clinit>
|
||||
// test.kt:5 box
|
||||
|
||||
// test.kt:8 <init>
|
||||
// test.kt:5 box
|
||||
// test.kt:11 test
|
||||
|
||||
@@ -17,14 +17,13 @@ fun test(b: B) {
|
||||
}
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:5 box
|
||||
// test.kt:8 <init>
|
||||
// test.kt:5 box
|
||||
// test.kt:10 <init>
|
||||
// test.kt:5 box
|
||||
// test.kt:15 test
|
||||
|
||||
// test.kt:16 test
|
||||
// test.kt:10 getA
|
||||
// test.kt:16 test
|
||||
|
||||
@@ -20,7 +20,7 @@ inline fun baz() {
|
||||
|
||||
fun nop() {}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:6 box
|
||||
// test.kt:13 box
|
||||
// test.kt:21 nop
|
||||
|
||||
+2
-13
@@ -52,10 +52,7 @@ fun box() {
|
||||
Zoo()
|
||||
}
|
||||
|
||||
// JVM_IR has an extra step back to the line of the class
|
||||
// declaration for the return in the constructor.
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:49 box
|
||||
// test.kt:4 <init>
|
||||
// test.kt:7 <init>
|
||||
@@ -63,9 +60,7 @@ fun box() {
|
||||
// test.kt:46 x
|
||||
// test.kt:8 <init>
|
||||
// test.kt:9 <init>
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:4 <init>
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:49 box
|
||||
// test.kt:50 box
|
||||
// test.kt:12 <init>
|
||||
@@ -75,9 +70,7 @@ fun box() {
|
||||
// test.kt:17 <init>
|
||||
// test.kt:18 <init>
|
||||
// test.kt:19 <init>
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:12 <init>
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:50 box
|
||||
// test.kt:51 box
|
||||
// test.kt:22 <init>
|
||||
@@ -90,9 +83,7 @@ fun box() {
|
||||
// test.kt:29 <init>
|
||||
// test.kt:30 <init>
|
||||
// test.kt:31 <init>
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:22 <init>
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:51 box
|
||||
// test.kt:52 box
|
||||
// test.kt:34 <init>
|
||||
@@ -102,9 +93,7 @@ fun box() {
|
||||
// test.kt:40 <init>
|
||||
// test.kt:41 <init>
|
||||
// test.kt:43 <init>
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:34 <init>
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:52 box
|
||||
// test.kt:53 box
|
||||
|
||||
@@ -129,4 +118,4 @@ fun box() {
|
||||
// test.kt:40 <init>
|
||||
// test.kt:43 <init>
|
||||
// test.kt:34 <init>
|
||||
// test.kt:53 box
|
||||
// test.kt:53 box
|
||||
|
||||
+2
-2
@@ -31,7 +31,7 @@ fun box() {
|
||||
A.s
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:30 box
|
||||
// test.kt:8 <clinit>
|
||||
// test.kt:9 <clinit>
|
||||
@@ -63,4 +63,4 @@ fun box() {
|
||||
// test.kt:22 <init>
|
||||
// test.kt:5 <init>
|
||||
// test.kt:31 box
|
||||
// test.kt:32 box
|
||||
// test.kt:32 box
|
||||
|
||||
@@ -16,7 +16,7 @@ inline fun f(block: () -> Unit) {
|
||||
block()
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:4 box
|
||||
// test.kt:5 box
|
||||
// test.kt:16 box
|
||||
@@ -40,4 +40,4 @@ inline fun f(block: () -> Unit) {
|
||||
// test.kt:6 box
|
||||
// test.kt:9 box
|
||||
// test.kt:11 box
|
||||
// test.kt:13 box
|
||||
// test.kt:13 box
|
||||
|
||||
@@ -11,7 +11,7 @@ inline fun f(block: () -> Unit) {
|
||||
|
||||
fun g() {}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:4 box
|
||||
// test.kt:5 box
|
||||
// test.kt:9 box
|
||||
@@ -25,4 +25,4 @@ fun g() {}
|
||||
// test.kt:4 box
|
||||
// test.kt:5 box
|
||||
// test.kt:12 g
|
||||
// test.kt:6 box
|
||||
// test.kt:6 box
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ fun box() {
|
||||
}
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:10 box
|
||||
// test.kt:6 box
|
||||
// test.kt:11 box
|
||||
|
||||
+4
-5
@@ -1,5 +1,5 @@
|
||||
// IGNORE_BACKEND: WASM
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
|
||||
// FILE: test.kt
|
||||
interface ObjectFace
|
||||
|
||||
@@ -12,13 +12,12 @@ fun box() {
|
||||
makeFace()
|
||||
}
|
||||
|
||||
// IR backend has additional steps on the way _out_ of the init block.
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:12 box
|
||||
// test.kt:6 makeFace
|
||||
// test.kt:6 <init>
|
||||
// test.kt:8 <init>
|
||||
// test.kt:6 <init>
|
||||
// test.kt:9 makeFace
|
||||
// test.kt:12 box
|
||||
// test.kt:13 box
|
||||
@@ -27,4 +26,4 @@ fun box() {
|
||||
// test.kt:12 box
|
||||
// test.kt:9 makeFace
|
||||
// test.kt:6 <init>
|
||||
// test.kt:13 box
|
||||
// test.kt:13 box
|
||||
|
||||
+5
-5
@@ -1,12 +1,12 @@
|
||||
// IGNORE_BACKEND: WASM
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
|
||||
// FILE: test.kt
|
||||
class A {
|
||||
val a = 1
|
||||
fun bar() = 2
|
||||
fun foo() {
|
||||
3
|
||||
//Breakpoint! from the Evaluate Expression test suite.
|
||||
|
||||
.toString()
|
||||
}
|
||||
}
|
||||
@@ -15,12 +15,12 @@ fun box() {
|
||||
A().foo()
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:15 box
|
||||
// test.kt:4 <init>
|
||||
// test.kt:5 <init>
|
||||
// test.kt:4 <init>
|
||||
// test.kt:15 box
|
||||
// test.kt:8 foo
|
||||
// test.kt:10 foo
|
||||
// test.kt:11 foo
|
||||
// test.kt:16 box
|
||||
@@ -31,4 +31,4 @@ fun box() {
|
||||
// test.kt:4 <init>
|
||||
// test.kt:15 box
|
||||
// test.kt:11 foo
|
||||
// test.kt:16 box
|
||||
// test.kt:16 box
|
||||
|
||||
+2
-3
@@ -9,15 +9,14 @@ fun box() {
|
||||
// aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
inline fun foo() = {
|
||||
}
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:6 box
|
||||
// test1.kt:10 box
|
||||
// test1.kt:11 box
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:6 box
|
||||
// test1.kt:11 invoke
|
||||
// test.kt:6 box
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:7 box
|
||||
|
||||
// EXPECTATIONS JS_IR
|
||||
|
||||
+2
-7
@@ -10,20 +10,15 @@ fun box() {
|
||||
// aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
inline fun foo() = {
|
||||
}
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:6 box
|
||||
// test1.kt:11 box
|
||||
// test1.kt:12 box
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:6 box
|
||||
// test.kt:7 box
|
||||
// test1.kt:12 invoke
|
||||
// test.kt:7 box
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:8 box
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:6 box
|
||||
// test.kt:7 box
|
||||
// test.kt:8 box
|
||||
|
||||
// EXPECTATIONS JS_IR
|
||||
|
||||
+2
-5
@@ -15,26 +15,23 @@ inline fun foo() = {
|
||||
fun baz(v:(() -> Unit)) {
|
||||
v()
|
||||
}
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:6 box
|
||||
// test1.kt:12 box
|
||||
// test1.kt:13 box
|
||||
// test.kt:6 box
|
||||
// test3.kt:16 baz
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test1.kt:13 invoke
|
||||
// test3.kt:16 baz
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test3.kt:17 baz
|
||||
// test.kt:7 box
|
||||
// test1.kt:12 box
|
||||
// test1.kt:13 box
|
||||
// test.kt:7 box
|
||||
// test.kt:8 box
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test3.kt:16 baz
|
||||
// test1.kt:13 invoke
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test3.kt:16 baz
|
||||
// test3.kt:17 baz
|
||||
// test.kt:9 box
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ fun box(): String {
|
||||
return "OK"
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:9 box
|
||||
// test.kt:5 box
|
||||
// test.kt:9 box
|
||||
|
||||
@@ -17,7 +17,7 @@ fun box(): String {
|
||||
return "OK"
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:15 box
|
||||
// test.kt:3 box
|
||||
// test.kt:4 box
|
||||
|
||||
@@ -24,7 +24,7 @@ fun box() {
|
||||
test2()
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:23 box
|
||||
// test.kt:13 test1
|
||||
// test.kt:9 test1
|
||||
@@ -46,4 +46,4 @@ fun box() {
|
||||
// test.kt:18 test2
|
||||
// test.kt:6 normalFunction
|
||||
// test.kt:20 test2
|
||||
// test.kt:25 box
|
||||
// test.kt:25 box
|
||||
|
||||
@@ -13,7 +13,7 @@ inline fun lookAtMe(f: (String) -> Unit) {
|
||||
f(a)
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:6 box
|
||||
// test.kt:12 box
|
||||
// test.kt:13 box
|
||||
|
||||
+1
-9
@@ -12,20 +12,12 @@ fun box() {
|
||||
"OK"
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:6 box
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:7 box
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:10 box
|
||||
// test.kt:11 box
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:8 invoke
|
||||
// test.kt:9 invoke
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:8 box$bar
|
||||
// test.kt:9 box$bar
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:12 box
|
||||
// test.kt:13 box
|
||||
|
||||
|
||||
@@ -10,18 +10,11 @@ fun box() {
|
||||
"OK"
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:6 box
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:7 box
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:8 box
|
||||
// test.kt:9 box
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:7 invoke
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:7 box$bar
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:9 box
|
||||
// test.kt:10 box
|
||||
// test.kt:11 box
|
||||
|
||||
+1
-2
@@ -14,8 +14,7 @@ fun box(): String {
|
||||
return o + k
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:9 box
|
||||
// test.kt:7 box
|
||||
// test.kt:12 box
|
||||
|
||||
+2
-2
@@ -16,7 +16,7 @@ fun box() {
|
||||
b()
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:15 box
|
||||
// a.kt:5 a
|
||||
// test.kt:15 box
|
||||
@@ -30,4 +30,4 @@ fun box() {
|
||||
// a.kt:5 a
|
||||
// test.kt:16 box
|
||||
// b.kt:9 b
|
||||
// test.kt:17 box
|
||||
// test.kt:17 box
|
||||
|
||||
+2
-4
@@ -12,12 +12,10 @@ fun test(a: Boolean, b: Boolean, c: Boolean): Boolean {
|
||||
&& c
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:6 box
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:6 box
|
||||
// test.kt:10 test
|
||||
// test.kt:11 test
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:12 test
|
||||
// test.kt:10 test
|
||||
// test.kt:6 box
|
||||
@@ -26,4 +24,4 @@ fun test(a: Boolean, b: Boolean, c: Boolean): Boolean {
|
||||
// EXPECTATIONS JS_IR
|
||||
// test.kt:6 box
|
||||
// test.kt:10 test
|
||||
// test.kt:7 box
|
||||
// test.kt:7 box
|
||||
|
||||
@@ -10,7 +10,7 @@ fun box() {
|
||||
fun foo(i: Int) {
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:6 box
|
||||
// test.kt:5 box
|
||||
// test.kt:11 foo
|
||||
@@ -19,4 +19,4 @@ fun foo(i: Int) {
|
||||
// EXPECTATIONS JS_IR
|
||||
// test.kt:5 box
|
||||
// test.kt:11 foo
|
||||
// test.kt:8 box
|
||||
// test.kt:8 box
|
||||
|
||||
+2
-2
@@ -9,7 +9,7 @@ fun box() {
|
||||
infix fun Int.foo(i: Int) {
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:5 box
|
||||
// test.kt:6 box
|
||||
// test.kt:5 box
|
||||
@@ -19,4 +19,4 @@ infix fun Int.foo(i: Int) {
|
||||
// EXPECTATIONS JS_IR
|
||||
// test.kt:5 box
|
||||
// test.kt:10 foo
|
||||
// test.kt:7 box
|
||||
// test.kt:7 box
|
||||
|
||||
@@ -11,19 +11,11 @@ fun f(block: () -> Unit) {
|
||||
|
||||
fun g() {}
|
||||
|
||||
// The synthetic invoke bridge method generated for in the callable reference has line numbers
|
||||
// in the JVM_IR backend (as all bridges). In the JVM backend, only some bridges have line numbers.
|
||||
// For some reason, when the bridge does not have line numbers, there is no method entry event
|
||||
// for the invoke method bridged to. Therefore, the entry line number for invoke only shows
|
||||
// up for JVM_IR.
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:4 box
|
||||
// test.kt:5 box
|
||||
// test.kt:9 f
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:5 invoke
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:12 g
|
||||
// test.kt:5 invoke
|
||||
// test.kt:9 f
|
||||
|
||||
+1
-1
@@ -42,7 +42,7 @@ inline fun html(init: () -> Unit) {
|
||||
return init(init)
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:20 box
|
||||
// test.kt:8 box
|
||||
// test.kt:10 box
|
||||
|
||||
@@ -23,7 +23,7 @@ fun box() {
|
||||
}
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:18 box
|
||||
// test.kt:10 builder
|
||||
// Continuation.kt:66 <init>
|
||||
|
||||
@@ -13,7 +13,7 @@ inline fun lookAtMe(f: () -> Int) {
|
||||
a + f()
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:6 box
|
||||
// test.kt:12 box
|
||||
// test.kt:13 box
|
||||
|
||||
+1
-22
@@ -21,27 +21,6 @@ fun testExpressionBody(nullable: String?) =
|
||||
// Some comment
|
||||
nullable.length == 2
|
||||
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:7 box
|
||||
// test.kt:16 test
|
||||
// test.kt:14 test
|
||||
// test.kt:7 box
|
||||
|
||||
// test.kt:8 box
|
||||
// test.kt:16 test
|
||||
// test.kt:14 test
|
||||
// test.kt:8 box
|
||||
|
||||
// test.kt:9 box
|
||||
// test.kt:22 testExpressionBody
|
||||
// test.kt:9 box
|
||||
|
||||
// test.kt:10 box
|
||||
// test.kt:22 testExpressionBody
|
||||
// test.kt:10 box
|
||||
|
||||
// test.kt:11 box
|
||||
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:7 box
|
||||
// test.kt:14 test
|
||||
@@ -76,4 +55,4 @@ fun testExpressionBody(nullable: String?) =
|
||||
// test.kt:22 testExpressionBody
|
||||
// test.kt:10 box
|
||||
// test.kt:22 testExpressionBody
|
||||
// test.kt:11 box
|
||||
// test.kt:11 box
|
||||
|
||||
@@ -34,14 +34,12 @@ fun box() {
|
||||
}
|
||||
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:31 box
|
||||
// test.kt:16 <init>
|
||||
// test.kt:18 <init>
|
||||
// test.kt:21 <init>
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:16 <init>
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:31 box
|
||||
// test.kt:32 box
|
||||
// test.kt:16 testPropertyInInterface
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@ fun box(): String {
|
||||
return "OK"!!
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:5 box
|
||||
// test.kt:6 box
|
||||
// test.kt:7 box
|
||||
|
||||
+2
-2
@@ -12,7 +12,7 @@ fun box() {
|
||||
A().prop
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:12 box
|
||||
// test.kt:4 <init>
|
||||
// test.kt:12 box
|
||||
@@ -25,4 +25,4 @@ fun box() {
|
||||
// test.kt:4 <init>
|
||||
// test.kt:12 box
|
||||
// test.kt:7 <get-prop>
|
||||
// test.kt:13 box
|
||||
// test.kt:13 box
|
||||
|
||||
+2
-2
@@ -9,7 +9,7 @@ fun box() {
|
||||
main(arrayOf("OK"))
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:9 box
|
||||
// test.kt:5 main
|
||||
// test.kt:6 main
|
||||
@@ -19,4 +19,4 @@ fun box() {
|
||||
// test.kt:9 box
|
||||
// test.kt:5 main
|
||||
// test.kt:6 main
|
||||
// test.kt:10 box
|
||||
// test.kt:10 box
|
||||
|
||||
+2
-2
@@ -12,7 +12,7 @@ fun foo(n :Int ) : Int {
|
||||
return foo(n-1) * n
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:4 box
|
||||
// test.kt:5 box
|
||||
// test.kt:9 foo
|
||||
@@ -37,4 +37,4 @@ fun foo(n :Int ) : Int {
|
||||
// test.kt:10 foo
|
||||
// test.kt:12 foo
|
||||
// test.kt:12 foo
|
||||
// test.kt:6 box
|
||||
// test.kt:6 box
|
||||
|
||||
+2
-2
@@ -10,7 +10,7 @@ fun box(): String {
|
||||
}
|
||||
|
||||
// FORCE_STEP_INTO
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:9 box
|
||||
// test.kt:4 ifoo$default (synthetic)
|
||||
// test.kt:5 ifoo
|
||||
@@ -18,4 +18,4 @@ fun box(): String {
|
||||
// test.kt:9 box
|
||||
|
||||
// EXPECTATIONS JS_IR
|
||||
// test.kt:9 box
|
||||
// test.kt:9 box
|
||||
|
||||
@@ -16,7 +16,7 @@ fun box(): String {
|
||||
}
|
||||
|
||||
// FORCE_STEP_INTO
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:14 box
|
||||
// test.kt:5 box
|
||||
// test.kt:6 box
|
||||
|
||||
+1
-20
@@ -11,30 +11,11 @@ fun box(): String {
|
||||
return ifoo()
|
||||
}
|
||||
|
||||
// `alsoInline` is inlined in the `ifoo$default` stub. When exiting the inline
|
||||
// codegen, the line number is reset. Therefore any code generated with line
|
||||
// number information will emit a new line number so that stepping continues
|
||||
// in the caller.
|
||||
//
|
||||
// For JVM none of the code after `alsoInline` leads to line number generation.
|
||||
// This seems problematic as the line number for the inline function is then
|
||||
// in effect for instructions outside the scope of the `$i$f$alsoInline`
|
||||
// variable life time.
|
||||
//
|
||||
// For JVM_IR a line number is generated for the code following `alsoInline`.
|
||||
// Therefore, we stop on line 5 before entering `alsoInline`
|
||||
// and we step back to line 5 after `alsoInline` and before the body of
|
||||
// `ifoo`. This seems reasonable and also help ensure that line numbers
|
||||
// for the inline function are only used for instructions covered by
|
||||
// the `$i$f$alsoInline` variable life time.
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:11 box
|
||||
// test.kt:6 box
|
||||
// test.kt:4 box
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:6 box
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:7 box
|
||||
// test.kt:11 box
|
||||
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ fun box() {
|
||||
}
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:11 box
|
||||
// test.kt:7 box
|
||||
// test.kt:12 box
|
||||
|
||||
@@ -21,7 +21,7 @@ fun fail() : String {
|
||||
return "fail"
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:5 box
|
||||
// test.kt:17 box
|
||||
// test.kt:6 box
|
||||
|
||||
@@ -19,7 +19,7 @@ fun fail() : String {
|
||||
return "fail"
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:7 box
|
||||
// test.kt:15 box
|
||||
// test.kt:8 box
|
||||
|
||||
@@ -21,7 +21,7 @@ fun fail() : String {
|
||||
return "fail"
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:5 box
|
||||
// test.kt:17 box
|
||||
// test.kt:6 box
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// IGNORE_BACKEND: WASM
|
||||
// IGNORE_BACKEND: JVM
|
||||
|
||||
// FILE: test.kt
|
||||
fun box(){
|
||||
test() +
|
||||
@@ -17,12 +17,7 @@ fun fail() : String {
|
||||
return "fail"
|
||||
}
|
||||
|
||||
// The JVM backend does not go back to line 4 and 7 for the
|
||||
// addition. Instead it treats the addition of the evaluated
|
||||
// arguments as being on line 5 and 8. That seems incorrect
|
||||
// and the JVM_IR stepping is more correct.
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:5 box
|
||||
// test.kt:13 box
|
||||
// test.kt:5 box
|
||||
|
||||
+1
-30
@@ -33,16 +33,7 @@ fun box() {
|
||||
stringSwitch("nope")
|
||||
}
|
||||
|
||||
// JVM_IR uses the line number of the start of the `when` as the line number
|
||||
// for the lookup/table switch. Therefore when the subject and the when is
|
||||
// on separate lines the first step is on the subject, then steop to the when,
|
||||
// then to the right branch.
|
||||
|
||||
// JVM_IR uses optimized lookup/table switches for all these cases. JVM
|
||||
// does not. So on JVM there are steps on each condition evaluation for
|
||||
// the first `when`.
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:30 box
|
||||
// test.kt:5 stringSwitch
|
||||
// test.kt:6 stringSwitch
|
||||
@@ -51,63 +42,43 @@ fun box() {
|
||||
// test.kt:13 stringSwitch
|
||||
// test.kt:12 stringSwitch
|
||||
// test.kt:20 stringSwitch
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:19 stringSwitch
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:22 stringSwitch
|
||||
// test.kt:19 stringSwitch
|
||||
// test.kt:27 stringSwitch
|
||||
// test.kt:31 box
|
||||
// test.kt:5 stringSwitch
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:6 stringSwitch
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:7 stringSwitch
|
||||
// test.kt:5 stringSwitch
|
||||
// test.kt:12 stringSwitch
|
||||
// test.kt:14 stringSwitch
|
||||
// test.kt:12 stringSwitch
|
||||
// test.kt:20 stringSwitch
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:19 stringSwitch
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:23 stringSwitch
|
||||
// test.kt:19 stringSwitch
|
||||
// test.kt:27 stringSwitch
|
||||
// test.kt:32 box
|
||||
// test.kt:5 stringSwitch
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:6 stringSwitch
|
||||
// test.kt:7 stringSwitch
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:8 stringSwitch
|
||||
// test.kt:5 stringSwitch
|
||||
// test.kt:12 stringSwitch
|
||||
// test.kt:15 stringSwitch
|
||||
// test.kt:12 stringSwitch
|
||||
// test.kt:20 stringSwitch
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:19 stringSwitch
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:24 stringSwitch
|
||||
// test.kt:19 stringSwitch
|
||||
// test.kt:27 stringSwitch
|
||||
// test.kt:33 box
|
||||
// test.kt:5 stringSwitch
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:6 stringSwitch
|
||||
// test.kt:7 stringSwitch
|
||||
// test.kt:8 stringSwitch
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:9 stringSwitch
|
||||
// test.kt:5 stringSwitch
|
||||
// test.kt:12 stringSwitch
|
||||
// test.kt:16 stringSwitch
|
||||
// test.kt:12 stringSwitch
|
||||
// test.kt:20 stringSwitch
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:19 stringSwitch
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:25 stringSwitch
|
||||
// test.kt:19 stringSwitch
|
||||
// test.kt:27 stringSwitch
|
||||
|
||||
+1
-20
@@ -29,16 +29,7 @@ fun box() {
|
||||
stringSwitch("nope")
|
||||
}
|
||||
|
||||
// JVM_IR uses the line number of the start of the `when` as the line number
|
||||
// for the lookup/table switch. Therefore when the subject and the when is
|
||||
// on separate lines the first step is on the subject, then steop to the when,
|
||||
// then to the right branch.
|
||||
|
||||
// JVM_IR uses unoptimized lookup/table switches for all these cases. JVM
|
||||
// does not. So on JVM there are direct jumps to the right branch for the
|
||||
// last two whens.
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:27 box
|
||||
// test.kt:5 stringSwitch
|
||||
// test.kt:6 stringSwitch
|
||||
@@ -47,9 +38,7 @@ fun box() {
|
||||
// test.kt:12 stringSwitch
|
||||
// test.kt:11 stringSwitch
|
||||
// test.kt:18 stringSwitch
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:17 stringSwitch
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:20 stringSwitch
|
||||
// test.kt:17 stringSwitch
|
||||
// test.kt:24 stringSwitch
|
||||
@@ -59,16 +48,12 @@ fun box() {
|
||||
// test.kt:7 stringSwitch
|
||||
// test.kt:5 stringSwitch
|
||||
// test.kt:11 stringSwitch
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:12 stringSwitch
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:13 stringSwitch
|
||||
// test.kt:11 stringSwitch
|
||||
// test.kt:18 stringSwitch
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:17 stringSwitch
|
||||
// test.kt:20 stringSwitch
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:21 stringSwitch
|
||||
// test.kt:17 stringSwitch
|
||||
// test.kt:24 stringSwitch
|
||||
@@ -79,18 +64,14 @@ fun box() {
|
||||
// test.kt:8 stringSwitch
|
||||
// test.kt:5 stringSwitch
|
||||
// test.kt:11 stringSwitch
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:12 stringSwitch
|
||||
// test.kt:13 stringSwitch
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:14 stringSwitch
|
||||
// test.kt:11 stringSwitch
|
||||
// test.kt:18 stringSwitch
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:17 stringSwitch
|
||||
// test.kt:20 stringSwitch
|
||||
// test.kt:21 stringSwitch
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:22 stringSwitch
|
||||
// test.kt:17 stringSwitch
|
||||
// test.kt:24 stringSwitch
|
||||
|
||||
@@ -11,7 +11,7 @@ suspend fun box() {
|
||||
}
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:9 box
|
||||
// test.kt:5 foo
|
||||
// test.kt:10 invoke
|
||||
|
||||
@@ -17,7 +17,7 @@ suspend fun box() {
|
||||
// That means that we never step into the lambda as that is only
|
||||
// called via code in the kotlin package.
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:10 box
|
||||
// test.kt:6 foo
|
||||
// test.kt:10 box
|
||||
|
||||
+2
-1
@@ -15,7 +15,8 @@ fun throwIfLess(a: Int, b: Int) {
|
||||
if (a<b)
|
||||
throw IllegalStateException()
|
||||
}
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:4 box
|
||||
// test.kt:5 box
|
||||
// test.kt:6 box
|
||||
|
||||
+2
-2
@@ -9,7 +9,7 @@ fun box() {
|
||||
foo()
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:9 box
|
||||
// test.kt:4 foo
|
||||
// test.kt:9 box
|
||||
@@ -18,4 +18,4 @@ fun box() {
|
||||
// EXPECTATIONS JS_IR
|
||||
// test.kt:9 box
|
||||
// test.kt:4 foo
|
||||
// test.kt:10 box
|
||||
// test.kt:10 box
|
||||
|
||||
+2
-2
@@ -20,7 +20,7 @@ fun box() {
|
||||
// interfaces with default methods (forwarding to the actual implementation
|
||||
// on A$DefaultImpls) have the line number of the class declaration.
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:15 box
|
||||
// test.kt:15 <init>
|
||||
// test.kt:15 box
|
||||
@@ -56,4 +56,4 @@ fun box() {
|
||||
// test.kt:16 box
|
||||
// test.kt:8 bar
|
||||
// test.kt:5 foo
|
||||
// test.kt:17 box
|
||||
// test.kt:17 box
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ fun box() {
|
||||
foo(true)
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:14 box
|
||||
// test.kt:5 foo
|
||||
// test.kt:6 foo
|
||||
|
||||
+1
-1
@@ -48,7 +48,7 @@ fun box() {
|
||||
foo()
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:42 box
|
||||
// test.kt:5 foo
|
||||
// test.kt:6 foo
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@ fun box() {
|
||||
foo()
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:34 box
|
||||
// test.kt:5 foo
|
||||
// test.kt:6 foo
|
||||
|
||||
+2
-14
@@ -35,12 +35,7 @@ fun box() {
|
||||
foo()
|
||||
}
|
||||
|
||||
// The JVM backend steps back to line 11 when leaving the
|
||||
// `mightThrow2` call. The JVM_IR backend does not. The
|
||||
// JVM_IR behavior is consistent with what happens for the
|
||||
// try-finally where the value is discarded which seems good.
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:30 box
|
||||
// test.kt:5 foo
|
||||
// test.kt:6 foo
|
||||
@@ -52,9 +47,6 @@ fun box() {
|
||||
// test.kt:12 foo
|
||||
// test.kt:26 mightThrow2
|
||||
// test.kt:27 mightThrow2
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:12 foo
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:14 foo
|
||||
// test.kt:15 foo
|
||||
// test.kt:11 foo
|
||||
@@ -70,10 +62,6 @@ fun box() {
|
||||
// test.kt:11 foo
|
||||
// test.kt:12 foo
|
||||
// test.kt:26 mightThrow2
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:15 foo
|
||||
// test.kt:11 foo
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:14 foo
|
||||
|
||||
// EXPECTATIONS JS_IR
|
||||
@@ -93,4 +81,4 @@ fun box() {
|
||||
// test.kt:23 mightThrow
|
||||
// test.kt:12 foo
|
||||
// test.kt:26 mightThrow2
|
||||
// test.kt:26 mightThrow2
|
||||
// test.kt:26 mightThrow2
|
||||
|
||||
@@ -12,12 +12,7 @@ fun box() {
|
||||
}
|
||||
}
|
||||
|
||||
// The JVM IR backend does generate line number information for the
|
||||
// declaration of local variables without initializer.
|
||||
// Stepping through those is useful for breakpoinnts.
|
||||
// The JVM backend does generate these line numbers as well.
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:5 box
|
||||
// test.kt:6 box
|
||||
// test.kt:7 box
|
||||
@@ -32,4 +27,4 @@ fun box() {
|
||||
// test.kt:9 box
|
||||
// test.kt:10 box
|
||||
// test.kt:11 box
|
||||
// test.kt:13 box
|
||||
// test.kt:13 box
|
||||
|
||||
@@ -9,7 +9,7 @@ fun box(): String {
|
||||
return "OK"
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:5 box
|
||||
// fake.kt:1 box
|
||||
// test.kt:5 box
|
||||
|
||||
+1
-50
@@ -19,51 +19,24 @@ fun box() {
|
||||
foo(21)
|
||||
}
|
||||
|
||||
// JVM_IR backend optimized the when to a switch in the java bytecode.
|
||||
// Therefore, the stepping for JVM_IR does not step through the evaluation
|
||||
// of each of the conditions, but goes directly to the right body. The
|
||||
// JVM_IR stepping behavior here is the same as for `whenSubject.kt`.
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:19 box
|
||||
// test.kt:5 foo
|
||||
// test.kt:6 foo
|
||||
// test.kt:5 foo
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:6 foo
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:7 foo
|
||||
// test.kt:5 foo
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:6 foo
|
||||
// test.kt:7 foo
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:8 foo
|
||||
// test.kt:11 foo
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:12 foo
|
||||
// test.kt:13 foo
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:14 foo
|
||||
// test.kt:11 foo
|
||||
// test.kt:16 foo
|
||||
// test.kt:7 foo
|
||||
// test.kt:11 foo
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:12 foo
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:13 foo
|
||||
// test.kt:5 foo
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:6 foo
|
||||
// test.kt:7 foo
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:8 foo
|
||||
// test.kt:11 foo
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:12 foo
|
||||
// test.kt:13 foo
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:14 foo
|
||||
// test.kt:11 foo
|
||||
// test.kt:16 foo
|
||||
@@ -74,41 +47,19 @@ fun box() {
|
||||
// test.kt:11 foo
|
||||
// test.kt:12 foo
|
||||
// test.kt:5 foo
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:6 foo
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:7 foo
|
||||
// test.kt:5 foo
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:6 foo
|
||||
// test.kt:7 foo
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:8 foo
|
||||
// test.kt:11 foo
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:12 foo
|
||||
// test.kt:13 foo
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:14 foo
|
||||
// test.kt:11 foo
|
||||
// test.kt:16 foo
|
||||
// test.kt:7 foo
|
||||
// test.kt:11 foo
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:12 foo
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:13 foo
|
||||
// test.kt:5 foo
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:6 foo
|
||||
// test.kt:7 foo
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:8 foo
|
||||
// test.kt:11 foo
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:12 foo
|
||||
// test.kt:13 foo
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:14 foo
|
||||
// test.kt:11 foo
|
||||
// test.kt:16 foo
|
||||
|
||||
+1
-11
@@ -19,10 +19,7 @@ fun box() {
|
||||
foo(2)
|
||||
}
|
||||
|
||||
// The JVM_IR backend optimizes the inner when to a switch and therefore goes directly to the
|
||||
// right case without stepping through evaluation of each condition.
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:17 box
|
||||
// test.kt:6 foo
|
||||
// test.kt:7 foo
|
||||
@@ -31,18 +28,11 @@ fun box() {
|
||||
// test.kt:14 foo
|
||||
// test.kt:18 box
|
||||
// test.kt:6 foo
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:7 foo
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:8 foo
|
||||
// test.kt:5 foo
|
||||
// test.kt:14 foo
|
||||
// test.kt:19 box
|
||||
// test.kt:6 foo
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:7 foo
|
||||
// test.kt:8 foo
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:9 foo
|
||||
// test.kt:5 foo
|
||||
// test.kt:11 foo
|
||||
|
||||
+1
-5
@@ -12,14 +12,10 @@ fun box() {
|
||||
}
|
||||
}
|
||||
|
||||
// JVM_IR and JVM backends have different heuristics for when to use a switch.
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:5 box
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:5 box
|
||||
// test.kt:6 box
|
||||
// test.kt:8 box
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:11 box
|
||||
// test.kt:13 box
|
||||
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@ fun box() {
|
||||
}
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:5 box
|
||||
// test.kt:6 box
|
||||
// test.kt:7 box
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ fun box() {
|
||||
foo(1)
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:16 box
|
||||
// test.kt:5 foo
|
||||
// test.kt:6 foo
|
||||
|
||||
+1
-28
@@ -29,54 +29,27 @@ fun box() {
|
||||
foo(63)
|
||||
}
|
||||
|
||||
// JVM_IR backend optimized the when to a switch in the java bytecode.
|
||||
// Therefore, the stepping for JVM_IR does not step through the evaluation
|
||||
// of each of the conditions, but goes directly to the right body.
|
||||
// JVM_IR stepping behavior here is the same as for `whenMultiLineSubject.kt`.
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:27 box
|
||||
// test.kt:5 foo
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:6 foo
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:7 foo
|
||||
// test.kt:14 foo
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:15 foo
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:16 foo
|
||||
// test.kt:14 foo
|
||||
// test.kt:23 foo
|
||||
// test.kt:27 box
|
||||
// test.kt:28 box
|
||||
// test.kt:5 foo
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:6 foo
|
||||
// test.kt:8 foo
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:9 foo
|
||||
// test.kt:14 foo
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:15 foo
|
||||
// test.kt:17 foo
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:18 foo
|
||||
// test.kt:14 foo
|
||||
// test.kt:23 foo
|
||||
// test.kt:28 box
|
||||
// test.kt:29 box
|
||||
// test.kt:5 foo
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:6 foo
|
||||
// test.kt:8 foo
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:11 foo
|
||||
// test.kt:14 foo
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:15 foo
|
||||
// test.kt:17 foo
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// test.kt:20 foo
|
||||
// test.kt:14 foo
|
||||
// test.kt:23 foo
|
||||
|
||||
@@ -29,7 +29,7 @@ fun box() {
|
||||
foo(63)
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:27 box
|
||||
// test.kt:5 foo
|
||||
// test.kt:7 foo
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@ fun box() {
|
||||
}
|
||||
}
|
||||
|
||||
// EXPECTATIONS JVM JVM_IR
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:5 box
|
||||
// test.kt:6 box
|
||||
// test.kt:7 box
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user