From 1a90ef4318c18161aaccf7390016a61c635ac748 Mon Sep 17 00:00:00 2001 From: WormHeamer Date: Sun, 3 Aug 2025 19:52:18 -0400 Subject: add assignment statements --- ir.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'ir.c') diff --git a/ir.c b/ir.c index 2e3e3b2..c75113e 100644 --- a/ir.c +++ b/ir.c @@ -306,3 +306,12 @@ NameBinding *scope_bind(Scope *scope, Str name, Node *value, LexSpan pos, Proc * node_add(proc, value, proc->keepalive); return prev; } + +NameBinding *scope_update(Scope *scope, Str name, Node *to, Proc *proc) { + NameBinding *b = scope_find(scope, name); + if (!b) return NULL; + node_remove(proc, b->node, proc->keepalive); + node_add(proc, to, proc->keepalive); + b->node = to; + return b; +} -- cgit v1.2.3