1use crate::prelude::*;
2
3#[derive(Debug)]
4#[allow(dead_code)]
5pub struct AstIdent {
6 pub(crate) ident: String,
7}
8impl AstIdent {}
9
10#[derive(Debug)]
11#[allow(dead_code)]
12pub enum Value {
13 Ident(AstIdent),
14 Literal(i64),
15}
16
17#[derive(Debug)]
18#[allow(dead_code)]
19pub struct AstValue {
20 pub(crate) value: Value,
21}
22impl AstValue {
23 pub fn codegen(&self, builder: &mut FunctionBuilder) -> entities::Value {
24 match self.value {
25 Value::Literal(val) => builder.ins().iconst(types::I64, Imm64::from(val)),
26 _ => todo!(),
27 }
28
29 }
30}