Skip to main content

luaur_code_gen/functions/
get_const_value_kind.rs

1use crate::enums::ir_const_kind::IrConstKind;
2use crate::enums::ir_value_kind::IrValueKind;
3use crate::records::ir_const::IrConst;
4
5pub fn get_const_value_kind(constant: &IrConst) -> IrValueKind {
6    match constant.kind {
7        IrConstKind::Int => IrValueKind::Int,
8        IrConstKind::Int64 => IrValueKind::Int64,
9        IrConstKind::Uint => IrValueKind::Int,
10        IrConstKind::Double => IrValueKind::Double,
11        IrConstKind::Tag => IrValueKind::Tag,
12        IrConstKind::Import => {
13            debug_assert!(false, "Import constants cannot be used as IR values");
14            IrValueKind::Unknown
15        }
16    }
17}