luaur_analysis/methods/control_flow_graph_new_block.rs
1//! Source: `Analysis/src/ControlFlowGraph.cpp:120-124` (hand-ported)
2//! C++ `BlockId ControlFlowGraph::newBlock(BlockKind kind, std::string debugName)`.
3use crate::enums::block_kind::BlockKind;
4use crate::records::control_flow_graph::ControlFlowGraph;
5use crate::type_aliases::block_id::BlockId;
6use alloc::string::String;
7
8impl ControlFlowGraph {
9 pub fn new_block(&mut self, kind: BlockKind, debug_name: String) -> BlockId {
10 // C++:
11 // Block* b = allocator->newBlock(kind, debugName);
12 // return blocks.emplace_back(b);
13 let b: BlockId = unsafe { (*self.allocator).new_block(kind, debug_name) };
14 self.blocks.push(b);
15 b
16 }
17}