Skip to main content

luaur_bytecode/methods/
bytecode_builder_get_import_id_bytecode_builder.rs

1use crate::records::bytecode_builder::BytecodeBuilder;
2
3impl BytecodeBuilder {
4    pub fn get_import_id(id0: i32) -> u32 {
5        luaur_common::LUAU_ASSERT!((id0 as u32) < 1024);
6        (1u32 << 30) | ((id0 as u32) << 20)
7    }
8
9    pub fn get_import_id2(id0: i32, id1: i32) -> u32 {
10        luaur_common::LUAU_ASSERT!(((id0 | id1) as u32) < 1024);
11        (2u32 << 30) | ((id0 as u32) << 20) | ((id1 as u32) << 10)
12    }
13
14    pub fn get_import_id3(id0: i32, id1: i32, id2: i32) -> u32 {
15        luaur_common::LUAU_ASSERT!(((id0 | id1 | id2) as u32) < 1024);
16        (3u32 << 30) | ((id0 as u32) << 20) | ((id1 as u32) << 10) | id2 as u32
17    }
18}