add local variable test. This test runs box() method and checks local variable types and names avaiable at every step.
This commit is contained in:
committed by
Ilmir Usmanov
parent
6b73ef4b0b
commit
6454cfad87
@@ -0,0 +1,20 @@
|
||||
//FILE: test.kt
|
||||
|
||||
data class someClass(val a: Double, val b: Double)
|
||||
|
||||
fun box() {
|
||||
val a = someClass(1.0, 2.0)
|
||||
val b = a.copy(b = 3.0)
|
||||
}
|
||||
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// LOCAL VARIABLES
|
||||
// TestKt:6:
|
||||
// someClass:3: a:double, b:double
|
||||
// TestKt:6:
|
||||
// TestKt:7: a:someClass
|
||||
// someClass:3: a:double, b:double
|
||||
// someClass.copy(double, double)+9: a:double, b:double
|
||||
// someClass.copy$default(someClass, double, double, int, java.lang.Object)+30:
|
||||
// TestKt:7: a:someClass
|
||||
// TestKt:8: a:someClass, b:someClass
|
||||
@@ -0,0 +1,20 @@
|
||||
//FILE: test.kt
|
||||
|
||||
// WITH_RUNTIME
|
||||
|
||||
fun box() {
|
||||
val map: Map<String, String> = mapOf("1" to "23")
|
||||
for ((a, b)
|
||||
in map) {
|
||||
a + b
|
||||
}
|
||||
}
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// LOCAL VARIABLES
|
||||
// TestKt:6:
|
||||
// TestKt:8: map:java.util.Collections$SingletonMap
|
||||
// TestKt:7: map:java.util.Collections$SingletonMap
|
||||
// TestKt:9: map:java.util.Collections$SingletonMap, a:java.lang.String, b:java.lang.String
|
||||
// TestKt:7: map:java.util.Collections$SingletonMap
|
||||
// TestKt:8: map:java.util.Collections$SingletonMap
|
||||
// TestKt:11: map:java.util.Collections$SingletonMap
|
||||
@@ -0,0 +1,20 @@
|
||||
//FILE: test.kt
|
||||
|
||||
data class A(val x: String, val y: Int)
|
||||
|
||||
fun foo(a: A, block: (A) -> String): String = block(a)
|
||||
|
||||
fun box() {
|
||||
foo(A("O", 123)) { (x, y) -> x + y }
|
||||
}
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// LOCAL VARIABLES
|
||||
// TestKt:8:
|
||||
// A:3: x:java.lang.String, y:int
|
||||
// TestKt:8:
|
||||
// TestKt:5: $dstr$x$y:A
|
||||
// TestKt$box$1:8:
|
||||
// TestKt$box$1.invoke(java.lang.Object)+8: a:A, block:TestKt$box$1
|
||||
// TestKt:5: a:A, block:TestKt$box$1
|
||||
// TestKt:8:
|
||||
// TestKt:9:
|
||||
@@ -0,0 +1,16 @@
|
||||
//FILE: test.kt
|
||||
|
||||
fun foo() {
|
||||
fun bar() {
|
||||
}
|
||||
}
|
||||
|
||||
fun box() {
|
||||
foo()
|
||||
}
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// LOCAL VARIABLES
|
||||
// TestKt:9:
|
||||
// TestKt:4: $fun$bar$1:TestKt$foo$1
|
||||
// TestKt:6: $fun$bar$1:TestKt$foo$1
|
||||
// TestKt:10:
|
||||
@@ -0,0 +1,49 @@
|
||||
//FILE: test.kt
|
||||
|
||||
data class A(val x: Double = 1.0, val y: String = "", val z: Char = '0')
|
||||
|
||||
fun foo(a: A, block: (A, String, Int) -> String): String = block(a, "", 1)
|
||||
|
||||
val arrayOfA: Array<A> = Array(1) { A() }
|
||||
|
||||
fun box() {
|
||||
|
||||
foo(A()) {
|
||||
(x, _, y), _, w ->
|
||||
|
||||
val (a, _, c) = A()
|
||||
val (_, `_`, d) = A()
|
||||
|
||||
for ((_, q) in arrayOfA) {
|
||||
|
||||
}
|
||||
|
||||
""
|
||||
}
|
||||
}
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// LOCAL VARIABLES
|
||||
// TestKt:11:
|
||||
// A:3:
|
||||
// A:3: x:double, y:java.lang.String, z:char
|
||||
// A:3:
|
||||
// TestKt:11:
|
||||
// TestKt:5: $dstr$x$_u24__u24$y:A, $noName_1:java.lang.String, w:int
|
||||
// TestKt$box$1:14:
|
||||
// A:3: x:double, y:java.lang.String, z:char
|
||||
// A:3:
|
||||
// A:3: $dstr$x$_u24__u24$y:A, $noName_1:java.lang.String, w:int, x:double, y:char
|
||||
// TestKt$box$1:14: $dstr$x$_u24__u24$y:A, $noName_1:java.lang.String, w:int, x:double, y:char, a:double, c:char
|
||||
// TestKt$box$1:15:
|
||||
// A:3: x:double, y:java.lang.String, z:char
|
||||
// A:3:
|
||||
// A:3: $dstr$x$_u24__u24$y:A, $noName_1:java.lang.String, w:int, x:double, y:char, a:double, c:char
|
||||
// TestKt$box$1:15: $dstr$x$_u24__u24$y:A, $noName_1:java.lang.String, w:int, x:double, y:char, a:double, c:char, _:java.lang.String, d:char
|
||||
// TestKt$box$1:17:
|
||||
// TestKt:7: $dstr$x$_u24__u24$y:A, $noName_1:java.lang.String, w:int, x:double, y:char, a:double, c:char, _:java.lang.String, d:char
|
||||
// TestKt$box$1:17: $dstr$x$_u24__u24$y:A, $noName_1:java.lang.String, w:int, x:double, y:char, a:double, c:char, _:java.lang.String, d:char
|
||||
// TestKt$box$1:21:
|
||||
// TestKt$box$1.invoke(java.lang.Object, java.lang.Object, java.lang.Object)+19: a:A, block:TestKt$box$1
|
||||
// TestKt:5: a:A, block:TestKt$box$1
|
||||
// TestKt:11:
|
||||
// TestKt:23:
|
||||
Reference in New Issue
Block a user