From d46102b129d2dae74c76252c9851245115f197ba Mon Sep 17 00:00:00 2001 From: Igor Laevsky Date: Wed, 27 Apr 2022 21:27:09 +0300 Subject: [PATCH] [Wasm] Fix few things around assertions in stdlib --- .../src/org/jetbrains/kotlin/backend/wasm/WasmSymbols.kt | 2 +- libraries/stdlib/wasm/src/kotlin/Assertions.kt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmSymbols.kt b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmSymbols.kt index 478d78bbbaa..f8e6f1156a6 100644 --- a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmSymbols.kt +++ b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmSymbols.kt @@ -159,7 +159,7 @@ class WasmSymbols( val wasmRefCast = getInternalFunction("wasm_ref_cast") val rangeCheck = getInternalFunction("rangeCheck") - val assertFuncs = findFunctions(kotlinTopLevelPackage.memberScope, Name.identifier("assert")) + val assertFuncs = findFunctions(kotlinTopLevelPackage.memberScope, Name.identifier("assert")).map { symbolTable.referenceSimpleFunction(it) } val boxIntrinsic: IrSimpleFunctionSymbol = getInternalFunction("boxIntrinsic") val unboxIntrinsic: IrSimpleFunctionSymbol = getInternalFunction("unboxIntrinsic") diff --git a/libraries/stdlib/wasm/src/kotlin/Assertions.kt b/libraries/stdlib/wasm/src/kotlin/Assertions.kt index 53c90178aad..680fdbcfc29 100644 --- a/libraries/stdlib/wasm/src/kotlin/Assertions.kt +++ b/libraries/stdlib/wasm/src/kotlin/Assertions.kt @@ -5,10 +5,11 @@ package kotlin +// Note: codegen for these functions must be explicitly enabled with the -Xwasm-enable-asserts command line flag. + /** * Throws an [AssertionError] if the [value] is false. */ -@kotlin.internal.InlineOnly public fun assert(value: Boolean) { assert(value) { "Assertion failed" } } @@ -16,7 +17,6 @@ public fun assert(value: Boolean) { /** * Throws an [AssertionError] calculated by [lazyMessage] if the [value] is false. */ -@kotlin.internal.InlineOnly public fun assert(value: Boolean, lazyMessage: () -> Any) { if (!value) { val message = lazyMessage()