[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,7 @@
interface Producer<out T> {
fun produce(): T
}
interface Consumer<in T> {
fun consume(v: T): Int
}
@@ -0,0 +1,8 @@
// TODO: After KT-51099, m.kt from main module must be dirty
interface Producer<T> {
fun produce(): T
}
interface Consumer<in T> {
fun consume(v: T): Int
}
@@ -0,0 +1,8 @@
// TODO: After KT-51099, m.kt from main module must be dirty
interface Producer<T> {
fun produce(): T
}
interface Consumer<T> {
fun consume(v: T): Int
}
@@ -0,0 +1,15 @@
STEP 0:
dependencies: stdlib
modifications:
U : l1.kt.0.txt -> l1.kt
dirty: l1.kt
STEP 1:
dependencies: stdlib
modifications:
U : l1.kt.1.txt -> l1.kt
dirty: l1.kt
STEP 1:
dependencies: stdlib
modifications:
U : l1.kt.2.txt -> l1.kt
dirty: l1.kt
@@ -0,0 +1,11 @@
class BoxProducer: Producer<String> {
override fun produce() = "test"
}
class BoxConsumer: Consumer<String> {
override fun consume(s: String) = s.length
}
fun test(producer: Producer<String>, consumer: Consumer<String>) = consumer.consume(producer.produce())
fun box() = test(BoxProducer(), BoxConsumer())
@@ -0,0 +1,7 @@
STEP 0:
dependencies: stdlib, lib1
dirty: m.kt
STEP 1:
dependencies: stdlib, lib1
STEP 2:
dependencies: stdlib, lib1
@@ -0,0 +1,8 @@
MODULES: lib1, main
STEP 0:
libs: lib1, main
STEP 1:
libs: lib1, main
STEP 2:
libs: lib1, main