JVM facade: for Java resolve, always use JvmPlatform resolver
So #KT-20281 Fixed
This commit is contained in:
@@ -70,7 +70,7 @@ object JvmAnalyzerFacade : AnalyzerFacade() {
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
val resolverForReferencedModule = referencedClassModule?.let { resolverForProject.tryGetResolverForModule(it as M) }
|
||||
|
||||
val resolverForModule = resolverForReferencedModule ?: run {
|
||||
val resolverForModule = resolverForReferencedModule?.takeIf { referencedClassModule.platform == JvmPlatform } ?: run {
|
||||
// in case referenced class lies outside of our resolver, resolve the class as if it is inside our module
|
||||
// this leads to java class being resolved several times
|
||||
resolverForProject.resolverForModule(moduleInfo)
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
// !CHECK_HIGHLIGHTING
|
||||
|
||||
data class User(val name: String, val password: String)
|
||||
|
||||
expect open class Expected {
|
||||
val user: User
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
public class ExpectedImpl {
|
||||
public final User user = new User("User", "12345");
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
actual typealias <lineMarker>Expected</lineMarker> = ExpectedImpl
|
||||
@@ -58,6 +58,10 @@ class MultiModuleLineMarkerTest : AbstractMultiModuleHighlightingTest() {
|
||||
doMultiPlatformTest(TargetPlatformKind.Jvm[JvmTarget.JVM_1_6])
|
||||
}
|
||||
|
||||
fun testFromClassToJavaAliasInTest() {
|
||||
doMultiPlatformTest(TargetPlatformKind.Jvm[JvmTarget.JVM_1_6])
|
||||
}
|
||||
|
||||
fun testFromCommonToJvmHeader() {
|
||||
doMultiPlatformTest(TargetPlatformKind.Jvm[JvmTarget.JVM_1_6])
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user