diff options
Diffstat (limited to 'bytecode')
| -rw-r--r-- | bytecode/src/encoding.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/bytecode/src/encoding.rs b/bytecode/src/encoding.rs index 7e9ede2..b3e84ac 100644 --- a/bytecode/src/encoding.rs +++ b/bytecode/src/encoding.rs @@ -102,6 +102,7 @@ fn op_decoding<T: Read>(prog: &mut T) -> Result<Option<Op>, String> { ), 13 => Op::Exit(read_arg(prog, arg1_const)?), 14 => Op::AllocBytevector(read_local(prog)?, read_arg(prog, arg1_const)?), + 15 => Op::TypeOf(read_local(prog)?, read_arg(prog, arg1_const)?), _ => { return Err(String::from("invalid opcode")); } @@ -413,4 +414,12 @@ mod tests { decode_vec(vec![0x3a, 0, 0x15, 0, 0, 0, 0, 0, 0, 0]) ); } + + #[test] + fn decode_typeof() { + assert_eq!( + vec![TypeOf(Local(0), L(Local(1)))], + decode_vec(vec![0x3c, 0, 1]) + ); + } } |
