From 37a23f095855823c4dd34727d84a983eac365ef6 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Thu, 14 Sep 2017 15:11:20 +0300 Subject: [PATCH] Use JVM package name in Java 9 module accessibility checks This fixes Java9ModuleIntegrationTest.testDependencyOnStdlibJdk78 from the 1.2 branch --- .../resolve/jvm/checkers/JvmModuleAccessibilityChecker.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/checkers/JvmModuleAccessibilityChecker.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/checkers/JvmModuleAccessibilityChecker.kt index 3cfbba64a15..56ff3e1d47a 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/checkers/JvmModuleAccessibilityChecker.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/checkers/JvmModuleAccessibilityChecker.kt @@ -22,6 +22,7 @@ import com.intellij.psi.PsiElement import org.jetbrains.kotlin.config.LanguageVersionSettings import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.diagnostics.Diagnostic +import org.jetbrains.kotlin.load.java.descriptors.getImplClassNameForDeserialized import org.jetbrains.kotlin.load.java.sources.JavaSourceElement import org.jetbrains.kotlin.load.java.structure.impl.VirtualFileBoundJavaClass import org.jetbrains.kotlin.load.kotlin.KotlinJvmBinaryPackageSourceElement @@ -64,7 +65,8 @@ class JvmModuleAccessibilityChecker(project: Project) : CallChecker { val referencedFile = findVirtualFile(targetClassOrPackage, originalDescriptor) ?: return null val referencedPackageFqName = - DescriptorUtils.getParentOfType(targetClassOrPackage, PackageFragmentDescriptor::class.java, false)?.fqName + (originalDescriptor as? DeserializedMemberDescriptor)?.getImplClassNameForDeserialized()?.packageFqName + ?: DescriptorUtils.getParentOfType(targetClassOrPackage, PackageFragmentDescriptor::class.java, false)?.fqName val diagnostic = moduleResolver.checkAccessibility(fileFromOurModule, referencedFile, referencedPackageFqName) return when (diagnostic) {