[JS IR] Add IC invalidation tests

This commit is contained in:
Alexander Korepanov
2022-02-01 22:07:55 +03:00
committed by Space
parent 210cc67041
commit 28b1f1c50f
175 changed files with 1619 additions and 1 deletions
@@ -0,0 +1,8 @@
class Demo(val x: String) {
fun foo() = "foo $x"
inline fun foo_inline() = "inline foo $x"
inline fun unused_inline() = "unused"
val field1 = "field1"
}
@@ -0,0 +1,13 @@
interface DemoInterface {
fun foo(): Any
}
class Demo(val x: String, val y: String = "default") : DemoInterface {
override fun foo() = "foo $x update"
inline fun foo_inline() = "inline foo $x update"
inline fun unused_inline() = "unused update"
val field1 = 77
val field2 = "field2"
}
@@ -0,0 +1,13 @@
interface DemoInterface {
fun foo(): Any
}
class Demo(val x: String, val y: String = "default") : DemoInterface {
override fun foo() = "foo $x update"
inline fun foo_inline() = "inline foo $x update"
inline fun unused_inline() = "unused update"
val field1 : Int? = null
val field2 = "field2"
}
@@ -0,0 +1,8 @@
class Demo(val x: String) {
fun foo() = "foo $x update"
inline fun foo_inline() = "inline foo $x"
inline fun unused_inline() = "unused"
val field1 = "field1"
}
@@ -0,0 +1,8 @@
class Demo(val x: String) {
fun foo() = "foo $x update"
inline fun foo_inline() = "inline foo $x update"
inline fun unused_inline() = "unused"
val field1 = "field1"
}
@@ -0,0 +1,8 @@
class Demo(val x: String, val y: String = "default") {
fun foo() = "foo $x update"
inline fun foo_inline() = "inline foo $x update"
inline fun unused_inline() = "unused"
val field1 = "field1"
}
@@ -0,0 +1,9 @@
class Demo(val x: String, val y: String = "default") {
fun foo() = "foo $x update"
inline fun foo_inline() = "inline foo $x update"
inline fun unused_inline() = "unused"
val field1 = "field1"
val field2 = "field2"
}
@@ -0,0 +1,9 @@
class Demo(val x: String, val y: String = "default") {
fun foo() = "foo $x update"
inline fun foo_inline() = "inline foo $x update"
inline fun unused_inline() = "unused"
val field1 = "field1 update"
val field2 = "field2"
}
@@ -0,0 +1,9 @@
class Demo(val x: String, val y: String = "default") {
fun foo() = "foo $x update"
inline fun foo_inline() = "inline foo $x update"
inline fun unused_inline() = "unused update"
val field1 = "field1 update"
val field2 = "field2"
}
@@ -0,0 +1,13 @@
interface DemoInterface {
fun foo(): String
}
class Demo(val x: String, val y: String = "default") {
fun foo() = "foo $x update"
inline fun foo_inline() = "inline foo $x update"
inline fun unused_inline() = "unused update"
val field1 = "field1 update"
val field2 = "field2"
}
@@ -0,0 +1,13 @@
interface DemoInterface {
fun foo(): String
}
class Demo(val x: String, val y: String = "default") : DemoInterface {
override fun foo() = "foo $x update"
inline fun foo_inline() = "inline foo $x update"
inline fun unused_inline() = "unused update"
val field1 = "field1 update"
val field2 = "field2"
}
@@ -0,0 +1,13 @@
interface DemoInterface {
fun foo(): Any
}
class Demo(val x: String, val y: String = "default") : DemoInterface {
override fun foo() = "foo $x update"
inline fun foo_inline() = "inline foo $x update"
inline fun unused_inline() = "unused update"
val field1 = "field1 update"
val field2 = "field2"
}
@@ -0,0 +1,60 @@
STEP 0:
dependencies: stdlib
modifications:
U : l1.kt.0_init.txt -> l1.kt
dirty: l1.kt
STEP 1:
dependencies: stdlib
modifications:
U : l1.kt.1_update_fun.txt -> l1.kt
dirty: l1.kt
STEP 2:
dependencies: stdlib
modifications:
U : l1.kt.2_update_inline_fun.txt -> l1.kt
dirty: l1.kt
STEP 3:
dependencies: stdlib
modifications:
U : l1.kt.3_add_param.txt -> l1.kt
dirty: l1.kt
STEP 4:
dependencies: stdlib
modifications:
U : l1.kt.4_add_field.txt -> l1.kt
dirty: l1.kt
STEP 5:
dependencies: stdlib
modifications:
U : l1.kt.5_update_field.txt -> l1.kt
dirty: l1.kt
STEP 6:
dependencies: stdlib
modifications:
U : l1.kt.6_update_unused_inline.txt -> l1.kt
dirty: l1.kt
STEP 7:
dependencies: stdlib
modifications:
U : l1.kt.7_add_unused_interface.txt -> l1.kt
dirty: l1.kt
STEP 8:
dependencies: stdlib
modifications:
U : l1.kt.8_use_interface.txt -> l1.kt
dirty: l1.kt
STEP 9:
dependencies: stdlib
modifications:
U : l1.kt.9_update_interface.txt -> l1.kt
dirty: l1.kt
STEP 10:
dependencies: stdlib
modifications:
U : l1.kt.10_update_field_type.txt -> l1.kt
dirty: l1.kt
STEP 11:
dependencies: stdlib
modifications:
U : l1.kt.11_update_field_type.txt -> l1.kt
dirty: l1.kt
@@ -0,0 +1 @@
fun box() = Demo("test1").foo() + Demo("test2").foo_inline() + "${Demo("test3").field1}"
@@ -0,0 +1,29 @@
STEP 0:
dependencies: stdlib, lib1
dirty: m.kt
STEP 1:
dependencies: stdlib, lib1
STEP 2:
dependencies: stdlib, lib1
dirty: m.kt
STEP 3:
dependencies: stdlib, lib1
dirty: m.kt
STEP 4:
dependencies: stdlib, lib1
STEP 5:
dependencies: stdlib, lib1
STEP 6:
dependencies: stdlib, lib1
STEP 7:
dependencies: stdlib, lib1
STEP 8:
dependencies: stdlib, lib1
STEP 9:
dependencies: stdlib, lib1
STEP 10:
dependencies: stdlib, lib1
dirty: m.kt
STEP 11:
dependencies: stdlib, lib1
dirty: m.kt
@@ -0,0 +1,26 @@
MODULES: lib1, main
STEP 0:
libs: lib1, main
STEP 1:
libs: lib1, main
STEP 2:
libs: lib1, main
STEP 3:
libs: lib1, main
STEP 4:
libs: lib1, main
STEP 5:
libs: lib1, main
STEP 6:
libs: lib1, main
STEP 7:
libs: lib1, main
STEP 8:
libs: lib1, main
STEP 9:
libs: lib1, main
STEP 10:
libs: lib1, main
STEP 11:
libs: lib1, main