summaryrefslogtreecommitdiff
path: root/libguile/objects.h
diff options
context:
space:
mode:
authorMikael Djurfeldt <djurfeldt@nada.kth.se>1999-06-23 11:16:44 +0000
committerMikael Djurfeldt <djurfeldt@nada.kth.se>1999-06-23 11:16:44 +0000
commit2eafbe52c6976dfc750b668da591327d41a9ed61 (patch)
tree33fff2c02354c7f3a04e84949db7d0e043749328 /libguile/objects.h
parent135e76f87692db5b0455267ed15bd448aec2bb75 (diff)
downloadguile-2eafbe52c6976dfc750b668da591327d41a9ed61.tar.gz
* objects.h (SCM_SET_CLASS_DESTRUCTOR,
SCM_SET_CLASS_INSTANCE_SIZE): New macros.
Diffstat (limited to 'libguile/objects.h')
-rw-r--r--libguile/objects.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/libguile/objects.h b/libguile/objects.h
index a8a692084..b0c5d7e56 100644
--- a/libguile/objects.h
+++ b/libguile/objects.h
@@ -99,6 +99,11 @@
#define SCM_ENTITY_PROC_3(obj) (SCM_STRUCT_DATA (obj)[scm_struct_i_proc + 3])
#define SCM_ENTITY_SETTER(obj) (SCM_STRUCT_DATA (obj)[scm_struct_i_setter])
+#define SCM_SET_CLASS_DESTRUCTOR(c, d) SCM_SET_VTABLE_DESTRUCTOR (c, d)
+#define SCM_SET_CLASS_INSTANCE_SIZE(c, s) \
+(SCM_STRUCT_DATA (c)[scm_struct_i_size] \
+ = (SCM_STRUCT_DATA (c)[scm_struct_i_size] & SCM_STRUCTF_MASK) | s)
+
/* {Operator classes}
*
* Instances of operator classes can work as operators, i. e., they
@@ -196,7 +201,7 @@ extern SCM scm_class_of (SCM obj);
extern SCM scm_entity_p (SCM obj);
extern SCM scm_set_object_procedure_x (SCM obj, SCM procs);
extern SCM scm_make_class_object (SCM metaclass, SCM layout);
-extern SCM scm_make_subclass_object (SCM class, SCM layout);
+extern SCM scm_make_subclass_object (SCM c, SCM layout);
extern SCM scm_i_make_class_object (SCM metaclass, SCM layout_string,
unsigned long flags);