From 74b6d06711afd3efbbc47436f1491900994313f3 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Sat, 17 Oct 2026 06:54:32 +0000 Subject: feat(classes): allocate objects with NEW and rebind named class variables Co-Authored-By: Claude Opus 5.5 --- lib/CodeGen/StatementGen.cc | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'lib/CodeGen/StatementGen.cc') diff --git a/lib/CodeGen/StatementGen.cc b/lib/CodeGen/StatementGen.cc index 2443877..bd1f7c5 100644 --- a/lib/CodeGen/StatementGen.cc +++ b/lib/CodeGen/StatementGen.cc @@ -128,10 +128,7 @@ void CodeGen::emitStmt(StmtAST *Stmt) { return; } - Value *Val = emitCoercedExpr(Assign->getExpr(), resolveType(Info->TypeName)); - if (!Val) return; - - Builder->CreateStore(Val, Info->Storage); + emitAssignment({symbolAddress(*Info), Info->TypeName}, Assign->getExpr(), Info); return; } @@ -296,9 +293,7 @@ void CodeGen::emitStmt(StmtAST *Stmt) { if (auto *DA = dynamic_cast(Stmt)) { LValueInfo LV; if (!emitLValue(DA->getTarget(), LV)) return; - Value *Val = emitCoercedExpr(DA->getExpr(), resolveType(LV.TypeName)); - if (!Val) return; - Builder->CreateStore(Val, LV.Addr); + emitAssignment(LV, DA->getExpr()); return; } } -- cgit v1.3.1-4-g156e