luaur_code_gen/records/
idf_context.rs1use crate::records::block_and_ordering::BlockAndOrdering;
2use crate::records::block_ordering::BlockOrdering;
3use crate::records::idf_visit_marks::IdfVisitMarks;
4use alloc::collections::BinaryHeap;
5use alloc::vec::Vec;
6
7#[derive(Debug, Clone, Default)]
8#[repr(C)]
9pub struct IdfContext {
10 pub queue: BinaryHeap<BlockAndOrdering>,
11 pub worklist: Vec<u32>,
12 pub visits: Vec<IdfVisitMarks>,
13 pub idf: Vec<u32>,
14}
15
16impl IdfContext {
17 #[allow(dead_code)]
18 fn block_and_ordering_field_shape(block_idx: u32, ordering: BlockOrdering) -> BlockAndOrdering {
19 BlockAndOrdering {
20 block_idx: block_idx,
21 ordering: ordering,
22 }
23 }
24
25 #[allow(dead_code)]
26 fn idf_visit_marks_field_shape(seen_in_queue: bool, seen_in_worklist: bool) -> IdfVisitMarks {
27 IdfVisitMarks {
28 seen_in_queue: seen_in_queue,
29 seen_in_worklist: seen_in_worklist,
30 }
31 }
32}