Tests: do not add transitive dependencies in multi-module tests

Prefer to have all module dependencies, including dependencies on
stdlib/reflect, declared explicitly. This allows to have tests on
situations like the one in KT-45308: three modules A<-B<-C, where C
doesn't depend on A, which was compiling correctly with the old JVM
backend before 1.5, but started to fail with JVM IR in 1.5.

Also simplify the code a bit, remove duplicated logic.
This commit is contained in:
Alexander Udalov
2021-05-19 21:50:57 +02:00
parent eac3f507b6
commit 8dee36d420
6 changed files with 25 additions and 59 deletions
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS
// MODULE: lib1
// FILE: lib1.kt
@@ -13,14 +12,12 @@ inline class IC<TT>(val c: C<TT>) {
fun foo(): Int = c.hashCode()
}
// MODULE: main(lib2)
// MODULE: main(lib1, lib2)
// FILE: main.kt
fun box(): String {
val ic = IC<Int>(C(42))
if (ic.foo() != 42) return "FAIL"
return "OK"
}
}