aboutsummaryrefslogtreecommitdiff
path: root/src/compile.zig
diff options
context:
space:
mode:
authorMathias Magnusson <mathias@magnusson.space>2025-07-30 16:30:48 +0200
committerMathias Magnusson <mathias@magnusson.space>2025-07-30 16:30:48 +0200
commit69ecbca927d963311469f4634c002553d0c99bd4 (patch)
treec241e07e6c8238057d4d04b987cb393894382ebf /src/compile.zig
parent132a8da9a41a6303d40c8ec936a31c9481581cbe (diff)
downloadhuginn-69ecbca927d963311469f4634c002553d0c99bd4.tar.gz
implement return expressions
Diffstat (limited to 'src/compile.zig')
-rw-r--r--src/compile.zig7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/compile.zig b/src/compile.zig
index 8c734c7..0ce170c 100644
--- a/src/compile.zig
+++ b/src/compile.zig
@@ -597,6 +597,13 @@ const ProcedureContext = struct {
_ = proc;
return error.CannotDefineProcedureHere;
},
+ .@"return" => |ret| {
+ const val = try self.compileExpr(ret.value);
+ try self.addInstr(.{
+ .loc = expr.loc,
+ .type = .{ .ret = .{ .val = val } },
+ });
+ },
}
return dest;
}