diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/IrResolveUtils.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/IrResolveUtils.kt index 96218ab48bf..81001d03079 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/IrResolveUtils.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/IrResolveUtils.kt @@ -10,6 +10,7 @@ import org.jetbrains.kotlin.ir.declarations.IrConstructor import org.jetbrains.kotlin.ir.declarations.IrFunction import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction import org.jetbrains.kotlin.ir.util.collectRealOverrides +import org.jetbrains.kotlin.ir.util.render val IrFunction.realOverrideTarget: IrFunction get() = when (this) { @@ -21,5 +22,6 @@ val IrFunction.realOverrideTarget: IrFunction val IrSimpleFunction.realOverrideTarget: IrSimpleFunction get(): IrSimpleFunction { val realOverrides = collectRealOverrides() - return realOverrides.find { it.modality != Modality.ABSTRACT } ?: realOverrides.first() + return realOverrides.find { it.modality != Modality.ABSTRACT } ?: realOverrides.firstOrNull() ?: + error("No real override target found for ${this.render()}") } \ No newline at end of file diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/NameTables.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/NameTables.kt index f827fed56f8..4f9169141c2 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/NameTables.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/NameTables.kt @@ -12,10 +12,7 @@ import org.jetbrains.kotlin.ir.backend.js.JsLoweredDeclarationOrigin import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.expressions.IrLoop import org.jetbrains.kotlin.ir.types.isUnit -import org.jetbrains.kotlin.ir.util.fqNameWhenAvailable -import org.jetbrains.kotlin.ir.util.isEffectivelyExternal -import org.jetbrains.kotlin.ir.util.isEnumClass -import org.jetbrains.kotlin.ir.util.isInlined +import org.jetbrains.kotlin.ir.util.* import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid import org.jetbrains.kotlin.ir.visitors.acceptVoid @@ -279,7 +276,7 @@ class NameTables(packages: List) { if (name == null && signature is ParameterTypeBasedSignature && signature.suggestedName.startsWith("invoke")) return signature.suggestedName require(name != null) { - "Can't find name for member function $function" + "Can't find name for member function ${function.render()}" } return name }