diff options
author | Andy Wingo <wingo@pobox.com> | 2009-11-27 20:50:40 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-12-01 21:00:25 +0100 |
commit | 9d019f9be0a1a7d3aaa507c9996cd5097da53875 (patch) | |
tree | 1213b717cf840d383cdd2ab84ac91dfa3395b52e /libguile/goops.h | |
parent | c2c4e281988bf1c5261fde3a74566dc49d8eecf7 (diff) | |
download | guile-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.h | 8 |
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); |