diff options
author | Mikael Djurfeldt <djurfeldt@nada.kth.se> | 1999-06-23 11:16:44 +0000 |
---|---|---|
committer | Mikael Djurfeldt <djurfeldt@nada.kth.se> | 1999-06-23 11:16:44 +0000 |
commit | 2eafbe52c6976dfc750b668da591327d41a9ed61 (patch) | |
tree | 33fff2c02354c7f3a04e84949db7d0e043749328 /libguile/objects.h | |
parent | 135e76f87692db5b0455267ed15bd448aec2bb75 (diff) | |
download | guile-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.h | 7 |
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); |