[IR] Partial linkage: Rename UnlinkedDeclarationsSupport to PartialLinkageSupport
This commit is contained in:
committed by
Space Team
parent
15635482aa
commit
2f9d6f6c44
+9
-9
@@ -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 }
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -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)
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -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
|
||||
+2
-2
@@ -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,
|
||||
+1
-1
@@ -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
|
||||
|
||||
+3
-3
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user