aboutsummaryrefslogtreecommitdiffstats
path: root/clox/src/memory.c
diff options
context:
space:
mode:
authorGravatar Tom Willemse2022-08-13 12:20:00 -0700
committerGravatar Tom Willemse2022-08-13 12:20:00 -0700
commit07f691425c95a53323229accd8a907c5dea7e530 (patch)
treef19d102a75daa1ac1d73208cbd19e5fbe471c300 /clox/src/memory.c
parent4e77cfa61262a03055aeb273108fd9a49e8dfa4f (diff)
downloadcrafting-interpreters-07f691425c95a53323229accd8a907c5dea7e530.tar.gz
crafting-interpreters-07f691425c95a53323229accd8a907c5dea7e530.zip
Chapter 28.1
Diffstat (limited to 'clox/src/memory.c')
-rw-r--r--clox/src/memory.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/clox/src/memory.c b/clox/src/memory.c
index 8c32386..13891e4 100644
--- a/clox/src/memory.c
+++ b/clox/src/memory.c
@@ -79,6 +79,7 @@ static void blackenObject(Obj *object) {
case OBJ_CLASS: {
ObjClass *klass = (ObjClass *)object;
markObject((Obj *)klass->name);
+ markTable(&klass->methods);
break;
}
case OBJ_CLOSURE: {
@@ -117,6 +118,8 @@ static void freeObject(Obj *object) {
switch (object->type) {
case OBJ_CLASS: {
+ ObjClass *klass = (ObjClass *)object;
+ freeTable(&klass->methods);
FREE(ObjClass, object);
break;
}