From 5fc1ec57f57df7b17d221bb607bef1436e9da91f Mon Sep 17 00:00:00 2001 From: Igor Chevdar Date: Thu, 11 Jun 2020 14:12:11 +0500 Subject: [PATCH] [IR] SAM lowering: made all wrappers private (cherry picked from commit 2720bb766e4d3688f424403cb8aed6f98629a469) --- .../konan/lower/NativeSingleAbstractMethodLowering.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/NativeSingleAbstractMethodLowering.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/NativeSingleAbstractMethodLowering.kt index 96807c61a4d..ca62d83a968 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/NativeSingleAbstractMethodLowering.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/NativeSingleAbstractMethodLowering.kt @@ -5,14 +5,20 @@ package org.jetbrains.kotlin.backend.konan.lower +import org.jetbrains.kotlin.backend.common.ScopeWithIr import org.jetbrains.kotlin.backend.common.lower.SingleAbstractMethodLowering import org.jetbrains.kotlin.backend.konan.Context +import org.jetbrains.kotlin.descriptors.Visibilities +import org.jetbrains.kotlin.ir.expressions.IrTypeOperatorCall import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.ir.types.classOrNull import org.jetbrains.kotlin.ir.types.defaultType import org.jetbrains.kotlin.ir.util.render internal class NativeSingleAbstractMethodLowering(context: Context) : SingleAbstractMethodLowering(context) { + override fun getWrapperVisibility(expression: IrTypeOperatorCall, scopes: List) = + Visibilities.PRIVATE + override fun getSuperTypeForWrapper(typeOperand: IrType): IrType { return typeOperand.classOrNull?.defaultType ?: error("Unsupported SAM conversion: ${typeOperand.render()}") }