From 46356365270b71be94097b3c408d5f35a9ebd6ed Mon Sep 17 00:00:00 2001 From: Bad Diode Date: Tue, 26 Oct 2021 08:40:59 +0200 Subject: Add initial function call procedure --- src/bytecode/objects.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'src/bytecode/objects.c') diff --git a/src/bytecode/objects.c b/src/bytecode/objects.c index e446fb0..3b4a2eb 100644 --- a/src/bytecode/objects.c +++ b/src/bytecode/objects.c @@ -58,7 +58,8 @@ object_display(Object obj) { // printf(")"); } break; case OBJ_TYPE_LAMBDA: { - printf("#{procedure}"); + printf("#{procedure:%.*s}", + (int)array_size(obj.chunk->name), obj.chunk->name); } break; case OBJ_TYPE_ERR: { printf("#{error}"); @@ -102,6 +103,9 @@ object_equal(Object a, Object b) { } } } break; + case OBJ_TYPE_LAMBDA: { + return a.chunk == b.chunk; + } break; default: { return false; } break; @@ -121,14 +125,14 @@ object_copy(Object src) { return copy; } break; case OBJ_TYPE_LAMBDA: { - Object copy = src; - StringView name = (StringView){ - .start = src.chunk->name, - .n = array_size(src.chunk->name), - }; - // TODO: copy full chunk? - // copy.chunk = chunk_init(name); - return copy; + // Object copy = src; + // StringView name = (StringView){ + // .start = src.chunk->name, + // .n = array_size(src.chunk->name), + // }; + // // TODO: copy full chunk? + // // copy.chunk = chunk_init(name); + // return copy; } break; default: { break; } break; } -- cgit v1.2.1