/*===========================================================================*/
/*   (Object/plain-access.scm)                                               */
/*   Bigloo (2.6b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Mon Dec 15 12:14:36 CET 2003        */
/*===========================================================================*/
/* COMPILATION: (/users/serrano/prgm/project/bigloo/bin/bigloo -q -afile .afile -fsharing -fno-reflection -cc gcc-2.95 -lib-dir /users/serrano/prgm/project/bigloo/lib/2.6b -unsafev -no-hello -O2 -rm -unsafe -s -indent Object/plain-access.scm)*/
/* GC selection */
#define THE_GC BOEHM_GC

#include <bigloo.h>


/* Object type definitions */
typedef struct BgL_typez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   obj_t BgL_siza7eza7;
   obj_t BgL_classz00;
   obj_t BgL_coercezd2tozd2;
   obj_t BgL_parentsz00;
   bool_t BgL_initzf3zf3;
   bool_t BgL_magiczf3zf3;
   obj_t BgL_z42z42;
   obj_t BgL_aliasz00;
   obj_t BgL_pointedzd2tozd2byz00;
   obj_t BgL_tvectorz00;
   obj_t BgL_locationz00;
   obj_t BgL_importzd2locationzd2;
} *BgL_typez00_bglt;

typedef struct BgL_valuez00_bgl {
   header_t header;
   obj_t widening;
} *BgL_valuez00_bglt;

typedef struct BgL_variablez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
} *BgL_variablez00_bglt;

typedef struct BgL_globalz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
   obj_t BgL_modulez00;
   obj_t BgL_importz00;
   bool_t BgL_evaluablezf3zf3;
   bool_t BgL_libraryzf3zf3;
   bool_t BgL_userzf3zf3;
   obj_t BgL_pragmaz00;
   obj_t BgL_srcz00;
   obj_t BgL_jvmzd2typezd2namez00;
} *BgL_globalz00_bglt;

typedef struct BgL_localz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
   bool_t BgL_userzf3zf3;
   long BgL_keyz00;
} *BgL_localz00_bglt;

typedef struct BgL_funz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
} *BgL_funz00_bglt;

typedef struct BgL_sfunz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
   obj_t BgL_propertyz00;
   obj_t BgL_argsz00;
   obj_t BgL_bodyz00;
   obj_t BgL_classz00;
   obj_t BgL_dssslzd2keywordszd2;
   obj_t BgL_locz00;
} *BgL_sfunz00_bglt;

typedef struct BgL_cfunz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
   obj_t BgL_argszd2typezd2;
   bool_t BgL_macrozf3zf3;
   bool_t BgL_infixzf3zf3;
   obj_t BgL_methodz00;
} *BgL_cfunz00_bglt;

typedef struct BgL_svarz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
} *BgL_svarz00_bglt;

typedef struct BgL_scnstz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_nodez00;
   obj_t BgL_classz00;
   obj_t BgL_locz00;
} *BgL_scnstz00_bglt;

typedef struct BgL_cvarz00_bgl {
   header_t header;
   obj_t widening;
   bool_t BgL_macrozf3zf3;
} *BgL_cvarz00_bglt;

typedef struct BgL_sexitz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_handlerz00;
   bool_t BgL_detachedzf3zf3;
} *BgL_sexitz00_bglt;

typedef struct BgL_feffectz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_readz00;
   obj_t BgL_writez00;
} *BgL_feffectz00_bglt;

typedef struct BgL_tclassz00_bgl {
   obj_t BgL_itszd2superzd2;
   obj_t BgL_slotsz00;
   struct BgL_globalz00_bgl * BgL_holderz00;
   obj_t BgL_wideningz00;
   long BgL_depthz00;
   bool_t BgL_finalzf3zf3;
   obj_t BgL_constructorz00;
   obj_t BgL_virtualzd2slotszd2numberz00;
   bool_t BgL_abstractzf3zf3;
   obj_t BgL_widezd2typezd2;
} *BgL_tclassz00_bglt;

typedef struct BgL_jclassz00_bgl {
   obj_t BgL_itszd2superzd2;
   obj_t BgL_slotsz00;
   obj_t BgL_packagez00;
} *BgL_jclassz00_bglt;

typedef struct BgL_wclassz00_bgl {
   obj_t BgL_itszd2classzd2;
} *BgL_wclassz00_bglt;

typedef struct BgL_slotz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   obj_t BgL_srcz00;
   obj_t BgL_classzd2ownerzd2;
   obj_t BgL_typez00;
   bool_t BgL_readzd2onlyzf3z21;
   obj_t BgL_defaultzd2valuezd2;
   obj_t BgL_virtualzd2numzd2;
   obj_t BgL_getterz00;
   obj_t BgL_setterz00;
   obj_t BgL_indexedz00;
   obj_t BgL_userzd2infozd2;
} *BgL_slotz00_bglt;

typedef struct BgL_ccompz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_producerz00;
   obj_t BgL_consumerz00;
   obj_t BgL_finaliza7erza7;
} *BgL_ccompz00_bglt;


extern obj_t BGl_genzd2plainzd2classzc3zd2ze3structzf2zzobject_structz00(BgL_typez00_bglt, obj_t);
static obj_t BGl_setzd2plainzd2classzd2slotsz12zc0zzobject_plainzd2accesszd2(obj_t, obj_t, BgL_tclassz00_bglt);
BGL_IMPORT obj_t BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
static obj_t BGl_methodzd2initzd2zzobject_plainzd2accesszd2();
BGL_IMPORT obj_t open_input_string(obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_IMPORT bool_t BGl_iszd2azf3z21zz__objectz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_importzd2plainzd2classzd2accessorsz12zc0zzobject_plainzd2accesszd2(obj_t, BgL_tclassz00_bglt, obj_t, obj_t);
extern obj_t BGl_tclassz00zzobject_classz00;
extern obj_t BGl_genzd2classzd2predz12z12zzobject_predicatez00(BgL_tclassz00_bglt, obj_t, obj_t);
extern obj_t BGl_importzd2classzd2predz12z12zzobject_predicatez00(BgL_tclassz00_bglt, obj_t, obj_t);
extern obj_t BGl_typez00zztype_typez00;
extern bool_t BGl_widezd2classzf3z21zzobject_classz00(obj_t);
static obj_t BGl_cnstzd2initzd2zzobject_plainzd2accesszd2();
static obj_t BGl_importedzd2moduleszd2initz00zzobject_plainzd2accesszd2();
BGL_EXPORTED_DECL obj_t BGl_genzd2plainzd2classzd2accessorsz12zc0zzobject_plainzd2accesszd2(obj_t, BgL_tclassz00_bglt, obj_t, obj_t);
extern obj_t BGl_makezd2classzd2slotsz00zzobject_slotsz00(BgL_tclassz00_bglt, obj_t, obj_t, int, obj_t);
BGL_IMPORT obj_t string_append_3(obj_t, obj_t, obj_t);
extern bool_t BGl_finalzd2classzf3z21zzobject_classz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzobject_plainzd2accesszd2(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_tracez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_miscz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_toolsz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_cachez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_identz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_classz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_structz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_slotsz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_toolsz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_getterz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_creatorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_predicatez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_coercionz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_modulez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_impusez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
extern obj_t BGl_userzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl__importzd2plainzd2classzd2accessorsz12zc0zzobject_plainzd2accesszd2(obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_getzd2localzd2virtualzd2slotszd2numberz00zzobject_slotsz00(BgL_tclassz00_bglt, obj_t);
BGL_EXPORTED_DECL obj_t BGl_heapzd2plainzd2classzd2accessorsz12zc0zzobject_plainzd2accesszd2(BgL_tclassz00_bglt);
static obj_t BGl__genzd2plainzd2classzd2accessorsz12zc0zzobject_plainzd2accesszd2(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl__heapzd2plainzd2classzd2accessorsz12zc0zzobject_plainzd2accesszd2(obj_t, obj_t);
extern obj_t BGl_genzd2classzd2coercionsz12z12zzobject_coercionz00(obj_t);
extern obj_t BGl_internalzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t);
extern obj_t BGl_genzd2classzd2slotszd2accessz12zc0zzobject_getterz00(BgL_tclassz00_bglt, obj_t, obj_t, obj_t);
static bool_t BGl_correctzd2plainzd2classzf3zf3zzobject_plainzd2accesszd2(BgL_tclassz00_bglt, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzobject_plainzd2accesszd2 = BUNSPEC;
extern obj_t BGl_importzd2plainzd2classzd2creatorszd2zzobject_creatorz00(BgL_tclassz00_bglt, obj_t, obj_t);
extern obj_t BGl_genzd2plainzd2classzd2creatorszd2zzobject_creatorz00(BgL_tclassz00_bglt, obj_t, obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzobject_plainzd2accesszd2();
static obj_t __cnst[ 1 ] ;


DEFINE_STRING( BGl_string2224z00zzobject_plainzd2accesszd2, BgL_bgl_string2224za700za7za7object_plainza7d2accessza7d22250za7, "(no def found) ", 15 );
DEFINE_STRING( BGl_string2223z00zzobject_plainzd2accesszd2, BgL_bgl_string2223za700za7za7object_plainza7d2accessza7d22251za7, "Only wide classes can inherit of final classes", 46 );
DEFINE_STRING( BGl_string2222z00zzobject_plainzd2accesszd2, BgL_bgl_string2222za700za7za7object_plainza7d2accessza7d22252za7, "' is a wide class", 17 );
DEFINE_STRING( BGl_string2221z00zzobject_plainzd2accesszd2, BgL_bgl_string2221za700za7za7object_plainza7d2accessza7d22253za7, "Should not be able to see a wide class here", 43 );
DEFINE_STRING( BGl_string2220z00zzobject_plainzd2accesszd2, BgL_bgl_string2220za700za7za7object_plainza7d2accessza7d22254za7, "make-class-accesses!", 20 );
DEFINE_STRING( BGl_string2219z00zzobject_plainzd2accesszd2, BgL_bgl_string2219za700za7za7object_plainza7d2accessza7d22255za7, "' is not a class", 16 );
DEFINE_STRING( BGl_string2218z00zzobject_plainzd2accesszd2, BgL_bgl_string2218za700za7za7object_plainza7d2accessza7d22256za7, "super of `", 10 );
DEFINE_EXPORT_PROCEDURE( BGl_heapzd2plainzd2classzd2accessorsz12zd2envz12zzobject_plainzd2accesszd2, BgL_bgl__heapza7d2plainza7d2classza7d2accessorsza712za7c0za7za7object_plainza7d2accessza7d22257za7, BGl__heapzd2plainzd2classzd2accessorsz12zc0zzobject_plainzd2accesszd2, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_importzd2plainzd2classzd2accessorsz12zd2envz12zzobject_plainzd2accesszd2, BgL_bgl__importza7d2plainza7d2classza7d2accessorsza712za7c0za7za7object_plainza7d2accessza7d22258za7, BGl__importzd2plainzd2classzd2accessorsz12zc0zzobject_plainzd2accesszd2, 0L, 4 );
DEFINE_EXPORT_PROCEDURE( BGl_genzd2plainzd2classzd2accessorsz12zd2envz12zzobject_plainzd2accesszd2, BgL_bgl__genza7d2plainza7d2classza7d2accessorsza712za7c0za7za7object_plainza7d2accessza7d22259za7, BGl__genzd2plainzd2classzd2accessorsz12zc0zzobject_plainzd2accesszd2, 0L, 4 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzobject_plainzd2accesszd2(long BgL_checksumz00_641, char * BgL_fromz00_642)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzobject_plainzd2accesszd2))
{ 
BGl_requirezd2initializa7ationz75zzobject_plainzd2accesszd2 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzobject_plainzd2accesszd2(); 
BGl_cnstzd2initzd2zzobject_plainzd2accesszd2(); 
BGl_importedzd2moduleszd2initz00zzobject_plainzd2accesszd2(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzobject_plainzd2accesszd2()
{ AN_OBJECT;
{ /* ./Object/plain-access.scm 21 */
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "object_plain-access"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "object_plain-access"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "object_plain-access"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzobject_plainzd2accesszd2()
{ AN_OBJECT;
{ /* ./Object/plain-access.scm 21 */
{ /* ./Object/plain-access.scm 21 */
obj_t BgL_cportz00_634;
BgL_cportz00_634 = 
open_input_string(BGl_string2224z00zzobject_plainzd2accesszd2); 
{ 
long BgL_iz00_635;
BgL_iz00_635 = ((long)0); 
BgL_loopz00_636:
{ /* ./Object/plain-access.scm 21 */
bool_t BgL_test2226z00_637;
BgL_test2226z00_637 = 
(BgL_iz00_635==((long)-1)); 
if(BgL_test2226z00_637)
{ /* ./Object/plain-access.scm 21 */
return BUNSPEC;}  else 
{ /* ./Object/plain-access.scm 21 */
{ /* ./Object/plain-access.scm 21 */
obj_t BgL_arg2228z00_638;
{ /* ./Object/plain-access.scm 21 */
obj_t BgL_list2231z00_639;
BgL_list2231z00_639 = 
MAKE_PAIR(BgL_cportz00_634, BNIL); 
BgL_arg2228z00_638 = 
BGl_readz00zz__readerz00(BgL_list2231z00_639); } 
{ /* ./Object/plain-access.scm 21 */
int BgL_auxz00_657;
BgL_auxz00_657 = 
(int)(BgL_iz00_635); 
CNST_TABLE_SET(BgL_auxz00_657, BgL_arg2228z00_638); } } 
{ /* ./Object/plain-access.scm 21 */
int BgL_auxz00_640;
{ /* ./Object/plain-access.scm 21 */
long BgL_auxz00_660;
BgL_auxz00_660 = 
(BgL_iz00_635-((long)1)); 
BgL_auxz00_640 = 
(int)(BgL_auxz00_660); } 
{ 
long BgL_iz00_663;
BgL_iz00_663 = 
(long)(BgL_auxz00_640); 
BgL_iz00_635 = BgL_iz00_663; 
goto BgL_loopz00_636;} } } } } } } 
}



/* gen-plain-class-accessors! */
BGL_EXPORTED_DEF obj_t BGl_genzd2plainzd2classzd2accessorsz12zc0zzobject_plainzd2accesszd2(obj_t BgL_classzd2defzd2_1, BgL_tclassz00_bglt BgL_classz00_2, obj_t BgL_srczd2defzd2_3, obj_t BgL_importz00_4)
{ AN_OBJECT;
{ /* ./Object/plain-access.scm 49 */
{ /* ./Object/plain-access.scm 51 */
bool_t BgL_test1898z00_379;
BgL_test1898z00_379 = 
BGl_correctzd2plainzd2classzf3zf3zzobject_plainzd2accesszd2(BgL_classz00_2, BgL_srczd2defzd2_3); 
if(BgL_test1898z00_379)
{ /* ./Object/plain-access.scm 51 */
BGl_setzd2plainzd2classzd2slotsz12zc0zzobject_plainzd2accesszd2(BgL_classzd2defzd2_1, BgL_srczd2defzd2_3, BgL_classz00_2); 
BGl_genzd2classzd2coercionsz12z12zzobject_coercionz00(
(obj_t)(BgL_classz00_2)); 
{ /* ./Object/plain-access.scm 60 */
obj_t BgL_fieldsz00_381;
BgL_fieldsz00_381 = 
BGl_genzd2classzd2slotszd2accessz12zc0zzobject_getterz00(BgL_classz00_2, 
(obj_t)(BgL_classz00_2), BFALSE, BgL_srczd2defzd2_3); 
{ /* ./Object/plain-access.scm 62 */
obj_t BgL_virtualsz00_382;
{ /* ./Object/plain-access.scm 62 */
int BgL_nz00_590;
BgL_nz00_590 = 
(int)(((long)1)); 
BgL_virtualsz00_382 = 
BGL_MVALUES_VAL(BgL_nz00_590); } 
{ /* ./Object/plain-access.scm 62 */
obj_t BgL_creatsz00_383;obj_t BgL_structsz00_384;obj_t BgL_predicatez00_385;
BgL_creatsz00_383 = 
BGl_genzd2plainzd2classzd2creatorszd2zzobject_creatorz00(BgL_classz00_2, BgL_srczd2defzd2_3, BgL_importz00_4); 
BgL_structsz00_384 = 
BGl_genzd2plainzd2classzc3zd2ze3structzf2zzobject_structz00(
(BgL_typez00_bglt)(BgL_classz00_2), BgL_srczd2defzd2_3); 
BgL_predicatez00_385 = 
BGl_genzd2classzd2predz12z12zzobject_predicatez00(BgL_classz00_2, BgL_srczd2defzd2_3, BgL_importz00_4); 
{ /* ./Object/plain-access.scm 65 */
obj_t BgL_val0_1888z00_386;
BgL_val0_1888z00_386 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_predicatez00_385, 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_structsz00_384, 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_creatsz00_383, 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_fieldsz00_381, BNIL)))); 
{ /* ./Object/plain-access.scm 65 */
int BgL_nz00_591;
BgL_nz00_591 = 
(int)(((long)2)); 
BGL_MVALUES_NUMBER_SET(BgL_nz00_591); } 
{ /* ./Object/plain-access.scm 65 */
int BgL_nz00_592;
BgL_nz00_592 = 
(int)(((long)1)); 
BGL_MVALUES_VAL_SET(BgL_nz00_592, BgL_virtualsz00_382); } 
return BgL_val0_1888z00_386;} } } } }  else 
{ /* ./Object/plain-access.scm 51 */
{ /* ./Object/plain-access.scm 67 */
int BgL_nz00_594;
BgL_nz00_594 = 
(int)(((long)2)); 
BGL_MVALUES_NUMBER_SET(BgL_nz00_594); } 
{ /* ./Object/plain-access.scm 67 */
int BgL_nz00_595;
BgL_nz00_595 = 
(int)(((long)1)); 
BGL_MVALUES_VAL_SET(BgL_nz00_595, BNIL); } 
return BNIL;} } } 
}



/* _gen-plain-class-accessors! */
obj_t BGl__genzd2plainzd2classzd2accessorsz12zc0zzobject_plainzd2accesszd2(obj_t BgL_envz00_622, obj_t BgL_classzd2defzd2_623, obj_t BgL_classz00_624, obj_t BgL_srczd2defzd2_625, obj_t BgL_importz00_626)
{ AN_OBJECT;
{ /* ./Object/plain-access.scm 49 */
return 
BGl_genzd2plainzd2classzd2accessorsz12zc0zzobject_plainzd2accesszd2(BgL_classzd2defzd2_623, 
(BgL_tclassz00_bglt)(BgL_classz00_624), BgL_srczd2defzd2_625, BgL_importz00_626);} 
}



/* import-plain-class-accessors! */
BGL_EXPORTED_DEF obj_t BGl_importzd2plainzd2classzd2accessorsz12zc0zzobject_plainzd2accesszd2(obj_t BgL_classzd2defzd2_5, BgL_tclassz00_bglt BgL_classz00_6, obj_t BgL_srczd2defzd2_7, obj_t BgL_modulez00_8)
{ AN_OBJECT;
{ /* ./Object/plain-access.scm 72 */
{ /* ./Object/plain-access.scm 74 */
bool_t BgL_test1922z00_393;
BgL_test1922z00_393 = 
BGl_correctzd2plainzd2classzf3zf3zzobject_plainzd2accesszd2(BgL_classz00_6, BgL_srczd2defzd2_7); 
if(BgL_test1922z00_393)
{ /* ./Object/plain-access.scm 74 */
BGl_setzd2plainzd2classzd2slotsz12zc0zzobject_plainzd2accesszd2(BgL_classzd2defzd2_5, BgL_srczd2defzd2_7, BgL_classz00_6); 
BGl_genzd2classzd2coercionsz12z12zzobject_coercionz00(
(obj_t)(BgL_classz00_6)); 
{ /* ./Object/plain-access.scm 83 */
obj_t BgL_fieldsz00_395;
BgL_fieldsz00_395 = 
BGl_genzd2classzd2slotszd2accessz12zc0zzobject_getterz00(BgL_classz00_6, 
(obj_t)(BgL_classz00_6), BFALSE, BgL_srczd2defzd2_7); 
{ /* ./Object/plain-access.scm 85 */
obj_t BgL_virtualsz00_396;
{ /* ./Object/plain-access.scm 85 */
int BgL_nz00_597;
BgL_nz00_597 = 
(int)(((long)1)); 
BgL_virtualsz00_396 = 
BGL_MVALUES_VAL(BgL_nz00_597); } 
{ /* ./Object/plain-access.scm 85 */
obj_t BgL_creatsz00_397;obj_t BgL_predicatez00_398;
BgL_creatsz00_397 = 
BGl_importzd2plainzd2classzd2creatorszd2zzobject_creatorz00(BgL_classz00_6, BgL_srczd2defzd2_7, BgL_modulez00_8); 
BgL_predicatez00_398 = 
BGl_importzd2classzd2predz12z12zzobject_predicatez00(BgL_classz00_6, BgL_srczd2defzd2_7, BgL_modulez00_8); 
{ /* ./Object/plain-access.scm 87 */
obj_t BgL_val0_1894z00_399;
BgL_val0_1894z00_399 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_predicatez00_398, 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_creatsz00_397, 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_fieldsz00_395, BNIL))); 
{ /* ./Object/plain-access.scm 87 */
int BgL_nz00_598;
BgL_nz00_598 = 
(int)(((long)2)); 
BGL_MVALUES_NUMBER_SET(BgL_nz00_598); } 
{ /* ./Object/plain-access.scm 87 */
int BgL_nz00_599;
BgL_nz00_599 = 
(int)(((long)1)); 
BGL_MVALUES_VAL_SET(BgL_nz00_599, BgL_virtualsz00_396); } 
return BgL_val0_1894z00_399;} } } } }  else 
{ /* ./Object/plain-access.scm 74 */
return BNIL;} } } 
}



/* _import-plain-class-accessors! */
obj_t BGl__importzd2plainzd2classzd2accessorsz12zc0zzobject_plainzd2accesszd2(obj_t BgL_envz00_627, obj_t BgL_classzd2defzd2_628, obj_t BgL_classz00_629, obj_t BgL_srczd2defzd2_630, obj_t BgL_modulez00_631)
{ AN_OBJECT;
{ /* ./Object/plain-access.scm 72 */
return 
BGl_importzd2plainzd2classzd2accessorsz12zc0zzobject_plainzd2accesszd2(BgL_classzd2defzd2_628, 
(BgL_tclassz00_bglt)(BgL_classz00_629), BgL_srczd2defzd2_630, BgL_modulez00_631);} 
}



/* heap-plain-class-accessors! */
BGL_EXPORTED_DEF obj_t BGl_heapzd2plainzd2classzd2accessorsz12zc0zzobject_plainzd2accesszd2(BgL_tclassz00_bglt BgL_classz00_9)
{ AN_OBJECT;
{ /* ./Object/plain-access.scm 94 */
{ /* ./Object/plain-access.scm 95 */
obj_t BgL_srczd2defzd2_601;
BgL_srczd2defzd2_601 = 
CNST_TABLE_REF(((long)0)); 
return 
BGl_genzd2classzd2slotszd2accessz12zc0zzobject_getterz00(BgL_classz00_9, 
(obj_t)(BgL_classz00_9), BFALSE, BgL_srczd2defzd2_601);} } 
}



/* _heap-plain-class-accessors! */
obj_t BGl__heapzd2plainzd2classzd2accessorsz12zc0zzobject_plainzd2accesszd2(obj_t BgL_envz00_632, obj_t BgL_classz00_633)
{ AN_OBJECT;
{ /* ./Object/plain-access.scm 94 */
return 
BGl_heapzd2plainzd2classzd2accessorsz12zc0zzobject_plainzd2accesszd2(
(BgL_tclassz00_bglt)(BgL_classz00_633));} 
}



/* set-plain-class-slots! */
obj_t BGl_setzd2plainzd2classzd2slotsz12zc0zzobject_plainzd2accesszd2(obj_t BgL_classzd2defzd2_10, obj_t BgL_srczd2defzd2_11, BgL_tclassz00_bglt BgL_classz00_12)
{ AN_OBJECT;
{ /* ./Object/plain-access.scm 110 */
{ /* ./Object/plain-access.scm 111 */
obj_t BgL_superz00_405;
{ /* ./Object/plain-access.scm 111 */
obj_t BgL_superz00_411;
{ 
obj_t BgL_auxz00_717;
{ /* ./Object/plain-access.scm 111 */
BgL_objectz00_bglt BgL_auxz00_718;
BgL_auxz00_718 = 
(BgL_objectz00_bglt)(BgL_classz00_12); 
BgL_auxz00_717 = 
BGL_OBJECT_WIDENING(BgL_auxz00_718); } 
BgL_superz00_411 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_717))->BgL_itszd2superzd2); } 
{ /* ./Object/plain-access.scm 112 */
bool_t BgL_testz00_722;
{ /* ./Object/plain-access.scm 112 */
obj_t BgL_auxz00_723;
BgL_auxz00_723 = 
(obj_t)(BgL_classz00_12); 
BgL_testz00_722 = 
(BgL_superz00_411==BgL_auxz00_723); } 
if(BgL_testz00_722)
{ /* ./Object/plain-access.scm 112 */
BgL_superz00_405 = BFALSE; }  else 
{ /* ./Object/plain-access.scm 112 */
BgL_superz00_405 = BgL_superz00_411; } } } 
{ /* ./Object/plain-access.scm 111 */
obj_t BgL_superzd2vnumzd2_406;
{ /* ./Object/plain-access.scm 115 */
bool_t BgL_test1945z00_410;
BgL_test1945z00_410 = 
BGl_iszd2azf3z21zz__objectz00(BgL_superz00_405, BGl_tclassz00zzobject_classz00); 
if(BgL_test1945z00_410)
{ /* ./Object/plain-access.scm 116 */
BgL_tclassz00_bglt BgL_obj1623z00_604;
BgL_obj1623z00_604 = 
(BgL_tclassz00_bglt)(BgL_superz00_405); 
{ 
obj_t BgL_auxz00_729;
{ /* ./Object/plain-access.scm 116 */
BgL_objectz00_bglt BgL_auxz00_730;
BgL_auxz00_730 = 
(BgL_objectz00_bglt)(BgL_obj1623z00_604); 
BgL_auxz00_729 = 
BGL_OBJECT_WIDENING(BgL_auxz00_730); } 
BgL_superzd2vnumzd2_406 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_729))->BgL_virtualzd2slotszd2numberz00); } }  else 
{ /* ./Object/plain-access.scm 115 */
BgL_superzd2vnumzd2_406 = 
BINT(((long)0)); } } 
{ /* ./Object/plain-access.scm 115 */
obj_t BgL_slotsz00_407;
{ /* ./Object/plain-access.scm 118 */
obj_t BgL_auxz00_735;
BgL_auxz00_735 = 
CDR(BgL_classzd2defzd2_10); 
BgL_slotsz00_407 = 
CDR(BgL_auxz00_735); } 
{ /* ./Object/plain-access.scm 118 */

{ /* ./Object/plain-access.scm 122 */
obj_t BgL_cslotsz00_408;
BgL_cslotsz00_408 = 
BGl_makezd2classzd2slotsz00zzobject_slotsz00(BgL_classz00_12, BgL_slotsz00_407, BgL_superz00_405, 
CINT(BgL_superzd2vnumzd2_406), BgL_srczd2defzd2_11); 
{ /* ./Object/plain-access.scm 122 */
obj_t BgL_localzd2vnumzd2_409;
BgL_localzd2vnumzd2_409 = 
BGl_getzd2localzd2virtualzd2slotszd2numberz00zzobject_slotsz00(BgL_classz00_12, BgL_cslotsz00_408); 
{ /* ./Object/plain-access.scm 123 */

{ /* ./Object/plain-access.scm 125 */
obj_t BgL_val1624z00_610;
BgL_val1624z00_610 = BgL_localzd2vnumzd2_409; 
{ 
obj_t BgL_auxz00_741;
{ /* ./Object/plain-access.scm 125 */
BgL_objectz00_bglt BgL_auxz00_742;
BgL_auxz00_742 = 
(BgL_objectz00_bglt)(BgL_classz00_12); 
BgL_auxz00_741 = 
BGL_OBJECT_WIDENING(BgL_auxz00_742); } 
((((BgL_tclassz00_bglt)CREF(BgL_auxz00_741))->BgL_virtualzd2slotszd2numberz00) = ((obj_t)BgL_val1624z00_610), BUNSPEC); } } 
{ /* ./Object/plain-access.scm 127 */
obj_t BgL_val1613z00_612;
BgL_val1613z00_612 = BgL_cslotsz00_408; 
{ 
obj_t BgL_auxz00_746;
{ /* ./Object/plain-access.scm 127 */
BgL_objectz00_bglt BgL_auxz00_747;
BgL_auxz00_747 = 
(BgL_objectz00_bglt)(BgL_classz00_12); 
BgL_auxz00_746 = 
BGL_OBJECT_WIDENING(BgL_auxz00_747); } 
return 
((((BgL_tclassz00_bglt)CREF(BgL_auxz00_746))->BgL_slotsz00) = ((obj_t)BgL_val1613z00_612), BUNSPEC);} } } } } } } } } } 
}



/* correct-plain-class? */
bool_t BGl_correctzd2plainzd2classzf3zf3zzobject_plainzd2accesszd2(BgL_tclassz00_bglt BgL_classz00_13, obj_t BgL_srczd2defzd2_14)
{ AN_OBJECT;
{ /* ./Object/plain-access.scm 136 */
{ /* ./Object/plain-access.scm 137 */
obj_t BgL_superz00_413;obj_t BgL_classzd2idzd2_414;
{ 
obj_t BgL_auxz00_751;
{ /* ./Object/plain-access.scm 137 */
BgL_objectz00_bglt BgL_auxz00_752;
BgL_auxz00_752 = 
(BgL_objectz00_bglt)(BgL_classz00_13); 
BgL_auxz00_751 = 
BGL_OBJECT_WIDENING(BgL_auxz00_752); } 
BgL_superz00_413 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_751))->BgL_itszd2superzd2); } 
{ /* ./Object/plain-access.scm 138 */
BgL_typez00_bglt BgL_obj1003z00_614;
BgL_obj1003z00_614 = 
(BgL_typez00_bglt)(BgL_classz00_13); 
BgL_classzd2idzd2_414 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_614))->BgL_idz00); } 
{ /* ./Object/plain-access.scm 142 */
bool_t BgL_test1951z00_415;
{ /* ./Object/plain-access.scm 142 */
bool_t BgL_test1996z00_434;
BgL_test1996z00_434 = 
BGl_iszd2azf3z21zz__objectz00(BgL_superz00_413, BGl_typez00zztype_typez00); 
if(BgL_test1996z00_434)
{ /* ./Object/plain-access.scm 142 */
bool_t BgL_test1997z00_435;
BgL_test1997z00_435 = 
BGl_iszd2azf3z21zz__objectz00(BgL_superz00_413, BGl_tclassz00zzobject_classz00); 
if(BgL_test1997z00_435)
{ /* ./Object/plain-access.scm 142 */
BgL_test1951z00_415 = ((bool_t)0); }  else 
{ /* ./Object/plain-access.scm 142 */
BgL_test1951z00_415 = ((bool_t)1); } }  else 
{ /* ./Object/plain-access.scm 142 */
BgL_test1951z00_415 = ((bool_t)0); } } 
if(BgL_test1951z00_415)
{ /* ./Object/plain-access.scm 142 */
{ /* ./Object/plain-access.scm 143 */
obj_t BgL_arg1953z00_416;obj_t BgL_arg1954z00_417;
{ /* ./Object/plain-access.scm 143 */
BgL_typez00_bglt BgL_obj1003z00_617;
BgL_obj1003z00_617 = 
(BgL_typez00_bglt)(BgL_superz00_413); 
BgL_arg1953z00_416 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_617))->BgL_idz00); } 
{ /* ./Object/plain-access.scm 144 */
obj_t BgL_arg1962z00_420;
BgL_arg1962z00_420 = 
SYMBOL_TO_STRING(BgL_classzd2idzd2_414); 
BgL_arg1954z00_417 = 
string_append_3(BGl_string2218z00zzobject_plainzd2accesszd2, BgL_arg1962z00_420, BGl_string2219z00zzobject_plainzd2accesszd2); } 
{ /* ./Object/plain-access.scm 143 */
obj_t BgL_list1956z00_418;
BgL_list1956z00_418 = 
MAKE_PAIR(BGl_typez00zztype_typez00, BNIL); 
BGl_userzd2errorzd2zztools_errorz00(BgL_arg1953z00_416, BgL_arg1954z00_417, BgL_srczd2defzd2_14, BgL_list1956z00_418); } } 
return ((bool_t)0);}  else 
{ /* ./Object/plain-access.scm 150 */
bool_t BgL_test1966z00_422;
BgL_test1966z00_422 = 
BGl_widezd2classzf3z21zzobject_classz00(
(obj_t)(BgL_classz00_13)); 
if(BgL_test1966z00_422)
{ /* ./Object/plain-access.scm 150 */
BGl_internalzd2errorzd2zztools_errorz00(BGl_string2220z00zzobject_plainzd2accesszd2, BGl_string2221z00zzobject_plainzd2accesszd2, BgL_srczd2defzd2_14); 
return ((bool_t)0);}  else 
{ /* ./Object/plain-access.scm 157 */
bool_t BgL_test1968z00_423;
BgL_test1968z00_423 = 
BGl_widezd2classzf3z21zzobject_classz00(BgL_superz00_413); 
if(BgL_test1968z00_423)
{ /* ./Object/plain-access.scm 157 */
{ /* ./Object/plain-access.scm 159 */
obj_t BgL_arg1970z00_424;obj_t BgL_arg1971z00_425;
{ /* ./Object/plain-access.scm 159 */
BgL_typez00_bglt BgL_obj1003z00_619;
BgL_obj1003z00_619 = 
(BgL_typez00_bglt)(BgL_superz00_413); 
BgL_arg1970z00_424 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_619))->BgL_idz00); } 
{ /* ./Object/plain-access.scm 160 */
obj_t BgL_arg1978z00_428;
BgL_arg1978z00_428 = 
SYMBOL_TO_STRING(BgL_classzd2idzd2_414); 
BgL_arg1971z00_425 = 
string_append_3(BGl_string2218z00zzobject_plainzd2accesszd2, BgL_arg1978z00_428, BGl_string2222z00zzobject_plainzd2accesszd2); } 
{ /* ./Object/plain-access.scm 159 */
obj_t BgL_list1973z00_426;
BgL_list1973z00_426 = 
MAKE_PAIR(BGl_typez00zztype_typez00, BNIL); 
BGl_userzd2errorzd2zztools_errorz00(BgL_arg1970z00_424, BgL_arg1971z00_425, BgL_srczd2defzd2_14, BgL_list1973z00_426); } } 
return ((bool_t)0);}  else 
{ /* ./Object/plain-access.scm 166 */
bool_t BgL_test1984z00_430;
BgL_test1984z00_430 = 
BGl_finalzd2classzf3z21zzobject_classz00(BgL_superz00_413); 
if(BgL_test1984z00_430)
{ /* ./Object/plain-access.scm 166 */
{ /* ./Object/plain-access.scm 168 */
obj_t BgL_arg1987z00_431;
{ /* ./Object/plain-access.scm 168 */
BgL_typez00_bglt BgL_obj1003z00_621;
BgL_obj1003z00_621 = 
(BgL_typez00_bglt)(BgL_superz00_413); 
BgL_arg1987z00_431 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_621))->BgL_idz00); } 
{ /* ./Object/plain-access.scm 168 */
obj_t BgL_list1990z00_433;
BgL_list1990z00_433 = 
MAKE_PAIR(BGl_typez00zztype_typez00, BNIL); 
BGl_userzd2errorzd2zztools_errorz00(BgL_arg1987z00_431, BGl_string2223z00zzobject_plainzd2accesszd2, BgL_srczd2defzd2_14, BgL_list1990z00_433); } } 
return ((bool_t)0);}  else 
{ /* ./Object/plain-access.scm 166 */
return ((bool_t)1);} } } } } } } 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzobject_plainzd2accesszd2()
{ AN_OBJECT;
{ /* ./Object/plain-access.scm 21 */
return BUNSPEC;} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzobject_plainzd2accesszd2()
{ AN_OBJECT;
{ /* ./Object/plain-access.scm 21 */
BGl_modulezd2initializa7ationz75zztools_tracez00(((long)59211), "object_plain-access"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "object_plain-access"); 
BGl_modulezd2initializa7ationz75zztools_miscz00(((long)64117), "object_plain-access"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "object_plain-access"); 
BGl_modulezd2initializa7ationz75zztype_envz00(((long)25186), "object_plain-access"); 
BGl_modulezd2initializa7ationz75zztype_toolsz00(((long)15091), "object_plain-access"); 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "object_plain-access"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "object_plain-access"); 
BGl_modulezd2initializa7ationz75zzast_identz00(((long)51504), "object_plain-access"); 
BGl_modulezd2initializa7ationz75zzobject_classz00(((long)30791), "object_plain-access"); 
BGl_modulezd2initializa7ationz75zzobject_structz00(((long)41062), "object_plain-access"); 
BGl_modulezd2initializa7ationz75zzobject_slotsz00(((long)44183), "object_plain-access"); 
BGl_modulezd2initializa7ationz75zzobject_toolsz00(((long)58597), "object_plain-access"); 
BGl_modulezd2initializa7ationz75zzobject_getterz00(((long)33088), "object_plain-access"); 
BGl_modulezd2initializa7ationz75zzobject_creatorz00(((long)1891), "object_plain-access"); 
BGl_modulezd2initializa7ationz75zzobject_predicatez00(((long)48253), "object_plain-access"); 
BGl_modulezd2initializa7ationz75zzobject_coercionz00(((long)14986), "object_plain-access"); 
BGl_modulezd2initializa7ationz75zzmodule_modulez00(((long)8699), "object_plain-access"); 
BGl_modulezd2initializa7ationz75zzmodule_impusez00(((long)12782), "object_plain-access"); 
return 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "object_plain-access");} 
}

