3 |
#ifndef SCM_GOOPS_H |
#ifndef SCM_GOOPS_H |
4 |
#define SCM_GOOPS_H |
#define SCM_GOOPS_H |
5 |
/* Copyright (C) 1998,1999,2000,2001 Free Software Foundation, Inc. |
/* Copyright (C) 1998,1999,2000,2001 Free Software Foundation, Inc. |
6 |
* |
* |
7 |
* This program is free software; you can redistribute it and/or modify |
* This program is free software; you can redistribute it and/or modify |
8 |
* it under the terms of the GNU General Public License as published by |
* it under the terms of the GNU General Public License as published by |
9 |
* the Free Software Foundation; either version 2, or (at your option) |
* the Free Software Foundation; either version 2, or (at your option) |
10 |
* any later version. |
* any later version. |
11 |
* |
* |
12 |
* This program is distributed in the hope that it will be useful, |
* This program is distributed in the hope that it will be useful, |
13 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
15 |
* GNU General Public License for more details. |
* GNU General Public License for more details. |
16 |
* |
* |
17 |
* You should have received a copy of the GNU General Public License |
* You should have received a copy of the GNU General Public License |
18 |
* along with this software; see the file COPYING. If not, write to |
* along with this software; see the file COPYING. If not, write to |
19 |
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330, |
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330, |
62 |
#define SCM_CLASS_CLASS_LAYOUT "pruosrpwpopopwururururururururpwpwpwpwpwpwpwpwpwpwpwpw" |
#define SCM_CLASS_CLASS_LAYOUT "pruosrpwpopopwururururururururpwpwpwpwpwpwpwpwpwpwpwpw" |
63 |
|
|
64 |
#define scm_si_layout 0 /* the struct layout */ |
#define scm_si_layout 0 /* the struct layout */ |
65 |
#define scm_si_vcell 1 |
#define scm_si_vcell 1 |
66 |
#define scm_si_vtable 2 |
#define scm_si_vtable 2 |
67 |
#define scm_si_print 3 /* the struct print closure */ |
#define scm_si_print 3 /* the struct print closure */ |
68 |
#define scm_si_proc 4 |
#define scm_si_proc 4 |
69 |
#define scm_si_setter 5 |
#define scm_si_setter 5 |
70 |
|
|
71 |
#define scm_si_goops_fields 6 |
#define scm_si_goops_fields 6 |
72 |
|
|
80 |
#define scm_si_direct_subclasses 18 /* (class ...) */ |
#define scm_si_direct_subclasses 18 /* (class ...) */ |
81 |
#define scm_si_direct_methods 19 /* (methods ...) */ |
#define scm_si_direct_methods 19 /* (methods ...) */ |
82 |
#define scm_si_cpl 20 /* (class ...) */ |
#define scm_si_cpl 20 /* (class ...) */ |
83 |
#define scm_si_slotdef_class 21 |
#define scm_si_slotdef_class 21 |
84 |
#define scm_si_slots 22 /* ((name . options) ...) */ |
#define scm_si_slots 22 /* ((name . options) ...) */ |
85 |
#define scm_si_name_access 23 |
#define scm_si_name_access 23 |
86 |
#define scm_si_keyword_access 24 |
#define scm_si_keyword_access 24 |
87 |
#define scm_si_nfields 25 /* an integer */ |
#define scm_si_nfields 25 /* an integer */ |
88 |
#define scm_si_environment 26 /* The environment in which class is built */ |
#define scm_si_environment 26 /* The environment in which class is built */ |
89 |
#define SCM_N_CLASS_SLOTS 27 |
#define SCM_N_CLASS_SLOTS 27 |
239 |
SCM scm_pure_generic_p (SCM obj); |
SCM scm_pure_generic_p (SCM obj); |
240 |
#endif |
#endif |
241 |
|
|
242 |
SCM scm_sys_compute_slots (SCM c); |
SCM scm_sys_compute_slots (SCM c); |
243 |
SCM scm_i_get_keyword (SCM key, SCM l, long len, SCM default_value, const char *subr); |
SCM scm_i_get_keyword (SCM key, SCM l, long len, SCM default_value, const char *subr); |
244 |
SCM scm_get_keyword (SCM key, SCM l, SCM default_value); |
SCM scm_get_keyword (SCM key, SCM l, SCM default_value); |
245 |
SCM scm_sys_initialize_object (SCM obj, SCM initargs); |
SCM scm_sys_initialize_object (SCM obj, SCM initargs); |
246 |
SCM scm_sys_prep_layout_x (SCM c); |
SCM scm_sys_prep_layout_x (SCM c); |
247 |
SCM scm_sys_inherit_magic_x (SCM c, SCM dsupers); |
SCM scm_sys_inherit_magic_x (SCM c, SCM dsupers); |
248 |
SCM scm_instance_p (SCM obj); |
SCM scm_instance_p (SCM obj); |
249 |
SCM scm_class_name (SCM obj); |
SCM scm_class_name (SCM obj); |
250 |
SCM scm_class_direct_supers (SCM obj); |
SCM scm_class_direct_supers (SCM obj); |
251 |
SCM scm_class_direct_slots (SCM obj); |
SCM scm_class_direct_slots (SCM obj); |
252 |
SCM scm_class_direct_subclasses (SCM obj); |
SCM scm_class_direct_subclasses (SCM obj); |
253 |
SCM scm_class_direct_methods (SCM obj); |
SCM scm_class_direct_methods (SCM obj); |
254 |
SCM scm_class_precedence_list (SCM obj); |
SCM scm_class_precedence_list (SCM obj); |
255 |
SCM scm_class_slots (SCM obj); |
SCM scm_class_slots (SCM obj); |
256 |
SCM scm_class_environment (SCM obj); |
SCM scm_class_environment (SCM obj); |
257 |
SCM scm_generic_function_name (SCM obj); |
SCM scm_generic_function_name (SCM obj); |
258 |
SCM scm_generic_function_methods (SCM obj); |
SCM scm_generic_function_methods (SCM obj); |
259 |
SCM scm_method_generic_function (SCM obj); |
SCM scm_method_generic_function (SCM obj); |
260 |
SCM scm_method_specializers (SCM obj); |
SCM scm_method_specializers (SCM obj); |
261 |
SCM scm_method_procedure (SCM obj); |
SCM scm_method_procedure (SCM obj); |
262 |
SCM scm_accessor_method_slot_definition (SCM obj); |
SCM scm_accessor_method_slot_definition (SCM obj); |
263 |
SCM scm_sys_tag_body (SCM body); |
SCM scm_sys_tag_body (SCM body); |
264 |
SCM scm_sys_fast_slot_ref (SCM obj, SCM index); |
SCM scm_sys_fast_slot_ref (SCM obj, SCM index); |
265 |
SCM scm_sys_fast_slot_set_x (SCM obj, SCM index, SCM value); |
SCM scm_sys_fast_slot_set_x (SCM obj, SCM index, SCM value); |
266 |
SCM scm_slot_ref_using_class (SCM cls, SCM obj, SCM slot_name); |
SCM scm_slot_ref_using_class (SCM cls, SCM obj, SCM slot_name); |
267 |
SCM scm_slot_set_using_class_x (SCM cls, SCM obj, SCM slot_name, SCM value); |
SCM scm_slot_set_using_class_x (SCM cls, SCM obj, SCM slot_name, SCM value); |
268 |
SCM scm_slot_bound_using_class_p (SCM cls, SCM obj, SCM slot_name); |
SCM scm_slot_bound_using_class_p (SCM cls, SCM obj, SCM slot_name); |
269 |
SCM scm_slot_exists_using_class_p (SCM cls, SCM obj, SCM slot_name); |
SCM scm_slot_exists_using_class_p (SCM cls, SCM obj, SCM slot_name); |
270 |
SCM scm_slot_bound_p (SCM obj, SCM slot_name); |
SCM scm_slot_bound_p (SCM obj, SCM slot_name); |
271 |
SCM scm_slots_exists_p (SCM obj, SCM slot_name); |
SCM scm_slot_exists_p (SCM obj, SCM slot_name); |
272 |
SCM scm_sys_modify_instance (SCM old, SCM newinst); |
SCM scm_sys_modify_instance (SCM old, SCM newinst); |
273 |
SCM scm_sys_modify_class (SCM old, SCM newcls); |
SCM scm_sys_modify_class (SCM old, SCM newcls); |
274 |
SCM scm_sys_invalidate_class (SCM cls); |
SCM scm_sys_invalidate_class (SCM cls); |
275 |
SCM scm_make_method_cache (SCM gf); |
SCM scm_make_method_cache (SCM gf); |
277 |
SCM scm_generic_capability_p (SCM proc); |
SCM scm_generic_capability_p (SCM proc); |
278 |
SCM scm_enable_primitive_generic_x (SCM subrs); |
SCM scm_enable_primitive_generic_x (SCM subrs); |
279 |
SCM scm_primitive_generic_generic (SCM subr); |
SCM scm_primitive_generic_generic (SCM subr); |
280 |
SCM stklos_version (void); |
SCM stklos_version (void); |
281 |
SCM scm_make (SCM args); |
SCM scm_make (SCM args); |
282 |
SCM scm_find_method (SCM args); |
SCM scm_find_method (SCM args); |
283 |
SCM scm_sys_method_more_specific_p (SCM m1, SCM m2, SCM targs); |
SCM scm_sys_method_more_specific_p (SCM m1, SCM m2, SCM targs); |
284 |
|
|
285 |
SCM scm_init_goops_builtins (void); |
SCM scm_init_goops_builtins (void); |
286 |
void scm_init_goops (void); |
void scm_init_goops (void); |
287 |
|
|
288 |
#if (SCM_DEBUG_DEPRECATED == 0) |
#if (SCM_DEBUG_DEPRECATED == 0) |
289 |
|
|