luaur_bytecode/methods/bytecode_builder_decompose_import_id.rs
1use crate::records::bytecode_builder::BytecodeBuilder;
2
3impl BytecodeBuilder {
4 pub fn decompose_import_id(ids: u32, id0: &mut i32, id1: &mut i32, id2: &mut i32) -> i32 {
5 let count = (ids >> 30) as i32;
6 *id0 = if count > 0 {
7 (ids >> 20) as i32 & 1023
8 } else {
9 -1
10 };
11 *id1 = if count > 1 {
12 (ids >> 10) as i32 & 1023
13 } else {
14 -1
15 };
16 *id2 = if count > 2 { ids as i32 & 1023 } else { -1 };
17 count
18 }
19}