uh oh, I need to actually switch to struct subvars and resolve pointer variables

This commit is contained in:
2025-04-26 22:15:36 -04:00
parent 71598a4afa
commit a087af505e
18 changed files with 205 additions and 200 deletions
+3 -3
View File
@@ -1,6 +1,6 @@
use super::{func::FnLowerCtx, FnLowerable, PExpr, UnaryOp};
use crate::{
ir::{MemberRef, Type, UData, UInstruction, VarInst},
ir::{FieldRef, Type, UData, UInstruction, VarInst},
parser::PInfixOp,
};
@@ -40,7 +40,7 @@ impl FnLowerable for PExpr {
super::PLiteral::Number(n) => {
// TODO: temp
let ty = Type::Bits(64);
let dest = ctx.program.temp_var(l.origin, Type::Bits(64));
let dest = ctx.program.temp_var(l.origin, ty.clone());
let src = ctx.program.def(
&format!("num {n:?}"),
Some(UData {
@@ -69,7 +69,7 @@ impl FnLowerable for PExpr {
return None;
};
let fname = ident.as_ref()?.0.clone();
ctx.temp(Type::Member(MemberRef {
ctx.temp(Type::Field(FieldRef {
parent: res1.id,
name: fname,
}))