luaur-bytecode 0.1.1

Luau bytecode format and builder (Rust).
Documentation
use crate::records::bc_op::BcOp;
use crate::type_aliases::bc_edges::BcEdges;
use alloc::collections::VecDeque;

#[derive(Debug, Clone, PartialEq, Eq)]
pub struct BcBlock {
    pub flags: u8,
    pub useCount: u32,
    pub ops: VecDeque<BcOp>,
    pub successors: BcEdges,
    pub predecessors: BcEdges,
    pub sortkey: u32,
    pub chainkey: u32,
    pub startpc: u32,
}

impl BcBlock {
    pub const K_BLOCK_NO_START_PC: u32 = !0u32;
}

impl Default for BcBlock {
    fn default() -> Self {
        Self {
            flags: 0,
            useCount: 0,
            ops: VecDeque::new(),
            successors: BcEdges::default(),
            predecessors: BcEdges::default(),
            sortkey: !0u32,
            chainkey: 0,
            startpc: Self::K_BLOCK_NO_START_PC,
        }
    }
}