[Wasm] Require location for buildRefTestStatic and fix all usages

This commit is contained in:
Zalim Bashorov
2022-12-13 19:24:52 +01:00
parent 7bd92bc412
commit 12854af0a2
2 changed files with 4 additions and 3 deletions
@@ -484,7 +484,8 @@ class BodyGenerator(
private fun generateRefTest(fromType: IrType, toType: IrType, location: SourceLocation) {
if (!isDownCastAlwaysSuccessInRuntime(fromType, toType)) {
body.buildRefTestStatic(
toType = context.referenceGcType(toType.getRuntimeClass(irBuiltIns).symbol)
toType = context.referenceGcType(toType.getRuntimeClass(irBuiltIns).symbol),
location
)
} else {
body.buildDrop()
@@ -171,8 +171,8 @@ abstract class WasmExpressionBuilder {
buildInstr(WasmOp.REF_CAST_DEPRECATED, location, WasmImmediate.TypeIdx(toType))
}
fun buildRefTestStatic(toType: WasmSymbolReadOnly<WasmTypeDeclaration>) {
buildInstr(WasmOp.REF_TEST_DEPRECATED, WasmImmediate.TypeIdx(toType))
fun buildRefTestStatic(toType: WasmSymbolReadOnly<WasmTypeDeclaration>, location: SourceLocation) {
buildInstr(WasmOp.REF_TEST_DEPRECATED, location, WasmImmediate.TypeIdx(toType))
}
fun buildRefNull(type: WasmHeapType) {