diff --git a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/ir2wasm/locationUtils.kt b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/ir2wasm/locationUtils.kt index 84204ecc3cb..dfc4bec4352 100644 --- a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/ir2wasm/locationUtils.kt +++ b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/ir2wasm/locationUtils.kt @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.backend.wasm.ir2wasm import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.IrFileEntry import org.jetbrains.kotlin.ir.expressions.IrExpression +import org.jetbrains.kotlin.wasm.ir.WasmExpressionBuilder import org.jetbrains.kotlin.wasm.ir.source.location.SourceLocation fun IrElement.getSourceLocation(fileEntry: IrFileEntry?): SourceLocation { @@ -21,3 +22,16 @@ fun IrElement.getSourceLocation(fileEntry: IrFileEntry?): SourceLocation { return SourceLocation.Location(path, startLine, startColumn) } + +fun WasmExpressionBuilder.buildUnreachableForVerifier() { + buildUnreachable(SourceLocation.NoLocation("This instruction should never be reached, but required for wasm verifier")) +} + +fun WasmExpressionBuilder.buildUnreachableAfterNothingType() { + buildUnreachable( + SourceLocation.NoLocation( + "The unreachable instruction after an expression with Nothing type to make sure that " + + "execution doesn't come here (or it fails fast if so). It also might be required for wasm verifier." + ) + ) +} diff --git a/wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/WasmExpressionBuilder.kt b/wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/WasmExpressionBuilder.kt index d2c04da0bb9..3a590a97c86 100644 --- a/wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/WasmExpressionBuilder.kt +++ b/wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/WasmExpressionBuilder.kt @@ -206,16 +206,3 @@ abstract class WasmExpressionBuilder { buildInstr(WasmOp.PSEUDO_COMMENT_GROUP_END) } } - -fun WasmExpressionBuilder.buildUnreachableForVerifier() { - buildUnreachable(SourceLocation.NoLocation("This instruction should never be reached, but required for wasm verifier")) -} - -fun WasmExpressionBuilder.buildUnreachableAfterNothingType() { - buildUnreachable( - SourceLocation.NoLocation( - "The unreachable instruction after an expression with Nothing type to make sure that " + - "execution doesn't come here (or it fails fast if so). It also might be required for wasm verifier." - ) - ) -}