From db8def641df55b2ecb1d975b22a6c7261e81a2da Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Wed, 14 May 2014 15:01:04 +0400 Subject: [PATCH] Guard loading top-level classes with a check that they are not Kotlin binaries Original commit: 291741754b3dcb98352968f94589ed5d51a85f6e --- .../jet/jps/build/SimpleKotlinJpsBuildTest.kt | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/jps/jps-plugin/test/org/jetbrains/jet/jps/build/SimpleKotlinJpsBuildTest.kt b/jps/jps-plugin/test/org/jetbrains/jet/jps/build/SimpleKotlinJpsBuildTest.kt index 651fcebdffc..1adc05168c3 100644 --- a/jps/jps-plugin/test/org/jetbrains/jet/jps/build/SimpleKotlinJpsBuildTest.kt +++ b/jps/jps-plugin/test/org/jetbrains/jet/jps/build/SimpleKotlinJpsBuildTest.kt @@ -71,4 +71,39 @@ public class SimpleKotlinJpsBuildTest : JpsBuildTestCase() { rebuildAll() } + + public fun testLoadingKotlinFromDifferentModules() { + val aFile = createFile("m1/K.kt", + """ + package m1; + + trait K { + } + """) + createFile("m1/J.java", + """ + package m1; + + public interface J { + K bar(); + } + """) + val a = addModule("m1", PathUtil.getParentPath(aFile)) + + val bFile = createFile("m2/m2.kt", + """ + import m1.J; + import m1.K; + + trait M2: J { + override fun bar(): K + } + """) + val b = addModule("b", PathUtil.getParentPath(bFile)) + JpsJavaExtensionService.getInstance().getOrCreateDependencyExtension( + b.getDependenciesList().addModuleDependency(a) + ).setExported(false) + + rebuildAll() + } }