luaur_code_gen/methods/
ir_function_as_int_64_op.rs1use crate::enums::ir_const_kind::IrConstKind;
2use crate::enums::ir_op_kind::IrOpKind;
3use crate::records::ir_function::IrFunction;
4use crate::records::ir_op::IrOp;
5
6impl IrFunction {
7 pub fn as_int_64_op(&mut self, op: IrOp) -> Option<i64> {
8 if op.kind() != IrOpKind::Constant {
9 return None;
10 }
11
12 let value = self.const_op(op);
13
14 if value.kind != IrConstKind::Int64 {
15 return None;
16 }
17
18 Some(unsafe { value.value.value_int64 })
19 }
20}