Skip to main content

luaur_analysis/methods/
cfg_allocator_new_block.rs

1//! Source: `Analysis/src/ControlFlowGraph.cpp:102-105` (hand-ported)
2//! C++ `Block* CFGAllocator::newBlock(BlockKind kind, std::string debugName)`.
3use crate::enums::block_kind::BlockKind;
4use crate::records::block::Block;
5use crate::records::cfg_allocator::CfgAllocator;
6use alloc::string::String;
7
8impl CfgAllocator {
9    pub fn new_block(&mut self, kind: BlockKind, debug_name: String) -> *mut Block {
10        // C++: return block.allocate(kind, debugName);
11        // TypedAllocator::allocate takes the constructed value; build the Block
12        // in place (C++ constructs `T{args...}` inside allocate).
13        self.block.allocate(Block::new(kind, debug_name))
14    }
15}