Use JVM package name in Java 9 module accessibility checks

This fixes Java9ModuleIntegrationTest.testDependencyOnStdlibJdk78 from
the 1.2 branch
This commit is contained in:
Alexander Udalov
2017-09-14 15:11:20 +03:00
parent d3082b0e62
commit 37a23f0958
@@ -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) {