18 lines
832 B
Plaintext
18 lines
832 B
Plaintext
|
|
// 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) }
|
||
|
|
}
|