Use JVM package name in Java 9 module accessibility checks
This fixes Java9ModuleIntegrationTest.testDependencyOnStdlibJdk78 from the 1.2 branch
This commit is contained in:
+3
-1
@@ -22,6 +22,7 @@ import com.intellij.psi.PsiElement
|
|||||||
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||||
import org.jetbrains.kotlin.descriptors.*
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
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.sources.JavaSourceElement
|
||||||
import org.jetbrains.kotlin.load.java.structure.impl.VirtualFileBoundJavaClass
|
import org.jetbrains.kotlin.load.java.structure.impl.VirtualFileBoundJavaClass
|
||||||
import org.jetbrains.kotlin.load.kotlin.KotlinJvmBinaryPackageSourceElement
|
import org.jetbrains.kotlin.load.kotlin.KotlinJvmBinaryPackageSourceElement
|
||||||
@@ -64,7 +65,8 @@ class JvmModuleAccessibilityChecker(project: Project) : CallChecker {
|
|||||||
val referencedFile = findVirtualFile(targetClassOrPackage, originalDescriptor) ?: return null
|
val referencedFile = findVirtualFile(targetClassOrPackage, originalDescriptor) ?: return null
|
||||||
|
|
||||||
val referencedPackageFqName =
|
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)
|
val diagnostic = moduleResolver.checkAccessibility(fileFromOurModule, referencedFile, referencedPackageFqName)
|
||||||
|
|
||||||
return when (diagnostic) {
|
return when (diagnostic) {
|
||||||
|
|||||||
Reference in New Issue
Block a user