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
@@ -29,6 +29,7 @@ fun builder(c: suspend Controller.() -> Unit) {
}
// MODULE: main(lib)
// WITH_RUNTIME
// FILE: B.kt
import a.builder
@@ -83,6 +83,7 @@ interface IrElementVisitor<out R, in D>
interface IrElementTransformer<in D> : IrElementVisitor<IrElement, D>
// MODULE: main(lib)
// WITH_RUNTIME
// FILE: B.kt
fun foo(cases: Collection<IrConst<*>>, exprTransformer: IrElementTransformer<Any>, context: Any) {
@@ -94,6 +95,3 @@ fun foo(cases: Collection<IrConst<*>>, exprTransformer: IrElementTransformer<Any
fun box(): String {
return "OK"
}
@@ -11,6 +11,7 @@ class FqName(val s: String)
val VOLATILE_ANNOTATION_FQ_NAME = FqName("volatile")
// MODULE: main(lib)
// WITH_RUNTIME
// FILE: B.kt
import first.second.VOLATILE_ANNOTATION_FQ_NAME