Files
hakorune/lang/src/vm/hakorune-vm/unaryop_handler.hako

18 lines
832 B
Plaintext
Raw Normal View History

// UnaryOpHandlerBox - UnaryOp instruction handler
// Handles: %dst = op_kind %operand (Neg/Not/BitNot)
using "lang/src/shared/common/string_helpers.hako" as StringHelpers
using "lang/src/shared/common/string_ops.hako" as StringOps
using "lang/src/vm/boxes/result_box.hako" as Result
using "lang/src/vm/hakorune-vm/value_manager.hako" as ValueManagerBox
using "lang/src/vm/hakorune-vm/reg_guard.hako" as RegGuardBox
using "lang/src/vm/hakorune-vm/json_field_extractor.hako" as JsonFieldExtractor
using "lang/src/vm/hakorune-vm/core_bridge_ops.hako" as CoreBridgeOps
static box UnaryOpHandlerBox {
// Handle unaryop instruction
// inst_json: {"op":"unaryop","dst":3,"op_kind":"Neg","operand":1}
// Returns: Result.Ok(0) or Result.Err(message)
handle(inst_json, regs) { return CoreBridgeOps.apply_unary(inst_json, regs) }
}