From 08d85e61435e43ade490ecef16437f93c0d88bed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20G=C3=B6ttsche?= Date: Sun, 4 Oct 2020 17:55:08 +0200 Subject: Mark Object classes and Object class fields const --- Object.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'Object.h') diff --git a/Object.h b/Object.h index 6fafd4e1..0d0e0036 100644 --- a/Object.h +++ b/Object.h @@ -19,26 +19,26 @@ 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_setClass(obj_, class_) Object_getClass(obj_) = (const 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 Class(class_) ((const ObjectClass*)(&(class_ ## _class))) #define AllocThis(class_) (class_*) xMalloc(sizeof(class_)); Object_setClass(this, Class(class_)); typedef struct ObjectClass_ { - const void* extends; + const void* const extends; const Object_Display display; const Object_Delete delete; const Object_Compare compare; } ObjectClass; struct Object_ { - ObjectClass* klass; + const ObjectClass* klass; }; typedef union { @@ -46,7 +46,7 @@ typedef union { void* v; } Arg; -extern ObjectClass Object_class; +extern const ObjectClass Object_class; #ifndef NDEBUG -- cgit v1.2.3