From e351d560d671665dcdc1bbdb8ca25893567b1169 Mon Sep 17 00:00:00 2001 From: Georgy Bronnikov Date: Tue, 28 Jan 2020 12:10:11 +0300 Subject: [PATCH] IR: remove KotlinIrLinker.checkAccessibility This sanity check conflicted with cases where visibility test is suppressed in the frontend. --- .../backend/common/serialization/KotlinIrLinker.kt | 5 ----- .../ir/backend/js/lower/serialization/ir/JsIrLinker.kt | 5 ----- .../kotlin/ir/backend/jvm/serialization/JvmIrLinker.kt | 9 --------- 3 files changed, 19 deletions(-) diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/KotlinIrLinker.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/KotlinIrLinker.kt index e5fe6f3f6c2..c6c23580618 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/KotlinIrLinker.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/KotlinIrLinker.kt @@ -527,7 +527,6 @@ abstract class KotlinIrLinker( protected abstract fun readFile(moduleDescriptor: ModuleDescriptor, fileIndex: Int): ByteArray protected abstract fun readFileCount(moduleDescriptor: ModuleDescriptor): Int - protected abstract fun checkAccessibility(declarationDescriptor: DeclarationDescriptor): Boolean protected open fun handleNoModuleDeserializerFound(key: UniqId): DeserializationState<*> { error("Deserializer for declaration $key is not found") } @@ -556,10 +555,6 @@ abstract class KotlinIrLinker( // if (!topLevelDescriptor.shouldBeDeserialized()) return null - require(checkAccessibility(topLevelDescriptor)) { - "Locally accessible declarations should not be accessed here $topLevelDescriptor" - } - if (topLevelDescriptor !is DeserializedClassDescriptor && topLevelDescriptor !is DeserializedCallableMemberDescriptor) { return null } diff --git a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/lower/serialization/ir/JsIrLinker.kt b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/lower/serialization/ir/JsIrLinker.kt index b18c6505a07..b02196a94c4 100644 --- a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/lower/serialization/ir/JsIrLinker.kt +++ b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/lower/serialization/ir/JsIrLinker.kt @@ -51,10 +51,5 @@ class JsIrLinker( override fun readFileCount(moduleDescriptor: ModuleDescriptor) = moduleDescriptor.kotlinLibrary.fileCount() - override fun checkAccessibility(declarationDescriptor: DeclarationDescriptor): Boolean { - require(declarationDescriptor is DeclarationDescriptorWithVisibility) - return declarationDescriptor.isPublishedApi() || declarationDescriptor.visibility.let { it.isPublicAPI || it == Visibilities.INTERNAL } - } - private val ModuleDescriptor.userName get() = kotlinLibrary.libraryFile.absolutePath } \ No newline at end of file diff --git a/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/ir/backend/jvm/serialization/JvmIrLinker.kt b/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/ir/backend/jvm/serialization/JvmIrLinker.kt index cece89a684c..0a06a609989 100644 --- a/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/ir/backend/jvm/serialization/JvmIrLinker.kt +++ b/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/ir/backend/jvm/serialization/JvmIrLinker.kt @@ -62,14 +62,5 @@ class JvmIrLinker( override fun readFileCount(moduleDescriptor: ModuleDescriptor) = moduleDescriptor.kotlinLibrary.fileCount() - override fun checkAccessibility(declarationDescriptor: DeclarationDescriptor): Boolean { - require(declarationDescriptor is DeclarationDescriptorWithVisibility) - return declarationDescriptor.isPublishedApi() || - declarationDescriptor.visibility.let { - it.isPublicAPI || it == Visibilities.INTERNAL || - it == JavaVisibilities.PACKAGE_VISIBILITY || it == JavaVisibilities.PROTECTED_AND_PACKAGE - } - } - private val ModuleDescriptor.userName get() = kotlinLibrary.libraryFile.absolutePath } \ No newline at end of file