summaryrefslogtreecommitdiff
path: root/libguile/goops.h
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2009-11-27 20:50:40 +0100
committerAndy Wingo <wingo@pobox.com>2009-12-01 21:00:25 +0100
commit9d019f9be0a1a7d3aaa507c9996cd5097da53875 (patch)
tree1213b717cf840d383cdd2ab84ac91dfa3395b52e /libguile/goops.h
parentc2c4e281988bf1c5261fde3a74566dc49d8eecf7 (diff)
downloadguile-9d019f9be0a1a7d3aaa507c9996cd5097da53875.tar.gz
remove class-environment slot, goops grubs less in the evaluator
* libguile/goops.h (scm_sys_tag_body): Remove declaration of undefined function. (SCM_CLASS_CLASS_LAYOUT, scm_si_environment, SCM_N_CLASS_SLOTS) (scm_class_environment) Remove class environment slot and getter. * libguile/goops.c (compute_getters_n_setters): Use scm_primitive_eval to produce the init thunk, instead of scm_i_eval_x; though really we should be doing this in Scheme. (scm_basic_basic_make_class, build_class_class_slots) (create_basic_classes, scm_class_environment): Remove class environment slot. (get_slot_value, set_slot_value): Use scm_call_1 instead of evaluator tricks. * module/oop/goops.scm: Remove class-environment export, and environments throughout the file.
Diffstat (limited to 'libguile/goops.h')
-rw-r--r--libguile/goops.h8
1 files changed, 2 insertions, 6 deletions
diff --git a/libguile/goops.h b/libguile/goops.h
index 382422d5f..914ab3c70 100644
--- a/libguile/goops.h
+++ b/libguile/goops.h
@@ -80,8 +80,7 @@
"pw" /* slots */ \
"pw" /* getters-n-setters */ \
"pw" /* keyword access */ \
- "pw" /* nfields */ \
- "pw" /* environment */
+ "pw" /* nfields */
#define scm_si_redefined (scm_vtable_offset_user + 0)
#define scm_si_h0 (scm_vtable_offset_user + 1)
@@ -104,8 +103,7 @@
#define scm_si_getters_n_setters scm_si_name_access
#define scm_si_keyword_access (scm_vtable_offset_user + 17)
#define scm_si_nfields (scm_vtable_offset_user + 18) /* an integer */
-#define scm_si_environment (scm_vtable_offset_user + 19) /* The environment in which class is built */
-#define SCM_N_CLASS_SLOTS (scm_vtable_offset_user + 20)
+#define SCM_N_CLASS_SLOTS (scm_vtable_offset_user + 19)
typedef struct scm_t_method {
SCM generic_function;
@@ -275,13 +273,11 @@ SCM_API SCM scm_class_direct_subclasses (SCM obj);
SCM_API SCM scm_class_direct_methods (SCM obj);
SCM_API SCM scm_class_precedence_list (SCM obj);
SCM_API SCM scm_class_slots (SCM obj);
-SCM_API SCM scm_class_environment (SCM obj);
SCM_API SCM scm_generic_function_name (SCM obj);
SCM_API SCM scm_generic_function_methods (SCM obj);
SCM_API SCM scm_method_generic_function (SCM obj);
SCM_API SCM scm_method_specializers (SCM obj);
SCM_API SCM scm_method_procedure (SCM obj);
-SCM_API SCM scm_sys_tag_body (SCM body);
SCM_API SCM scm_sys_fast_slot_ref (SCM obj, SCM index);
SCM_API SCM scm_sys_fast_slot_set_x (SCM obj, SCM index, SCM value);
SCM_API SCM scm_slot_ref_using_class (SCM cls, SCM obj, SCM slot_name);