added print object method

This commit is contained in:
cozis
2021-11-01 16:12:08 +00:00
parent 5bf6a9f085
commit d93f578eb2
7 changed files with 85 additions and 2 deletions
+3
View File
@@ -1,6 +1,7 @@
#ifndef OBJECT_H
#define OBJECT_H
#include <stdio.h>
#include "../utils/error.h"
typedef struct Type Type;
@@ -33,6 +34,7 @@ struct Type {
int (*hash)(Object *self);
Object* (*copy)(Object *self, Heap *heap, Error *err);
Object* (*call)(Object *self, Object **argv, unsigned int argc, Heap *heap, Error *err);
void (*print)(Object *self, FILE *fp);
unsigned int (*deepsize)(const Object *self);
// Collections.
@@ -72,6 +74,7 @@ unsigned int Object_GetDeepSize(const Object *obj, Error *err);
int Object_Hash (Object *obj, Error *err);
Object* Object_Copy (Object *obj, Heap *heap, Error *err);
Object* Object_Call (Object *obj, Object **argv, unsigned int argc, Heap *heap, Error *err);
_Bool Object_Print (Object *obj, FILE *fp, Error *error);
Object* Object_Select(Object *coll, Object *key, Heap *heap, Error *err);
Object* Object_Delete(Object *coll, Object *key, Heap *heap, Error *err);
_Bool Object_Insert(Object *coll, Object *key, Object *val, Heap *heap, Error *err);