Skip to main content

luaur_code_gen/functions/
is_block_terminator.rs

1use crate::enums::ir_cmd::IrCmd;
2
3#[inline]
4pub fn is_block_terminator(cmd: IrCmd) -> bool {
5    match cmd {
6        IrCmd::JUMP
7        | IrCmd::JUMP_IF_TRUTHY
8        | IrCmd::JUMP_IF_FALSY
9        | IrCmd::JUMP_EQ_TAG
10        | IrCmd::JUMP_CMP_INT
11        | IrCmd::JUMP_EQ_POINTER
12        | IrCmd::JUMP_CMP_NUM
13        | IrCmd::JUMP_CMP_FLOAT
14        | IrCmd::JUMP_FORN_LOOP_COND
15        | IrCmd::JUMP_SLOT_MATCH
16        | IrCmd::RETURN
17        | IrCmd::FORGLOOP
18        | IrCmd::FORGLOOP_FALLBACK
19        | IrCmd::FORGPREP_XNEXT_FALLBACK
20        | IrCmd::FALLBACK_FORGPREP
21        | IrCmd::JUMP_CMP_PROTOID => true,
22        _ => false,
23    }
24}