Skip to main content

luaur_analysis/methods/
cfg_allocator_freeze.rs

1//! Source: `Analysis/src/ControlFlowGraph.cpp:112-118` (hand-ported)
2//! C++ `void CFGAllocator::freeze()`.
3use crate::records::cfg_allocator::CfgAllocator;
4
5impl CfgAllocator {
6    pub fn freeze(&mut self) {
7        // C++:
8        //   block.freeze();
9        //   defs.freeze();
10        //   refinementArena.freeze();
11        //   frozen = true;
12        self.block.freeze();
13        self.defs.freeze();
14        // `RefinementArena::freeze()` == `allocator.freeze()` over its
15        // `TypedAllocator<Refinement>` (field is `pub(crate)`, same crate).
16        self.refinement_arena.allocator.freeze();
17        self.frozen = true;
18    }
19}