From a1a027b9bd833db5384d7dc65046194018eb8bfa Mon Sep 17 00:00:00 2001 From: Zev Weiss Date: Sat, 21 Dec 2019 01:09:25 -0800 Subject: Axe automated header generation. Reasoning: - implementation was unsound -- broke down when I added a fairly basic macro definition expanding to a struct initializer in a *.c file. - made it way too easy (e.g. via otherwise totally innocuous git commands) to end up with timestamps such that it always ran MakeHeader.py but never used its output, leading to overbuild noise when running what should be a null 'make'. - but mostly: it's just an awkward way of dealing with C code. --- Object.c | 40 ---------------------------------------- 1 file changed, 40 deletions(-) (limited to 'Object.c') diff --git a/Object.c b/Object.c index 5edcc603..4d8045dd 100644 --- a/Object.c +++ b/Object.c @@ -8,46 +8,6 @@ in the source distribution for its full text. #include "Object.h" -/*{ -#include "RichString.h" -#include "XAlloc.h" - -typedef struct Object_ Object; - -typedef void(*Object_Display)(Object*, RichString*); -typedef long(*Object_Compare)(const void*, const void*); -typedef void(*Object_Delete)(Object*); - -#define Object_getClass(obj_) ((Object*)(obj_))->klass -#define Object_setClass(obj_, class_) Object_getClass(obj_) = (ObjectClass*) class_ - -#define Object_delete(obj_) Object_getClass(obj_)->delete((Object*)(obj_)) -#define Object_displayFn(obj_) Object_getClass(obj_)->display -#define Object_display(obj_, str_) Object_getClass(obj_)->display((Object*)(obj_), str_) -#define Object_compare(obj_, other_) Object_getClass(obj_)->compare((const void*)(obj_), other_) - -#define Class(class_) ((ObjectClass*)(&(class_ ## _class))) - -#define AllocThis(class_) (class_*) xMalloc(sizeof(class_)); Object_setClass(this, Class(class_)); - -typedef struct ObjectClass_ { - const void* extends; - const Object_Display display; - const Object_Delete delete; - const Object_Compare compare; -} ObjectClass; - -struct Object_ { - ObjectClass* klass; -}; - -typedef union { - int i; - void* v; -} Arg; - -}*/ - ObjectClass Object_class = { .extends = NULL }; -- cgit v1.2.3