diff options
Diffstat (limited to 'libguile/goops.h')
-rw-r--r-- | libguile/goops.h | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/libguile/goops.h b/libguile/goops.h index 47a6e4eca..b3071b039 100644 --- a/libguile/goops.h +++ b/libguile/goops.h @@ -79,7 +79,6 @@ "pw" /* default-slot-definition-class */ \ "pw" /* slots */ \ "pw" /* getters-n-setters */ \ - "pw" /* keyword access */ \ "pw" /* nfields */ #define scm_si_redefined (scm_vtable_offset_user + 0) @@ -99,11 +98,9 @@ #define scm_si_cpl (scm_vtable_offset_user + 13) /* (class ...) */ #define scm_si_slotdef_class (scm_vtable_offset_user + 14) #define scm_si_slots (scm_vtable_offset_user + 15) /* ((name . options) ...) */ -#define scm_si_name_access (scm_vtable_offset_user + 16) -#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_N_CLASS_SLOTS (scm_vtable_offset_user + 19) +#define scm_si_getters_n_setters (scm_vtable_offset_user + 16) +#define scm_si_nfields (scm_vtable_offset_user + 17) /* an integer */ +#define SCM_N_CLASS_SLOTS (scm_vtable_offset_user + 18) typedef struct scm_t_method { SCM generic_function; @@ -299,13 +296,14 @@ SCM_API SCM scm_make (SCM args); SCM_API SCM scm_find_method (SCM args); SCM_API SCM scm_sys_method_more_specific_p (SCM m1, SCM m2, SCM targs); SCM_API void scm_change_object_class (SCM, SCM, SCM); -/* The following are declared in __scm.h -SCM_API SCM scm_call_generic_0 (SCM gf); -SCM_API SCM scm_call_generic_1 (SCM gf, SCM a1); -SCM_API SCM scm_call_generic_2 (SCM gf, SCM a1, SCM a2); -SCM_API SCM scm_apply_generic (SCM gf, SCM args); -*/ -SCM_API SCM scm_call_generic_3 (SCM gf, SCM a1, SCM a2, SCM a3); + +/* These procedures are for dispatching to a generic when a primitive + fails to apply. They raise a wrong-type-arg error if the primitive's + generic has not been initialized yet. */ +SCM_API SCM scm_wta_dispatch_0 (SCM gf, const char *subr); +SCM_API SCM scm_wta_dispatch_1 (SCM gf, SCM a1, int pos, const char *subr); +SCM_API SCM scm_wta_dispatch_2 (SCM gf, SCM a1, SCM a2, int pos, const char *subr); +SCM_API SCM scm_wta_dispatch_n (SCM gf, SCM args, int pos, const char *subr); SCM_INTERNAL SCM scm_i_define_class_for_vtable (SCM vtable); |