Tests: remove LVT tests on old JVM backend

This commit is contained in:
Alexander Udalov
2023-12-07 19:22:00 +01:00
committed by Space Team
parent 5e330acd28
commit 0c77fa1fa4
73 changed files with 150 additions and 900 deletions
+1 -27
View File
@@ -13,38 +13,12 @@ fun box() {
foo()
}
// Local functions are compiled to private static functions on the class
// containing the local funtion. This has a number of consequences observable
// from a debugging perspective, for this test specifically:
// - local functions do not figure in the LVT of the outer function, as they
// are not instantiated.
// - the _declaration_ of the local function does not figure in the byte code
// of the outer function and hence, has no line number
// - captures are treated differently, according to the implementation
// strategy: on the IR, captures are passed as arguments to the static
// function, on the old backend, they are added to fields on the lambda
// object. Hence, for debugging purposes, captures are "just"
// variables local to the function, and hence need no name mangling to
// properly figure in the debugger.
// EXPECTATIONS JVM JVM_IR
// EXPECTATIONS JVM_IR
// test.kt:13 box:
// test.kt:5 foo:
// EXPECTATIONS JVM
// test.kt:6 foo: x:int=1:int
// test.kt:9 foo: x:int=1:int, $fun$bar$1:TestKt$foo$1=TestKt$foo$1
// EXPECTATIONS JVM_IR
// test.kt:9 foo: x:int=1:int
// EXPECTATIONS JVM
// test.kt:7 invoke:
// test.kt:8 invoke: y:int=1:int
// 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
// EXPECTATIONS JVM
// test.kt:10 foo: x:int=1:int, $fun$bar$1:TestKt$foo$1=TestKt$foo$1
// test.kt:14 box:
// EXPECTATIONS JVM_IR
// test.kt:10 foo: x:int=1:int
// test.kt:14 box: