Repair after merge
This commit is contained in:
+1
-1
@@ -447,7 +447,7 @@ private fun buildFunctionDeclaration(irFunction: IrFunction, origin: IrDeclarati
|
|||||||
IrSimpleFunctionSymbolImpl(descriptor),
|
IrSimpleFunctionSymbolImpl(descriptor),
|
||||||
name,
|
name,
|
||||||
irFunction.visibility,
|
irFunction.visibility,
|
||||||
Modality.FINAL,
|
if (irFunction.modality === Modality.ABSTRACT) Modality.OPEN else irFunction.modality,
|
||||||
irFunction.returnType,
|
irFunction.returnType,
|
||||||
irFunction.isInline,
|
irFunction.isInline,
|
||||||
false,
|
false,
|
||||||
|
|||||||
+1
-1
@@ -89,7 +89,7 @@ open class ClassCodegen protected constructor(
|
|||||||
signature.superclassName,
|
signature.superclassName,
|
||||||
signature.interfaces.toTypedArray()
|
signature.interfaces.toTypedArray()
|
||||||
)
|
)
|
||||||
AnnotationCodegen.forClass(visitor.visitor, this, typeMapper).genAnnotations(descriptor, null)
|
AnnotationCodegen.forClass(visitor.visitor, this, context.state).genAnnotations(descriptor, null)
|
||||||
/* TODO: Temporary workaround: ClassBuilder needs a pathless name. */
|
/* TODO: Temporary workaround: ClassBuilder needs a pathless name. */
|
||||||
val shortName = File(fileEntry.name).name
|
val shortName = File(fileEntry.name).name
|
||||||
visitor.visitSource(shortName, null)
|
visitor.visitSource(shortName, null)
|
||||||
|
|||||||
+1
-3
@@ -306,9 +306,7 @@ class BridgeLowering(val context: JvmBackendContext) : ClassLoweringPass {
|
|||||||
when (typeSafeBarrierDescription) {
|
when (typeSafeBarrierDescription) {
|
||||||
BuiltinMethodsWithSpecialGenericSignature.TypeSafeBarrierDescription.MAP_GET_OR_DEFAULT -> irGet(
|
BuiltinMethodsWithSpecialGenericSignature.TypeSafeBarrierDescription.MAP_GET_OR_DEFAULT -> irGet(
|
||||||
bridgeDescriptor.valueParameters[1].type.toIrType()!!,
|
bridgeDescriptor.valueParameters[1].type.toIrType()!!,
|
||||||
IrVariableSymbolImpl(
|
bridgeFunction.valueParameters[1].symbol
|
||||||
bridgeDescriptor.valueParameters[1]
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
BuiltinMethodsWithSpecialGenericSignature.TypeSafeBarrierDescription.NULL -> irNull()
|
BuiltinMethodsWithSpecialGenericSignature.TypeSafeBarrierDescription.NULL -> irNull()
|
||||||
BuiltinMethodsWithSpecialGenericSignature.TypeSafeBarrierDescription.INDEX -> IrConstImpl.int(
|
BuiltinMethodsWithSpecialGenericSignature.TypeSafeBarrierDescription.INDEX -> IrConstImpl.int(
|
||||||
|
|||||||
+1
-14
@@ -6,7 +6,6 @@
|
|||||||
package org.jetbrains.kotlin.backend.jvm.lower
|
package org.jetbrains.kotlin.backend.jvm.lower
|
||||||
|
|
||||||
import org.jetbrains.kotlin.backend.common.ClassLoweringPass
|
import org.jetbrains.kotlin.backend.common.ClassLoweringPass
|
||||||
import org.jetbrains.kotlin.backend.common.makePhase
|
|
||||||
import org.jetbrains.kotlin.backend.common.descriptors.WrappedSimpleFunctionDescriptor
|
import org.jetbrains.kotlin.backend.common.descriptors.WrappedSimpleFunctionDescriptor
|
||||||
import org.jetbrains.kotlin.backend.common.ir.copyParameterDeclarationsFrom
|
import org.jetbrains.kotlin.backend.common.ir.copyParameterDeclarationsFrom
|
||||||
import org.jetbrains.kotlin.backend.common.lower.createIrBuilder
|
import org.jetbrains.kotlin.backend.common.lower.createIrBuilder
|
||||||
@@ -98,6 +97,7 @@ class InterfaceDelegationLowering(val context: JvmBackendContext) : IrElementTra
|
|||||||
name,
|
name,
|
||||||
Visibilities.PUBLIC,
|
Visibilities.PUBLIC,
|
||||||
inheritedFun.modality,
|
inheritedFun.modality,
|
||||||
|
inheritedFun.returnType,
|
||||||
isInline = inheritedFun.isInline,
|
isInline = inheritedFun.isInline,
|
||||||
isExternal = false,
|
isExternal = false,
|
||||||
isTailrec = false,
|
isTailrec = false,
|
||||||
@@ -105,7 +105,6 @@ class InterfaceDelegationLowering(val context: JvmBackendContext) : IrElementTra
|
|||||||
).apply {
|
).apply {
|
||||||
descriptor.bind(this)
|
descriptor.bind(this)
|
||||||
parent = inheritedFun.parent
|
parent = inheritedFun.parent
|
||||||
returnType = inheritedFun.returnType
|
|
||||||
overriddenSymbols.addAll(inheritedFun.overriddenSymbols)
|
overriddenSymbols.addAll(inheritedFun.overriddenSymbols)
|
||||||
copyParameterDeclarationsFrom(inheritedFun)
|
copyParameterDeclarationsFrom(inheritedFun)
|
||||||
}
|
}
|
||||||
@@ -137,16 +136,4 @@ class InterfaceDelegationLowering(val context: JvmBackendContext) : IrElementTra
|
|||||||
private fun IrSimpleFunction.isDefinitelyNotDefaultImplsMethod() =
|
private fun IrSimpleFunction.isDefinitelyNotDefaultImplsMethod() =
|
||||||
resolveFakeOverride()?.let { origin == IrDeclarationOrigin.IR_EXTERNAL_JAVA_DECLARATION_STUB } == true ||
|
resolveFakeOverride()?.let { origin == IrDeclarationOrigin.IR_EXTERNAL_JAVA_DECLARATION_STUB } == true ||
|
||||||
hasAnnotation(PLATFORM_DEPENDENT_ANNOTATION_FQ_NAME)
|
hasAnnotation(PLATFORM_DEPENDENT_ANNOTATION_FQ_NAME)
|
||||||
|
|
||||||
private fun IrClass.getNonPrivateInterfaceMethods(): List<Pair<IrSimpleFunction, IrSimpleFunction>> {
|
|
||||||
return declarations.filterIsInstance<IrSimpleFunction>().mapNotNull { function ->
|
|
||||||
val resolved = function.resolveFakeOverride()
|
|
||||||
resolved?.takeIf {
|
|
||||||
resolved !== function && // TODO: take a better look
|
|
||||||
(resolved.parent as? IrClass)?.isInterface == true &&
|
|
||||||
!Visibilities.isPrivate(resolved.visibility) &&
|
|
||||||
resolved.visibility != Visibilities.INVISIBLE_FAKE
|
|
||||||
}?.let { Pair(resolved, function) }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-5
@@ -11,7 +11,6 @@ import org.jetbrains.kotlin.backend.common.ir.copyTo
|
|||||||
import org.jetbrains.kotlin.backend.common.ir.copyTypeParametersFrom
|
import org.jetbrains.kotlin.backend.common.ir.copyTypeParametersFrom
|
||||||
import org.jetbrains.kotlin.backend.common.lower.DECLARATION_ORIGIN_FUNCTION_FOR_DEFAULT_PARAMETER
|
import org.jetbrains.kotlin.backend.common.lower.DECLARATION_ORIGIN_FUNCTION_FOR_DEFAULT_PARAMETER
|
||||||
import org.jetbrains.kotlin.backend.common.lower.InitializersLowering.Companion.clinitName
|
import org.jetbrains.kotlin.backend.common.lower.InitializersLowering.Companion.clinitName
|
||||||
import org.jetbrains.kotlin.backend.common.makePhase
|
|
||||||
import org.jetbrains.kotlin.backend.common.lower.VariableRemapper
|
import org.jetbrains.kotlin.backend.common.lower.VariableRemapper
|
||||||
import org.jetbrains.kotlin.backend.jvm.JvmBackendContext
|
import org.jetbrains.kotlin.backend.jvm.JvmBackendContext
|
||||||
import org.jetbrains.kotlin.descriptors.*
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
@@ -37,9 +36,7 @@ class InterfaceLowering(val context: JvmBackendContext) : IrElementTransformerVo
|
|||||||
val members = defaultImplsIrClass.declarations
|
val members = defaultImplsIrClass.declarations
|
||||||
|
|
||||||
irClass.declarations.filterIsInstance<IrFunction>().forEach {
|
irClass.declarations.filterIsInstance<IrFunction>().forEach {
|
||||||
if (it.origin == DECLARATION_ORIGIN_FUNCTION_FOR_DEFAULT_PARAMETER) {
|
if (it is IrSimpleFunction && it.modality != Modality.ABSTRACT && it.origin != IrDeclarationOrigin.FAKE_OVERRIDE) {
|
||||||
members.add(it) //just copy $default to DefaultImpls
|
|
||||||
} else if (it is IrSimpleFunction && it.modality != Modality.ABSTRACT && it.origin != IrDeclarationOrigin.FAKE_OVERRIDE) {
|
|
||||||
val element = context.declarationFactory.getDefaultImplsFunction(it)
|
val element = context.declarationFactory.getDefaultImplsFunction(it)
|
||||||
members.add(element)
|
members.add(element)
|
||||||
element.body = it.body
|
element.body = it.body
|
||||||
@@ -79,11 +76,11 @@ internal fun createStaticFunctionWithReceivers(
|
|||||||
name,
|
name,
|
||||||
oldFunction.visibility,
|
oldFunction.visibility,
|
||||||
Modality.FINAL,
|
Modality.FINAL,
|
||||||
|
oldFunction.returnType,
|
||||||
isInline = false, isExternal = false, isTailrec = false, isSuspend = false
|
isInline = false, isExternal = false, isTailrec = false, isSuspend = false
|
||||||
).apply {
|
).apply {
|
||||||
descriptor.bind(this)
|
descriptor.bind(this)
|
||||||
parent = irParent
|
parent = irParent
|
||||||
returnType = oldFunction.returnType
|
|
||||||
|
|
||||||
copyTypeParametersFrom(oldFunction)
|
copyTypeParametersFrom(oldFunction)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user