[IR] Partial linkage: Rename UnlinkedDeclarationsSupport to PartialLinkageSupport

This commit is contained in:
Dmitriy Dolovov
2022-10-13 17:56:21 +02:00
committed by Space Team
parent 15635482aa
commit 2f9d6f6c44
6 changed files with 18 additions and 18 deletions
@@ -9,8 +9,8 @@ import org.jetbrains.kotlin.backend.common.overrides.FakeOverrideBuilder
import org.jetbrains.kotlin.backend.common.overrides.FileLocalAwareLinker
import org.jetbrains.kotlin.backend.common.serialization.encodings.BinarySymbolData
import org.jetbrains.kotlin.backend.common.serialization.linkerissues.*
import org.jetbrains.kotlin.backend.common.serialization.unlinked.UnlinkedDeclarationsSupport
import org.jetbrains.kotlin.backend.common.serialization.unlinked.UnlinkedDeclarationsSupportImpl
import org.jetbrains.kotlin.backend.common.serialization.unlinked.PartialLinkageSupport
import org.jetbrains.kotlin.backend.common.serialization.unlinked.PartialLinkageSupportImpl
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
@@ -53,10 +53,10 @@ abstract class KotlinIrLinker(
private lateinit var linkerExtensions: Collection<IrDeserializer.IrLinkerExtension>
val unlinkedDeclarationsSupport: UnlinkedDeclarationsSupport = if (partialLinkageEnabled)
UnlinkedDeclarationsSupportImpl(builtIns)
val partialLinkageSupport: PartialLinkageSupport = if (partialLinkageEnabled)
PartialLinkageSupportImpl(builtIns)
else
UnlinkedDeclarationsSupport.DISABLED
PartialLinkageSupport.DISABLED
protected open val userVisibleIrModulesSupport: UserVisibleIrModulesSupport get() = UserVisibleIrModulesSupport.DEFAULT
@@ -78,7 +78,7 @@ abstract class KotlinIrLinker(
val symbol: IrSymbol? = actualModuleDeserializer?.tryDeserializeIrSymbol(idSignature, symbolKind)
return symbol ?: run {
if (unlinkedDeclarationsSupport.partialLinkageEnabled)
if (partialLinkageSupport.partialLinkageEnabled)
referenceDeserializedSymbol(symbolTable, null, symbolKind, idSignature)
else
SignatureIdNotFoundInModuleWithDependencies(
@@ -170,7 +170,7 @@ abstract class KotlinIrLinker(
?: tryResolveCustomDeclaration(symbol)
?: return null
} catch (e: IrSymbolTypeMismatchException) {
if (!unlinkedDeclarationsSupport.partialLinkageEnabled) {
if (!partialLinkageSupport.partialLinkageEnabled) {
SymbolTypeMismatch(e, deserializersForModules.values, userVisibleIrModulesSupport).raiseIssue(messageLogger)
}
}
@@ -224,12 +224,12 @@ abstract class KotlinIrLinker(
override fun postProcess() {
finalizeExpectActualLinker()
unlinkedDeclarationsSupport.markUsedClassifiersExcludingUnlinkedFromFakeOverrideBuilding(fakeOverrideBuilder)
partialLinkageSupport.markUsedClassifiersExcludingUnlinkedFromFakeOverrideBuilding(fakeOverrideBuilder)
fakeOverrideBuilder.provideFakeOverrides()
triedToDeserializeDeclarationForSymbol.clear()
unlinkedDeclarationsSupport.processUnlinkedDeclarations(messageLogger) {
partialLinkageSupport.processUnlinkedDeclarations(messageLogger) {
deserializersForModules.values.map { it.moduleFragment }
}
@@ -35,7 +35,7 @@ internal inline fun <reified T : IrAnnotationContainer> checkErrorNodesAllowed(e
// N.B. Checks for absence of unbound symbols only when unbound symbols are not allowed.
fun KotlinIrLinker.checkNoUnboundSymbols(symbolTable: SymbolTable, whenDetected: String) {
if (!unlinkedDeclarationsSupport.partialLinkageEnabled)
if (!partialLinkageSupport.partialLinkageEnabled)
messageLogger.checkNoUnboundSymbols(symbolTable, whenDetected)
}
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.ir.declarations.IrFunction
import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.ir.util.IrMessageLogger
interface UnlinkedDeclarationsSupport {
interface PartialLinkageSupport {
val partialLinkageEnabled: Boolean
/** For general use in IR linker. */
@@ -28,7 +28,7 @@ interface UnlinkedDeclarationsSupport {
}
companion object {
val DISABLED = object : UnlinkedDeclarationsSupport {
val DISABLED = object : PartialLinkageSupport {
override val partialLinkageEnabled get() = false
override fun markUsedClassifiersExcludingUnlinkedFromFakeOverrideBuilding(fakeOverrideBuilder: FakeOverrideBuilder) = Unit
override fun markUsedClassifiersInInlineLazyIrFunction(function: IrFunction) = Unit
@@ -6,7 +6,7 @@
package org.jetbrains.kotlin.backend.common.serialization.unlinked
import org.jetbrains.kotlin.backend.common.overrides.FakeOverrideBuilder
import org.jetbrains.kotlin.backend.common.serialization.unlinked.UnlinkedDeclarationsSupport.UnlinkedMarkerTypeHandler
import org.jetbrains.kotlin.backend.common.serialization.unlinked.PartialLinkageSupport.UnlinkedMarkerTypeHandler
import org.jetbrains.kotlin.backend.common.serialization.unlinked.UsedClassifierSymbolStatus.*
import org.jetbrains.kotlin.descriptors.NotFoundClasses
import org.jetbrains.kotlin.ir.IrBuiltIns
@@ -28,7 +28,7 @@ import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid
import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid
import org.jetbrains.kotlin.ir.visitors.transformChildrenVoid
class UnlinkedDeclarationsSupportImpl(private val builtIns: IrBuiltIns) : UnlinkedDeclarationsSupport {
class PartialLinkageSupportImpl(private val builtIns: IrBuiltIns) : PartialLinkageSupport {
private val handler = object : UnlinkedMarkerTypeHandler {
override val unlinkedMarkerType = IrSimpleTypeImpl(
classifier = builtIns.anyClass,
@@ -5,7 +5,7 @@
package org.jetbrains.kotlin.backend.common.serialization.unlinked
import org.jetbrains.kotlin.backend.common.serialization.unlinked.UnlinkedDeclarationsSupport.UnlinkedMarkerTypeHandler
import org.jetbrains.kotlin.backend.common.serialization.unlinked.PartialLinkageSupport.UnlinkedMarkerTypeHandler
import org.jetbrains.kotlin.backend.common.serialization.unlinked.UsedClassifierSymbolStatus.Companion.isUnlinked
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.ir.IrBuiltIns
@@ -721,12 +721,12 @@ internal class KonanIrLinker(
}
}
unlinkedDeclarationsSupport.markUsedClassifiersExcludingUnlinkedFromFakeOverrideBuilding(fakeOverrideBuilder)
unlinkedDeclarationsSupport.markUsedClassifiersInInlineLazyIrFunction(function)
partialLinkageSupport.markUsedClassifiersExcludingUnlinkedFromFakeOverrideBuilding(fakeOverrideBuilder)
partialLinkageSupport.markUsedClassifiersInInlineLazyIrFunction(function)
fakeOverrideBuilder.provideFakeOverrides()
unlinkedDeclarationsSupport.processUnlinkedDeclarations(linker.messageLogger) { listOf(function) }
partialLinkageSupport.processUnlinkedDeclarations(linker.messageLogger) { listOf(function) }
return InlineFunctionOriginInfo(function, fileDeserializationState.file, inlineFunctionReference.startOffset, inlineFunctionReference.endOffset)
}