Skip to main content

luaur_code_gen/methods/
ir_builder_ir_builder.rs

1use crate::enums::ir_const_kind::IrConstKind;
2use crate::records::host_ir_hooks::HostIrHooks;
3use crate::records::ir_builder::{ConstantKey, IrBuilder};
4use luaur_common::records::dense_hash_map::DenseHashMap;
5
6impl IrBuilder {
7    pub fn ir_builder_ir_builder(host_hooks: &HostIrHooks) -> Self {
8        Self {
9            host_hooks: host_hooks as *const HostIrHooks,
10            in_terminated_block: false,
11            interrupt_requested: false,
12            active_fastcall_fallback: false,
13            fastcall_fallback_return: Default::default(),
14            cmd_skip_target: -1,
15            function: Default::default(),
16            active_block_idx: !0u32,
17            inst_index_to_block: Vec::new(),
18            numeric_loop_stack: Vec::new(),
19            constant_map: DenseHashMap::new(ConstantKey {
20                kind: IrConstKind::Tag,
21                value: !0u64,
22            }),
23        }
24    }
25}