mod fmt;
use super::lexer;
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
pub struct SlotIx(pub u32);
impl SlotIx {
pub(in crate::semantic) fn bump(&mut self) -> SlotIx {
let previous = *self;
self.0 += 1;
previous
}
}
#[derive(Debug, Copy, Clone)]
pub struct Capture {
pub from: SlotIx,
pub to: SlotIx,
}
#[derive(Debug)]
pub struct FrameInfo {
pub slots: SlotIx,
pub captures: Box<[Capture]>,
pub self_slot: Option<SlotIx>,
}