[JS IR] Use local scope for SAM if there are scopes

[JS IR] Use private for top level sam wrappers and local otherwise

^KT-44433 fixed
This commit is contained in:
Ilya Goncharov
2021-01-21 20:11:29 +03:00
parent ca314c5bb9
commit d6e74b9620
2 changed files with 5 additions and 6 deletions
@@ -6,15 +6,15 @@
package org.jetbrains.kotlin.ir.backend.js.lower
import org.jetbrains.kotlin.backend.common.BodyLoweringPass
import org.jetbrains.kotlin.backend.common.lower.SingleAbstractMethodLowering
import org.jetbrains.kotlin.backend.common.ScopeWithIr
import org.jetbrains.kotlin.backend.common.lower.SingleAbstractMethodLowering
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.backend.js.JsIrBackendContext
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrBody
import org.jetbrains.kotlin.ir.symbols.IrSymbol
import org.jetbrains.kotlin.ir.expressions.IrTypeOperatorCall
import org.jetbrains.kotlin.ir.symbols.IrSymbol
import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.ir.types.classOrNull
import org.jetbrains.kotlin.ir.types.defaultType
@@ -24,9 +24,8 @@ import org.jetbrains.kotlin.ir.util.render
class JsSingleAbstractMethodLowering(context: JsIrBackendContext) : SingleAbstractMethodLowering(context), BodyLoweringPass {
override fun getWrapperVisibility(expression: IrTypeOperatorCall, scopes: List<ScopeWithIr>): DescriptorVisibility {
return DescriptorVisibilities.PRIVATE
}
override fun getWrapperVisibility(expression: IrTypeOperatorCall, scopes: List<ScopeWithIr>): DescriptorVisibility =
DescriptorVisibilities.LOCAL
override val IrType.needEqualsHashCodeMethods get() = false
@@ -1,6 +1,6 @@
// WITH_RUNTIME
// WITH_COROUTINES
// IGNORE_BACKEND: JVM, JS_IR
// IGNORE_BACKEND: JVM
// IGNORE_LIGHT_ANALYSIS
// LANGUAGE: +SuspendFunctionsInFunInterfaces, +JvmIrEnabledByDefault