/*===========================================================================*/
/*   (Object/tools.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/tools.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_nodez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
} *BgL_nodez00_bglt;

typedef struct BgL_nodezf2effectzf2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
} *BgL_nodezf2effectzf2_bglt;

typedef struct BgL_atomz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_valuez00;
} *BgL_atomz00_bglt;

typedef struct BgL_varz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_variablez00_bgl * BgL_variablez00;
} *BgL_varz00_bglt;

typedef struct BgL_closurez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_variablez00_bgl * BgL_variablez00;
} *BgL_closurez00_bglt;

typedef struct BgL_kwotez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_valuez00;
} *BgL_kwotez00_bglt;

typedef struct BgL_sequencez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_nodesz00;
} *BgL_sequencez00_bglt;

typedef struct BgL_appz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_varz00_bgl * BgL_funz00;
   obj_t BgL_argsz00;
} *BgL_appz00_bglt;

typedef struct BgL_appzd2lyzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_funz00;
   struct BgL_nodez00_bgl * BgL_argz00;
} *BgL_appzd2lyzd2_bglt;

typedef struct BgL_funcallz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_funz00;
   obj_t BgL_argsz00;
   obj_t BgL_strengthz00;
} *BgL_funcallz00_bglt;

typedef struct BgL_externz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
} *BgL_externz00_bglt;

typedef struct BgL_pragmaz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_formatz00;
} *BgL_pragmaz00_bglt;

typedef struct BgL_getfieldz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_fnamez00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_getfieldz00_bglt;

typedef struct BgL_setfieldz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_fnamez00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_setfieldz00_bglt;

typedef struct BgL_newz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
} *BgL_newz00_bglt;

typedef struct BgL_vallocz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2heapzd2formatz00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_vallocz00_bglt;

typedef struct BgL_vrefz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vrefz00_bglt;

typedef struct BgL_vsetz12z12_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vsetz12z12_bglt;

typedef struct BgL_vlengthz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vlengthz00_bglt;

typedef struct BgL_isaz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   struct BgL_typez00_bgl * BgL_classz00;
} *BgL_isaz00_bglt;

typedef struct BgL_castz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_argz00;
} *BgL_castz00_bglt;

typedef struct BgL_setqz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_setqz00_bglt;

typedef struct BgL_conditionalz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_testz00;
   struct BgL_nodez00_bgl * BgL_truez00;
   struct BgL_nodez00_bgl * BgL_falsez00;
} *BgL_conditionalz00_bglt;

typedef struct BgL_failz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_procz00;
   struct BgL_nodez00_bgl * BgL_msgz00;
   struct BgL_nodez00_bgl * BgL_objz00;
} *BgL_failz00_bglt;

typedef struct BgL_selectz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_testz00;
   obj_t BgL_clausesz00;
   struct BgL_typez00_bgl * BgL_itemzd2typezd2;
} *BgL_selectz00_bglt;

typedef struct BgL_letzd2funzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_localsz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
} *BgL_letzd2funzd2_bglt;

typedef struct BgL_letzd2varzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_bindingsz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
   bool_t BgL_removablezf3zf3;
} *BgL_letzd2varzd2_bglt;

typedef struct BgL_setzd2exzd2itz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
} *BgL_setzd2exzd2itz00_bglt;

typedef struct BgL_jumpzd2exzd2itz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_exitz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_jumpzd2exzd2itz00_bglt;

typedef struct BgL_makezd2boxzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_makezd2boxzd2_bglt;

typedef struct BgL_boxzd2refzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_varz00_bgl * BgL_varz00;
} *BgL_boxzd2refzd2_bglt;

typedef struct BgL_boxzd2setz12zc0_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_boxzd2setz12zc0_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;


static obj_t BGl_czd2allocatezd2indexedzd2slotzd2zzobject_toolsz00(BgL_typez00_bglt, obj_t);
static obj_t BGl_methodzd2initzd2zzobject_toolsz00();
static obj_t BGl__makezd2pragmazd2directzd2setz12zf2widening4011z32zzobject_toolsz00(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t open_input_string(obj_t);
BGL_EXPORTED_DECL obj_t BGl_makezd2pragmazd2directzd2setz12zc0zzobject_toolsz00(BgL_typez00_bglt, BgL_slotz00_bglt, obj_t, obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_makezd2pragmazd2indexedzd2setz12zc0zzobject_toolsz00(BgL_typez00_bglt, BgL_slotz00_bglt, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_superzd2ze3classzd2idze3zzobject_toolsz00(obj_t, obj_t);
static obj_t BGl_makezd2pragmazd2directzd2refzd2zzobject_toolsz00(BgL_typez00_bglt, BgL_slotz00_bglt, obj_t);
extern obj_t BGl_za2targetzd2languageza2zd2zzengine_paramz00;
BGL_EXPORTED_DECL obj_t BGl_makezd2pragmazd2indexedzd2initzd2setz12z12zzobject_toolsz00(BgL_typez00_bglt, BgL_slotz00_bglt, obj_t, obj_t);
extern obj_t BGl_za2usezd2privatezf3za2z21zzengine_paramz00;
extern bool_t BGl_widezd2classzf3z21zzobject_classz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_makezd2pragmazd2indexedzd2refzf2wideningz20zzobject_toolsz00(BgL_typez00_bglt, BgL_slotz00_bglt, obj_t, obj_t, obj_t);
static obj_t BGl__makezd2pragmazd2indexedzd2initzd2setz124015z12zzobject_toolsz00(obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_classzd2ze3objzd2idze3zzobject_toolsz00(obj_t);
static obj_t BGl_cnstzd2initzd2zzobject_toolsz00();
BGL_EXPORTED_DECL obj_t BGl_objzd2ze3classzd2idze3zzobject_toolsz00(obj_t);
BGL_IMPORT obj_t BGl_stringzd2appendzd2zz__r4_strings_6_7z00(obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zzobject_toolsz00();
static obj_t BGl__makezd2pragmazd2directzd2setz124009zc0zzobject_toolsz00(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl__makezd2pragmazd2directzd2refzf2widening4007z20zzobject_toolsz00(obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_makezd2typedzd2identz00zzast_identz00(obj_t, obj_t);
extern obj_t BGl_stringzd2sanszd2z42z42zztype_toolsz00(obj_t);
extern obj_t BGl_sawzd2widezd2classzd2idzd2zzobject_classz00(obj_t);
BGL_IMPORT obj_t string_append_3(obj_t, obj_t, obj_t);
static obj_t BGl__superzd2ze3classzd2id4005ze3zzobject_toolsz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzobject_toolsz00(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_cachez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_toolsz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_privatez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_identz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_classz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_slotsz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(long, char *);
static obj_t BGl__classzd2ze3superzd2id4003ze3zzobject_toolsz00(obj_t, obj_t, obj_t);
extern BgL_typez00_bglt BGl_findzd2typezd2zztype_envz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_classzd2ze3superzd2idze3zzobject_toolsz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_classzf3zd2idz21zzobject_toolsz00(obj_t);
extern obj_t BGl_za2intza2z00zztype_cachez00;
BGL_EXPORTED_DECL obj_t BGl_makezd2pragmazd2directzd2setz12zf2wideningz32zzobject_toolsz00(BgL_typez00_bglt, BgL_slotz00_bglt, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_memvz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_makezd2pragmazd2indexedzd2setz12zf2wideningz32zzobject_toolsz00(BgL_typez00_bglt, BgL_slotz00_bglt, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_za2sawza2z00zzengine_paramz00;
extern obj_t BGl_internalzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t);
static obj_t BGl_realzd2slotzd2classzd2ownerzd2zzobject_toolsz00(BgL_slotz00_bglt);
static obj_t BGl_jvmzd2allocatezd2indexedzd2slotzd2zzobject_toolsz00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(obj_t);
static obj_t BGl__classzd2ze3objzd2id3997ze3zzobject_toolsz00(obj_t, obj_t);
static obj_t BGl__makezd2pragmazd2indexedzd2setz124017zc0zzobject_toolsz00(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl__makezd2pragmazd2indexedzd2refzf2widening4013z20zzobject_toolsz00(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_makezd2privatezd2sexpz00zzast_privatez00(obj_t, obj_t, obj_t);
static obj_t BGl__makezd2pragmazd2indexedzd2setz12zf2widening4019z32zzobject_toolsz00(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl__classzf3zd2id4001z21zzobject_toolsz00(obj_t, obj_t);
static obj_t BGl__objzd2ze3classzd2id3999ze3zzobject_toolsz00(obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzobject_toolsz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_makezd2pragmazd2directzd2refzf2wideningz20zzobject_toolsz00(BgL_typez00_bglt, BgL_slotz00_bglt, obj_t, obj_t);
extern obj_t BGl_typezd2classzd2namez00zzobject_classz00(BgL_typez00_bglt);
BGL_IMPORT bool_t BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(obj_t, obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzobject_toolsz00();
static obj_t BGl_makezd2pragmazd2indexedzd2refzd2zzobject_toolsz00(BgL_typez00_bglt, BgL_slotz00_bglt, obj_t, obj_t);
static obj_t __cnst[ 20 ] ;


DEFINE_EXPORT_PROCEDURE( BGl_makezd2pragmazd2directzd2refzf2wideningzd2envzf2zzobject_toolsz00, BgL_bgl__makeza7d2pragmaza7d2directza7d2refza7f2widening4007za720za7za7object_toolsza7004142z00, BGl__makezd2pragmazd2directzd2refzf2widening4007z20zzobject_toolsz00, 0L, 4 );
DEFINE_EXPORT_PROCEDURE( BGl_makezd2pragmazd2directzd2setz12zd2envz12zzobject_toolsz00, BgL_bgl__makeza7d2pragmaza7d2directza7d2setza7124009za7c0za7za7object_toolsza7004143z00, BGl__makezd2pragmazd2directzd2setz124009zc0zzobject_toolsz00, 0L, 4 );
DEFINE_EXPORT_PROCEDURE( BGl_makezd2pragmazd2directzd2setz12zf2wideningzd2envze0zzobject_toolsz00, BgL_bgl__makeza7d2pragmaza7d2directza7d2setza712za7f2widening4011za732za7za7object_toolsza7004144za7, BGl__makezd2pragmazd2directzd2setz12zf2widening4011z32zzobject_toolsz00, 0L, 5 );
DEFINE_EXPORT_PROCEDURE( BGl_makezd2pragmazd2indexedzd2initzd2setz12zd2envzc0zzobject_toolsz00, BgL_bgl__makeza7d2pragmaza7d2indexedza7d2initza7d2setza7124015za712za7za7object_toolsza7004145za7, BGl__makezd2pragmazd2indexedzd2initzd2setz124015z12zzobject_toolsz00, 0L, 4 );
DEFINE_EXPORT_PROCEDURE( BGl_objzd2ze3classzd2idzd2envz31zzobject_toolsz00, BgL_bgl__objza7d2za7e3classza7d2id3999za7e3za7za7object_toolsza7004146za7, BGl__objzd2ze3classzd2id3999ze3zzobject_toolsz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_classzd2ze3objzd2idzd2envz31zzobject_toolsz00, BgL_bgl__classza7d2za7e3objza7d2id3997za7e3za7za7object_toolsza7004147za7, BGl__classzd2ze3objzd2id3997ze3zzobject_toolsz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_superzd2ze3classzd2idzd2envz31zzobject_toolsz00, BgL_bgl__superza7d2za7e3classza7d2id4005za7e3za7za7object_toolsza7004148za7, BGl__superzd2ze3classzd2id4005ze3zzobject_toolsz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_makezd2pragmazd2indexedzd2setz12zd2envz12zzobject_toolsz00, BgL_bgl__makeza7d2pragmaza7d2indexedza7d2setza7124017za7c0za7za7object_toolsza7004149z00, BGl__makezd2pragmazd2indexedzd2setz124017zc0zzobject_toolsz00, 0L, 5 );
DEFINE_EXPORT_PROCEDURE( BGl_classzd2ze3superzd2idzd2envz31zzobject_toolsz00, BgL_bgl__classza7d2za7e3superza7d2id4003za7e3za7za7object_toolsza7004150za7, BGl__classzd2ze3superzd2id4003ze3zzobject_toolsz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_makezd2pragmazd2indexedzd2setz12zf2wideningzd2envze0zzobject_toolsz00, BgL_bgl__makeza7d2pragmaza7d2indexedza7d2setza712za7f2widening4019za732za7za7object_toolsza7004151za7, BGl__makezd2pragmazd2indexedzd2setz12zf2widening4019z32zzobject_toolsz00, 0L, 6 );
DEFINE_EXPORT_PROCEDURE( BGl_makezd2pragmazd2indexedzd2refzf2wideningzd2envzf2zzobject_toolsz00, BgL_bgl__makeza7d2pragmaza7d2indexedza7d2refza7f2widening4013za720za7za7object_toolsza7004152z00, BGl__makezd2pragmazd2indexedzd2refzf2widening4013z20zzobject_toolsz00, 0L, 5 );
DEFINE_STRING( BGl_string4113z00zzobject_toolsz00, BgL_bgl_string4113za700za7za7object_toolsza7004153z00, "vset! pragma::obj valloc vref (jvm .net) free-pragma c write pragma/effect::obj setfield object-widening - read effect free-pragma/effect getfield -> ? obj-> ->obj ", 164 );
DEFINE_STRING( BGl_string4112z00zzobject_toolsz00, BgL_bgl_string4112za700za7za7object_toolsza7004154z00, "make-private-indexed-set!", 25 );
DEFINE_STRING( BGl_string4111z00zzobject_toolsz00, BgL_bgl_string4111za700za7za7object_toolsza7004155z00, ")[ $2 ] = ((", 12 );
DEFINE_STRING( BGl_string4110z00zzobject_toolsz00, BgL_bgl_string4110za700za7za7object_toolsza7004156z00, ")$3), BUNSPEC)", 14 );
DEFINE_STRING( BGl_string4109z00zzobject_toolsz00, BgL_bgl_string4109za700za7za7object_toolsza7004157z00, "Illegal target language", 23 );
DEFINE_STRING( BGl_string4099z00zzobject_toolsz00, BgL_bgl_string4099za700za7za7object_toolsza7004158z00, "(((", 3 );
DEFINE_STRING( BGl_string4108z00zzobject_toolsz00, BgL_bgl_string4108za700za7za7object_toolsza7004159z00, "make-pragma-indexed-init", 24 );
DEFINE_STRING( BGl_string4098z00zzobject_toolsz00, BgL_bgl_string4098za700za7za7object_toolsza7004160z00, ")CREF($1))->", 12 );
DEFINE_STRING( BGl_string4107z00zzobject_toolsz00, BgL_bgl_string4107za700za7za7object_toolsza7004161z00, " *)$2), BUNSPEC)", 16 );
DEFINE_STRING( BGl_string4097z00zzobject_toolsz00, BgL_bgl_string4097za700za7za7object_toolsza7004162z00, ")", 1 );
DEFINE_STRING( BGl_string4106z00zzobject_toolsz00, BgL_bgl_string4106za700za7za7object_toolsza7004163z00, ") * $1 )", 8 );
DEFINE_STRING( BGl_string4105z00zzobject_toolsz00, BgL_bgl_string4105za700za7za7object_toolsza7004164z00, "GC_MALLOC( sizeof(", 18 );
DEFINE_STRING( BGl_string4104z00zzobject_toolsz00, BgL_bgl_string4104za700za7za7object_toolsza7004165z00, "", 0 );
DEFINE_STRING( BGl_string4103z00zzobject_toolsz00, BgL_bgl_string4103za700za7za7object_toolsza7004166z00, ")[ $2 ]", 7 );
DEFINE_STRING( BGl_string4102z00zzobject_toolsz00, BgL_bgl_string4102za700za7za7object_toolsza7004167z00, "((((", 4 );
DEFINE_STRING( BGl_string4101z00zzobject_toolsz00, BgL_bgl_string4101za700za7za7object_toolsza7004168z00, ") = ((", 6 );
DEFINE_STRING( BGl_string4100z00zzobject_toolsz00, BgL_bgl_string4100za700za7za7object_toolsza7004169z00, ")$2), BUNSPEC)", 14 );
DEFINE_EXPORT_PROCEDURE( BGl_classzf3zd2idzd2envzf3zzobject_toolsz00, BgL_bgl__classza7f3za7d2id4001za721za7za7object_toolsza7004170z00, BGl__classzf3zd2id4001z21zzobject_toolsz00, 0L, 1 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzobject_toolsz00(long BgL_checksumz00_1576, char * BgL_fromz00_1577)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzobject_toolsz00))
{ 
BGl_requirezd2initializa7ationz75zzobject_toolsz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzobject_toolsz00(); 
BGl_cnstzd2initzd2zzobject_toolsz00(); 
BGl_importedzd2moduleszd2initz00zzobject_toolsz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzobject_toolsz00()
{ AN_OBJECT;
{ /* ./Object/tools.scm 15 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "object_tools"); 
BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(((long)0), "object_tools"); 
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "object_tools"); 
BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(((long)0), "object_tools"); 
BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(((long)0), "object_tools"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzobject_toolsz00()
{ AN_OBJECT;
{ /* ./Object/tools.scm 15 */
{ /* ./Object/tools.scm 15 */
obj_t BgL_cportz00_1569;
BgL_cportz00_1569 = 
open_input_string(BGl_string4113z00zzobject_toolsz00); 
{ 
long BgL_iz00_1570;
BgL_iz00_1570 = ((long)19); 
BgL_loopz00_1571:
{ /* ./Object/tools.scm 15 */
bool_t BgL_test4115z00_1572;
BgL_test4115z00_1572 = 
(BgL_iz00_1570==((long)-1)); 
if(BgL_test4115z00_1572)
{ /* ./Object/tools.scm 15 */
return BUNSPEC;}  else 
{ /* ./Object/tools.scm 15 */
{ /* ./Object/tools.scm 15 */
obj_t BgL_arg4118z00_1573;
{ /* ./Object/tools.scm 15 */
obj_t BgL_list4121z00_1574;
BgL_list4121z00_1574 = 
MAKE_PAIR(BgL_cportz00_1569, BNIL); 
BgL_arg4118z00_1573 = 
BGl_readz00zz__readerz00(BgL_list4121z00_1574); } 
{ /* ./Object/tools.scm 15 */
int BgL_auxz00_1594;
BgL_auxz00_1594 = 
(int)(BgL_iz00_1570); 
CNST_TABLE_SET(BgL_auxz00_1594, BgL_arg4118z00_1573); } } 
{ /* ./Object/tools.scm 15 */
int BgL_auxz00_1575;
{ /* ./Object/tools.scm 15 */
long BgL_auxz00_1597;
BgL_auxz00_1597 = 
(BgL_iz00_1570-((long)1)); 
BgL_auxz00_1575 = 
(int)(BgL_auxz00_1597); } 
{ 
long BgL_iz00_1600;
BgL_iz00_1600 = 
(long)(BgL_auxz00_1575); 
BgL_iz00_1570 = BgL_iz00_1600; 
goto BgL_loopz00_1571;} } } } } } } 
}



/* class->obj-id */
BGL_EXPORTED_DEF obj_t BGl_classzd2ze3objzd2idze3zzobject_toolsz00(obj_t BgL_idz00_1)
{ AN_OBJECT;
{ /* ./Object/tools.scm 45 */
{ /* ./Object/tools.scm 46 */
obj_t BgL_list2973z00_793;
{ /* ./Object/tools.scm 46 */
obj_t BgL_arg2975z00_794;
{ /* ./Object/tools.scm 46 */
obj_t BgL_auxz00_1602;
BgL_auxz00_1602 = 
CNST_TABLE_REF(((long)0)); 
BgL_arg2975z00_794 = 
MAKE_PAIR(BgL_auxz00_1602, BNIL); } 
BgL_list2973z00_793 = 
MAKE_PAIR(BgL_idz00_1, BgL_arg2975z00_794); } 
return 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2973z00_793);} } 
}



/* _class->obj-id3997 */
obj_t BGl__classzd2ze3objzd2id3997ze3zzobject_toolsz00(obj_t BgL_envz00_1517, obj_t BgL_idz00_1518)
{ AN_OBJECT;
{ /* ./Object/tools.scm 45 */
return 
BGl_classzd2ze3objzd2idze3zzobject_toolsz00(BgL_idz00_1518);} 
}



/* obj->class-id */
BGL_EXPORTED_DEF obj_t BGl_objzd2ze3classzd2idze3zzobject_toolsz00(obj_t BgL_idz00_2)
{ AN_OBJECT;
{ /* ./Object/tools.scm 51 */
{ /* ./Object/tools.scm 52 */
obj_t BgL_list2979z00_795;
{ /* ./Object/tools.scm 52 */
obj_t BgL_arg2981z00_796;obj_t BgL_arg2982z00_797;
BgL_arg2981z00_796 = 
CNST_TABLE_REF(((long)1)); 
BgL_arg2982z00_797 = 
MAKE_PAIR(BgL_idz00_2, BNIL); 
BgL_list2979z00_795 = 
MAKE_PAIR(BgL_arg2981z00_796, BgL_arg2982z00_797); } 
return 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2979z00_795);} } 
}



/* _obj->class-id3999 */
obj_t BGl__objzd2ze3classzd2id3999ze3zzobject_toolsz00(obj_t BgL_envz00_1519, obj_t BgL_idz00_1520)
{ AN_OBJECT;
{ /* ./Object/tools.scm 51 */
return 
BGl_objzd2ze3classzd2idze3zzobject_toolsz00(BgL_idz00_1520);} 
}



/* class?-id */
BGL_EXPORTED_DEF obj_t BGl_classzf3zd2idz21zzobject_toolsz00(obj_t BgL_idz00_3)
{ AN_OBJECT;
{ /* ./Object/tools.scm 57 */
{ /* ./Object/tools.scm 58 */
obj_t BgL_list2986z00_798;
{ /* ./Object/tools.scm 58 */
obj_t BgL_arg2988z00_799;
{ /* ./Object/tools.scm 58 */
obj_t BgL_auxz00_1613;
BgL_auxz00_1613 = 
CNST_TABLE_REF(((long)2)); 
BgL_arg2988z00_799 = 
MAKE_PAIR(BgL_auxz00_1613, BNIL); } 
BgL_list2986z00_798 = 
MAKE_PAIR(BgL_idz00_3, BgL_arg2988z00_799); } 
return 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2986z00_798);} } 
}



/* _class?-id4001 */
obj_t BGl__classzf3zd2id4001z21zzobject_toolsz00(obj_t BgL_envz00_1521, obj_t BgL_idz00_1522)
{ AN_OBJECT;
{ /* ./Object/tools.scm 57 */
return 
BGl_classzf3zd2idz21zzobject_toolsz00(BgL_idz00_1522);} 
}



/* class->super-id */
BGL_EXPORTED_DEF obj_t BGl_classzd2ze3superzd2idze3zzobject_toolsz00(obj_t BgL_classz00_4, obj_t BgL_superz00_5)
{ AN_OBJECT;
{ /* ./Object/tools.scm 63 */
{ /* ./Object/tools.scm 64 */
obj_t BgL_list2992z00_800;
{ /* ./Object/tools.scm 64 */
obj_t BgL_arg2994z00_801;
{ /* ./Object/tools.scm 64 */
obj_t BgL_arg2997z00_802;obj_t BgL_arg2998z00_803;
BgL_arg2997z00_802 = 
CNST_TABLE_REF(((long)3)); 
BgL_arg2998z00_803 = 
MAKE_PAIR(BgL_superz00_5, BNIL); 
BgL_arg2994z00_801 = 
MAKE_PAIR(BgL_arg2997z00_802, BgL_arg2998z00_803); } 
BgL_list2992z00_800 = 
MAKE_PAIR(BgL_classz00_4, BgL_arg2994z00_801); } 
return 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2992z00_800);} } 
}



/* _class->super-id4003 */
obj_t BGl__classzd2ze3superzd2id4003ze3zzobject_toolsz00(obj_t BgL_envz00_1523, obj_t BgL_classz00_1524, obj_t BgL_superz00_1525)
{ AN_OBJECT;
{ /* ./Object/tools.scm 63 */
return 
BGl_classzd2ze3superzd2idze3zzobject_toolsz00(BgL_classz00_1524, BgL_superz00_1525);} 
}



/* super->class-id */
BGL_EXPORTED_DEF obj_t BGl_superzd2ze3classzd2idze3zzobject_toolsz00(obj_t BgL_superz00_6, obj_t BgL_classz00_7)
{ AN_OBJECT;
{ /* ./Object/tools.scm 69 */
{ /* ./Object/tools.scm 70 */
obj_t BgL_list3002z00_804;
{ /* ./Object/tools.scm 70 */
obj_t BgL_arg3004z00_805;
{ /* ./Object/tools.scm 70 */
obj_t BgL_arg3007z00_806;obj_t BgL_arg3008z00_807;
BgL_arg3007z00_806 = 
CNST_TABLE_REF(((long)3)); 
BgL_arg3008z00_807 = 
MAKE_PAIR(BgL_classz00_7, BNIL); 
BgL_arg3004z00_805 = 
MAKE_PAIR(BgL_arg3007z00_806, BgL_arg3008z00_807); } 
BgL_list3002z00_804 = 
MAKE_PAIR(BgL_superz00_6, BgL_arg3004z00_805); } 
return 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list3002z00_804);} } 
}



/* _super->class-id4005 */
obj_t BGl__superzd2ze3classzd2id4005ze3zzobject_toolsz00(obj_t BgL_envz00_1526, obj_t BgL_superz00_1527, obj_t BgL_classz00_1528)
{ AN_OBJECT;
{ /* ./Object/tools.scm 69 */
return 
BGl_superzd2ze3classzd2idze3zzobject_toolsz00(BgL_superz00_1527, BgL_classz00_1528);} 
}



/* make-pragma-direct-ref */
obj_t BGl_makezd2pragmazd2directzd2refzd2zzobject_toolsz00(BgL_typez00_bglt BgL_typez00_8, BgL_slotz00_bglt BgL_slotz00_9, obj_t BgL_objz00_10)
{ AN_OBJECT;
{ /* ./Object/tools.scm 75 */
if(
CBOOL(BGl_za2usezd2privatezf3za2z21zzengine_paramz00))
{ /* ./Object/tools.scm 77 */
obj_t BgL_arg3012z00_808;obj_t BgL_arg3013z00_809;obj_t BgL_arg3014z00_810;obj_t BgL_arg3015z00_811;
BgL_arg3012z00_808 = 
CNST_TABLE_REF(((long)4)); 
{ /* ./Object/tools.scm 78 */
BgL_typez00_bglt BgL_obj1003z00_1454;
{ /* ./Object/tools.scm 78 */
obj_t BgL_auxz00_1634;
BgL_auxz00_1634 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_9))->BgL_typez00); 
BgL_obj1003z00_1454 = 
(BgL_typez00_bglt)(BgL_auxz00_1634); } 
BgL_arg3013z00_809 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1454))->BgL_idz00); } 
{ /* ./Object/tools.scm 79 */
obj_t BgL_arg3030z00_816;
BgL_arg3030z00_816 = 
BGl_realzd2slotzd2classzd2ownerzd2zzobject_toolsz00(BgL_slotz00_9); 
{ /* ./Object/tools.scm 79 */
BgL_typez00_bglt BgL_obj1003z00_1455;
BgL_obj1003z00_1455 = 
(BgL_typez00_bglt)(BgL_arg3030z00_816); 
BgL_arg3014z00_810 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1455))->BgL_idz00); } } 
BgL_arg3015z00_811 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_9))->BgL_namez00); 
{ /* ./Object/tools.scm 77 */
obj_t BgL_list3017z00_812;
{ /* ./Object/tools.scm 77 */
obj_t BgL_arg3019z00_813;
{ /* ./Object/tools.scm 77 */
obj_t BgL_arg3022z00_814;
BgL_arg3022z00_814 = 
MAKE_PAIR(BgL_objz00_10, BNIL); 
BgL_arg3019z00_813 = 
MAKE_PAIR(BgL_arg3015z00_811, BgL_arg3022z00_814); } 
BgL_list3017z00_812 = 
MAKE_PAIR(BgL_arg3014z00_810, BgL_arg3019z00_813); } 
return 
BGl_makezd2privatezd2sexpz00zzast_privatez00(BgL_arg3012z00_808, BgL_arg3013z00_809, BgL_list3017z00_812);} }  else 
{ /* ./Object/tools.scm 81 */
obj_t BgL_arg3035z00_817;obj_t BgL_arg3036z00_818;
{ /* ./Object/tools.scm 81 */
obj_t BgL_arg3039z00_819;obj_t BgL_arg3040z00_820;
BgL_arg3039z00_819 = 
CNST_TABLE_REF(((long)5)); 
{ /* ./Object/tools.scm 81 */
BgL_typez00_bglt BgL_obj1003z00_1458;
{ /* ./Object/tools.scm 81 */
obj_t BgL_auxz00_1647;
BgL_auxz00_1647 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_9))->BgL_typez00); 
BgL_obj1003z00_1458 = 
(BgL_typez00_bglt)(BgL_auxz00_1647); } 
BgL_arg3040z00_820 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1458))->BgL_idz00); } 
BgL_arg3035z00_817 = 
BGl_makezd2typedzd2identz00zzast_identz00(BgL_arg3039z00_819, BgL_arg3040z00_820); } 
{ /* ./Object/tools.scm 82 */
obj_t BgL_arg3047z00_822;obj_t BgL_arg3048z00_823;
{ /* ./Object/tools.scm 82 */
obj_t BgL_arg3051z00_824;obj_t BgL_arg3052z00_825;
BgL_arg3051z00_824 = 
CNST_TABLE_REF(((long)6)); 
{ /* ./Object/tools.scm 82 */
obj_t BgL_arg3055z00_826;
{ /* ./Object/tools.scm 82 */
obj_t BgL_arg3059z00_828;obj_t BgL_arg3061z00_829;
BgL_arg3059z00_828 = 
CNST_TABLE_REF(((long)7)); 
{ /* ./Object/tools.scm 82 */
obj_t BgL_arg3064z00_830;
{ /* ./Object/tools.scm 82 */
obj_t BgL_arg3068z00_832;
{ /* ./Object/tools.scm 82 */
obj_t BgL_arg3072z00_834;obj_t BgL_arg3073z00_835;obj_t BgL_arg3074z00_836;
BgL_arg3072z00_834 = 
(((BgL_typez00_bglt)CREF(BgL_typez00_8))->BgL_idz00); 
BgL_arg3073z00_835 = 
CNST_TABLE_REF(((long)8)); 
BgL_arg3074z00_836 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_9))->BgL_idz00); 
{ /* ./Object/tools.scm 82 */
obj_t BgL_list3076z00_837;
{ /* ./Object/tools.scm 82 */
obj_t BgL_arg3078z00_838;
{ /* ./Object/tools.scm 82 */
obj_t BgL_arg3081z00_839;
BgL_arg3081z00_839 = 
MAKE_PAIR(BgL_arg3074z00_836, BNIL); 
BgL_arg3078z00_838 = 
MAKE_PAIR(BgL_arg3073z00_835, BgL_arg3081z00_839); } 
BgL_list3076z00_837 = 
MAKE_PAIR(BgL_arg3072z00_834, BgL_arg3078z00_838); } 
BgL_arg3068z00_832 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list3076z00_837); } } 
BgL_arg3064z00_830 = 
MAKE_PAIR(BgL_arg3068z00_832, BNIL); } 
BgL_arg3061z00_829 = 
MAKE_PAIR(BgL_arg3064z00_830, BNIL); } 
BgL_arg3055z00_826 = 
MAKE_PAIR(BgL_arg3059z00_828, BgL_arg3061z00_829); } 
BgL_arg3052z00_825 = 
MAKE_PAIR(BgL_arg3055z00_826, BNIL); } 
BgL_arg3047z00_822 = 
MAKE_PAIR(BgL_arg3051z00_824, BgL_arg3052z00_825); } 
{ /* ./Object/tools.scm 83 */
obj_t BgL_arg3087z00_840;obj_t BgL_arg3088z00_841;
{ /* ./Object/tools.scm 83 */
obj_t BgL_arg3092z00_843;obj_t BgL_arg3095z00_845;
BgL_arg3092z00_843 = 
BGl_typezd2classzd2namez00zzobject_classz00(BgL_typez00_8); 
BgL_arg3095z00_845 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_9))->BgL_namez00); 
{ /* ./Object/tools.scm 83 */
obj_t BgL_list3098z00_847;
{ /* ./Object/tools.scm 83 */
obj_t BgL_arg3100z00_848;
{ /* ./Object/tools.scm 83 */
obj_t BgL_arg3103z00_849;
{ /* ./Object/tools.scm 83 */
obj_t BgL_arg3106z00_850;
{ /* ./Object/tools.scm 83 */
obj_t BgL_arg3109z00_851;
BgL_arg3109z00_851 = 
MAKE_PAIR(BGl_string4097z00zzobject_toolsz00, BNIL); 
BgL_arg3106z00_850 = 
MAKE_PAIR(BgL_arg3095z00_845, BgL_arg3109z00_851); } 
BgL_arg3103z00_849 = 
MAKE_PAIR(BGl_string4098z00zzobject_toolsz00, BgL_arg3106z00_850); } 
BgL_arg3100z00_848 = 
MAKE_PAIR(BgL_arg3092z00_843, BgL_arg3103z00_849); } 
BgL_list3098z00_847 = 
MAKE_PAIR(BGl_string4099z00zzobject_toolsz00, BgL_arg3100z00_848); } 
BgL_arg3087z00_840 = 
BGl_stringzd2appendzd2zz__r4_strings_6_7z00(BgL_list3098z00_847); } } 
BgL_arg3088z00_841 = 
MAKE_PAIR(BgL_objz00_10, BNIL); 
BgL_arg3048z00_823 = 
MAKE_PAIR(BgL_arg3087z00_840, BgL_arg3088z00_841); } 
BgL_arg3036z00_818 = 
MAKE_PAIR(BgL_arg3047z00_822, BgL_arg3048z00_823); } 
return 
MAKE_PAIR(BgL_arg3035z00_817, BgL_arg3036z00_818);} } 
}



/* make-pragma-direct-ref/widening */
BGL_EXPORTED_DEF obj_t BGl_makezd2pragmazd2directzd2refzf2wideningz20zzobject_toolsz00(BgL_typez00_bglt BgL_typez00_11, BgL_slotz00_bglt BgL_slotz00_12, obj_t BgL_objz00_13, obj_t BgL_wideningz00_14)
{ AN_OBJECT;
{ /* ./Object/tools.scm 90 */
if(
CBOOL(BgL_wideningz00_14))
{ /* ./Object/tools.scm 93 */
obj_t BgL_arg3116z00_1462;
{ /* ./Object/tools.scm 93 */
obj_t BgL_arg3119z00_1463;obj_t BgL_arg3120z00_1464;
BgL_arg3119z00_1463 = 
CNST_TABLE_REF(((long)9)); 
BgL_arg3120z00_1464 = 
MAKE_PAIR(BgL_objz00_13, BNIL); 
BgL_arg3116z00_1462 = 
MAKE_PAIR(BgL_arg3119z00_1463, BgL_arg3120z00_1464); } 
return 
BGl_makezd2pragmazd2directzd2refzd2zzobject_toolsz00(BgL_typez00_11, BgL_slotz00_12, BgL_arg3116z00_1462);}  else 
{ /* ./Object/tools.scm 91 */
return 
BGl_makezd2pragmazd2directzd2refzd2zzobject_toolsz00(BgL_typez00_11, BgL_slotz00_12, BgL_objz00_13);} } 
}



/* _make-pragma-direct-ref/widening4007 */
obj_t BGl__makezd2pragmazd2directzd2refzf2widening4007z20zzobject_toolsz00(obj_t BgL_envz00_1529, obj_t BgL_typez00_1530, obj_t BgL_slotz00_1531, obj_t BgL_objz00_1532, obj_t BgL_wideningz00_1533)
{ AN_OBJECT;
{ /* ./Object/tools.scm 90 */
return 
BGl_makezd2pragmazd2directzd2refzf2wideningz20zzobject_toolsz00(
(BgL_typez00_bglt)(BgL_typez00_1530), 
(BgL_slotz00_bglt)(BgL_slotz00_1531), BgL_objz00_1532, BgL_wideningz00_1533);} 
}



/* make-pragma-direct-set! */
BGL_EXPORTED_DEF obj_t BGl_makezd2pragmazd2directzd2setz12zc0zzobject_toolsz00(BgL_typez00_bglt BgL_typez00_15, BgL_slotz00_bglt BgL_slotz00_16, obj_t BgL_objz00_17, obj_t BgL_valz00_18)
{ AN_OBJECT;
{ /* ./Object/tools.scm 98 */
if(
CBOOL(BGl_za2usezd2privatezf3za2z21zzengine_paramz00))
{ /* ./Object/tools.scm 100 */
obj_t BgL_arg3125z00_855;obj_t BgL_arg3126z00_856;obj_t BgL_arg3128z00_857;obj_t BgL_arg3129z00_858;
BgL_arg3125z00_855 = 
CNST_TABLE_REF(((long)10)); 
{ /* ./Object/tools.scm 101 */
BgL_typez00_bglt BgL_obj1003z00_1466;
{ /* ./Object/tools.scm 101 */
obj_t BgL_auxz00_1691;
BgL_auxz00_1691 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_16))->BgL_typez00); 
BgL_obj1003z00_1466 = 
(BgL_typez00_bglt)(BgL_auxz00_1691); } 
BgL_arg3126z00_856 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1466))->BgL_idz00); } 
{ /* ./Object/tools.scm 102 */
obj_t BgL_arg3147z00_864;
BgL_arg3147z00_864 = 
BGl_realzd2slotzd2classzd2ownerzd2zzobject_toolsz00(BgL_slotz00_16); 
{ /* ./Object/tools.scm 102 */
BgL_typez00_bglt BgL_obj1003z00_1467;
BgL_obj1003z00_1467 = 
(BgL_typez00_bglt)(BgL_arg3147z00_864); 
BgL_arg3128z00_857 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1467))->BgL_idz00); } } 
BgL_arg3129z00_858 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_16))->BgL_namez00); 
{ /* ./Object/tools.scm 100 */
obj_t BgL_list3131z00_859;
{ /* ./Object/tools.scm 100 */
obj_t BgL_arg3133z00_860;
{ /* ./Object/tools.scm 100 */
obj_t BgL_arg3136z00_861;
{ /* ./Object/tools.scm 100 */
obj_t BgL_arg3139z00_862;
BgL_arg3139z00_862 = 
MAKE_PAIR(BgL_valz00_18, BNIL); 
BgL_arg3136z00_861 = 
MAKE_PAIR(BgL_objz00_17, BgL_arg3139z00_862); } 
BgL_arg3133z00_860 = 
MAKE_PAIR(BgL_arg3129z00_858, BgL_arg3136z00_861); } 
BgL_list3131z00_859 = 
MAKE_PAIR(BgL_arg3128z00_857, BgL_arg3133z00_860); } 
return 
BGl_makezd2privatezd2sexpz00zzast_privatez00(BgL_arg3125z00_855, BgL_arg3126z00_856, BgL_list3131z00_859);} }  else 
{ /* ./Object/tools.scm 109 */
obj_t BgL_arg3152z00_865;obj_t BgL_arg3153z00_866;
BgL_arg3152z00_865 = 
CNST_TABLE_REF(((long)11)); 
{ /* ./Object/tools.scm 105 */
obj_t BgL_arg3156z00_867;obj_t BgL_arg3157z00_868;
{ /* ./Object/tools.scm 105 */
obj_t BgL_arg3160z00_869;obj_t BgL_arg3161z00_870;
BgL_arg3160z00_869 = 
CNST_TABLE_REF(((long)6)); 
{ /* ./Object/tools.scm 105 */
obj_t BgL_arg3164z00_871;
{ /* ./Object/tools.scm 105 */
obj_t BgL_arg3168z00_873;obj_t BgL_arg3169z00_874;
BgL_arg3168z00_873 = 
CNST_TABLE_REF(((long)12)); 
{ /* ./Object/tools.scm 105 */
obj_t BgL_arg3172z00_875;
{ /* ./Object/tools.scm 105 */
obj_t BgL_arg3176z00_877;
{ /* ./Object/tools.scm 105 */
obj_t BgL_arg3180z00_879;obj_t BgL_arg3181z00_880;obj_t BgL_arg3183z00_881;
BgL_arg3180z00_879 = 
(((BgL_typez00_bglt)CREF(BgL_typez00_15))->BgL_idz00); 
BgL_arg3181z00_880 = 
CNST_TABLE_REF(((long)8)); 
BgL_arg3183z00_881 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_16))->BgL_idz00); 
{ /* ./Object/tools.scm 105 */
obj_t BgL_list3185z00_882;
{ /* ./Object/tools.scm 105 */
obj_t BgL_arg3187z00_883;
{ /* ./Object/tools.scm 105 */
obj_t BgL_arg3190z00_884;
BgL_arg3190z00_884 = 
MAKE_PAIR(BgL_arg3183z00_881, BNIL); 
BgL_arg3187z00_883 = 
MAKE_PAIR(BgL_arg3181z00_880, BgL_arg3190z00_884); } 
BgL_list3185z00_882 = 
MAKE_PAIR(BgL_arg3180z00_879, BgL_arg3187z00_883); } 
BgL_arg3176z00_877 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list3185z00_882); } } 
BgL_arg3172z00_875 = 
MAKE_PAIR(BgL_arg3176z00_877, BNIL); } 
BgL_arg3169z00_874 = 
MAKE_PAIR(BgL_arg3172z00_875, BNIL); } 
BgL_arg3164z00_871 = 
MAKE_PAIR(BgL_arg3168z00_873, BgL_arg3169z00_874); } 
BgL_arg3161z00_870 = 
MAKE_PAIR(BgL_arg3164z00_871, BNIL); } 
BgL_arg3156z00_867 = 
MAKE_PAIR(BgL_arg3160z00_869, BgL_arg3161z00_870); } 
{ /* ./Object/tools.scm 106 */
obj_t BgL_arg3196z00_885;obj_t BgL_arg3197z00_886;
{ /* ./Object/tools.scm 106 */
obj_t BgL_arg3202z00_888;obj_t BgL_arg3204z00_890;obj_t BgL_arg3206z00_892;
BgL_arg3202z00_888 = 
BGl_typezd2classzd2namez00zzobject_classz00(BgL_typez00_15); 
BgL_arg3204z00_890 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_16))->BgL_namez00); 
{ /* ./Object/tools.scm 107 */
obj_t BgL_arg3232z00_901;
BgL_arg3232z00_901 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_16))->BgL_typez00); 
BgL_arg3206z00_892 = 
BGl_typezd2classzd2namez00zzobject_classz00(
(BgL_typez00_bglt)(BgL_arg3232z00_901)); } 
{ /* ./Object/tools.scm 106 */
obj_t BgL_list3209z00_894;
{ /* ./Object/tools.scm 106 */
obj_t BgL_arg3211z00_895;
{ /* ./Object/tools.scm 106 */
obj_t BgL_arg3214z00_896;
{ /* ./Object/tools.scm 106 */
obj_t BgL_arg3217z00_897;
{ /* ./Object/tools.scm 106 */
obj_t BgL_arg3220z00_898;
{ /* ./Object/tools.scm 106 */
obj_t BgL_arg3223z00_899;
{ /* ./Object/tools.scm 106 */
obj_t BgL_arg3226z00_900;
BgL_arg3226z00_900 = 
MAKE_PAIR(BGl_string4100z00zzobject_toolsz00, BNIL); 
BgL_arg3223z00_899 = 
MAKE_PAIR(BgL_arg3206z00_892, BgL_arg3226z00_900); } 
BgL_arg3220z00_898 = 
MAKE_PAIR(BGl_string4101z00zzobject_toolsz00, BgL_arg3223z00_899); } 
BgL_arg3217z00_897 = 
MAKE_PAIR(BgL_arg3204z00_890, BgL_arg3220z00_898); } 
BgL_arg3214z00_896 = 
MAKE_PAIR(BGl_string4098z00zzobject_toolsz00, BgL_arg3217z00_897); } 
BgL_arg3211z00_895 = 
MAKE_PAIR(BgL_arg3202z00_888, BgL_arg3214z00_896); } 
BgL_list3209z00_894 = 
MAKE_PAIR(BGl_string4102z00zzobject_toolsz00, BgL_arg3211z00_895); } 
BgL_arg3196z00_885 = 
BGl_stringzd2appendzd2zz__r4_strings_6_7z00(BgL_list3209z00_894); } } 
{ /* ./Object/tools.scm 104 */
obj_t BgL_arg3236z00_902;
BgL_arg3236z00_902 = 
MAKE_PAIR(BgL_valz00_18, BNIL); 
BgL_arg3197z00_886 = 
MAKE_PAIR(BgL_objz00_17, BgL_arg3236z00_902); } 
BgL_arg3157z00_868 = 
MAKE_PAIR(BgL_arg3196z00_885, BgL_arg3197z00_886); } 
BgL_arg3153z00_866 = 
MAKE_PAIR(BgL_arg3156z00_867, BgL_arg3157z00_868); } 
return 
MAKE_PAIR(BgL_arg3152z00_865, BgL_arg3153z00_866);} } 
}



/* _make-pragma-direct-set!4009 */
obj_t BGl__makezd2pragmazd2directzd2setz124009zc0zzobject_toolsz00(obj_t BgL_envz00_1534, obj_t BgL_typez00_1535, obj_t BgL_slotz00_1536, obj_t BgL_objz00_1537, obj_t BgL_valz00_1538)
{ AN_OBJECT;
{ /* ./Object/tools.scm 98 */
return 
BGl_makezd2pragmazd2directzd2setz12zc0zzobject_toolsz00(
(BgL_typez00_bglt)(BgL_typez00_1535), 
(BgL_slotz00_bglt)(BgL_slotz00_1536), BgL_objz00_1537, BgL_valz00_1538);} 
}



/* make-pragma-direct-set!/widening */
BGL_EXPORTED_DEF obj_t BGl_makezd2pragmazd2directzd2setz12zf2wideningz32zzobject_toolsz00(BgL_typez00_bglt BgL_typez00_19, BgL_slotz00_bglt BgL_slotz00_20, obj_t BgL_objz00_21, obj_t BgL_valz00_22, obj_t BgL_wideningz00_23)
{ AN_OBJECT;
{ /* ./Object/tools.scm 114 */
if(
CBOOL(BgL_wideningz00_23))
{ /* ./Object/tools.scm 117 */
obj_t BgL_arg3240z00_1473;
{ /* ./Object/tools.scm 117 */
obj_t BgL_arg3243z00_1474;obj_t BgL_arg3245z00_1475;
BgL_arg3243z00_1474 = 
CNST_TABLE_REF(((long)9)); 
BgL_arg3245z00_1475 = 
MAKE_PAIR(BgL_objz00_21, BNIL); 
BgL_arg3240z00_1473 = 
MAKE_PAIR(BgL_arg3243z00_1474, BgL_arg3245z00_1475); } 
return 
BGl_makezd2pragmazd2directzd2setz12zc0zzobject_toolsz00(BgL_typez00_19, BgL_slotz00_20, BgL_arg3240z00_1473, BgL_valz00_22);}  else 
{ /* ./Object/tools.scm 115 */
return 
BGl_makezd2pragmazd2directzd2setz12zc0zzobject_toolsz00(BgL_typez00_19, BgL_slotz00_20, BgL_objz00_21, BgL_valz00_22);} } 
}



/* _make-pragma-direct-set!/widening4011 */
obj_t BGl__makezd2pragmazd2directzd2setz12zf2widening4011z32zzobject_toolsz00(obj_t BgL_envz00_1539, obj_t BgL_typez00_1540, obj_t BgL_slotz00_1541, obj_t BgL_objz00_1542, obj_t BgL_valz00_1543, obj_t BgL_wideningz00_1544)
{ AN_OBJECT;
{ /* ./Object/tools.scm 114 */
return 
BGl_makezd2pragmazd2directzd2setz12zf2wideningz32zzobject_toolsz00(
(BgL_typez00_bglt)(BgL_typez00_1540), 
(BgL_slotz00_bglt)(BgL_slotz00_1541), BgL_objz00_1542, BgL_valz00_1543, BgL_wideningz00_1544);} 
}



/* make-pragma-indexed-ref */
obj_t BGl_makezd2pragmazd2indexedzd2refzd2zzobject_toolsz00(BgL_typez00_bglt BgL_typez00_24, BgL_slotz00_bglt BgL_slotz00_25, obj_t BgL_objz00_26, obj_t BgL_indexz00_27)
{ AN_OBJECT;
{ /* ./Object/tools.scm 122 */
{ /* ./Object/tools.scm 123 */
obj_t BgL_casezd2valuezd2_906;
BgL_casezd2valuezd2_906 = BGl_za2targetzd2languageza2zd2zzengine_paramz00; 
{ /* ./Object/tools.scm 123 */
bool_t BgL_test3249z00_907;
BgL_test3249z00_907 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_casezd2valuezd2_906, 
CNST_TABLE_REF(((long)13))); 
if(BgL_test3249z00_907)
{ /* ./Object/tools.scm 125 */
obj_t BgL_arg3251z00_908;obj_t BgL_arg3252z00_909;
{ /* ./Object/tools.scm 125 */
obj_t BgL_arg3255z00_910;obj_t BgL_arg3257z00_911;
BgL_arg3255z00_910 = 
CNST_TABLE_REF(((long)14)); 
{ /* ./Object/tools.scm 125 */
BgL_typez00_bglt BgL_obj1003z00_1477;
{ /* ./Object/tools.scm 125 */
obj_t BgL_auxz00_1754;
BgL_auxz00_1754 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_25))->BgL_typez00); 
BgL_obj1003z00_1477 = 
(BgL_typez00_bglt)(BgL_auxz00_1754); } 
BgL_arg3257z00_911 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1477))->BgL_idz00); } 
BgL_arg3251z00_908 = 
BGl_makezd2typedzd2identz00zzast_identz00(BgL_arg3255z00_910, BgL_arg3257z00_911); } 
{ /* ./Object/tools.scm 126 */
obj_t BgL_arg3264z00_913;obj_t BgL_arg3265z00_914;
{ /* ./Object/tools.scm 126 */
obj_t BgL_arg3269z00_916;obj_t BgL_arg3272z00_918;
BgL_arg3269z00_916 = 
BGl_typezd2classzd2namez00zzobject_classz00(BgL_typez00_24); 
BgL_arg3272z00_918 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_25))->BgL_namez00); 
{ /* ./Object/tools.scm 126 */
obj_t BgL_list3275z00_920;
{ /* ./Object/tools.scm 126 */
obj_t BgL_arg3277z00_921;
{ /* ./Object/tools.scm 126 */
obj_t BgL_arg3280z00_922;
{ /* ./Object/tools.scm 126 */
obj_t BgL_arg3283z00_923;
{ /* ./Object/tools.scm 126 */
obj_t BgL_arg3286z00_924;
BgL_arg3286z00_924 = 
MAKE_PAIR(BGl_string4103z00zzobject_toolsz00, BNIL); 
BgL_arg3283z00_923 = 
MAKE_PAIR(BgL_arg3272z00_918, BgL_arg3286z00_924); } 
BgL_arg3280z00_922 = 
MAKE_PAIR(BGl_string4098z00zzobject_toolsz00, BgL_arg3283z00_923); } 
BgL_arg3277z00_921 = 
MAKE_PAIR(BgL_arg3269z00_916, BgL_arg3280z00_922); } 
BgL_list3275z00_920 = 
MAKE_PAIR(BGl_string4099z00zzobject_toolsz00, BgL_arg3277z00_921); } 
BgL_arg3264z00_913 = 
BGl_stringzd2appendzd2zz__r4_strings_6_7z00(BgL_list3275z00_920); } } 
{ /* ./Object/tools.scm 125 */
obj_t BgL_arg3292z00_925;
BgL_arg3292z00_925 = 
MAKE_PAIR(BgL_indexz00_27, BNIL); 
BgL_arg3265z00_914 = 
MAKE_PAIR(BgL_objz00_26, BgL_arg3292z00_925); } 
BgL_arg3252z00_909 = 
MAKE_PAIR(BgL_arg3264z00_913, BgL_arg3265z00_914); } 
return 
MAKE_PAIR(BgL_arg3251z00_908, BgL_arg3252z00_909);}  else 
{ /* ./Object/tools.scm 123 */
bool_t BgL_test3295z00_926;
{ /* ./Object/tools.scm 123 */
obj_t BgL_auxz00_1771;
BgL_auxz00_1771 = 
BGl_memvz00zz__r4_pairs_and_lists_6_3z00(BgL_casezd2valuezd2_906, 
CNST_TABLE_REF(((long)15))); 
BgL_test3295z00_926 = 
CBOOL(BgL_auxz00_1771); } 
if(BgL_test3295z00_926)
{ /* ./Object/tools.scm 132 */
obj_t BgL_ftypezd2idzd2_928;
{ /* ./Object/tools.scm 132 */
BgL_typez00_bglt BgL_obj1003z00_1480;
{ /* ./Object/tools.scm 132 */
obj_t BgL_auxz00_1776;
BgL_auxz00_1776 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_25))->BgL_indexedz00); 
BgL_obj1003z00_1480 = 
(BgL_typez00_bglt)(BgL_auxz00_1776); } 
BgL_ftypezd2idzd2_928 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1480))->BgL_idz00); } 
{ /* ./Object/tools.scm 132 */
obj_t BgL_fieldz00_929;
{ /* ./Object/tools.scm 133 */
obj_t BgL_arg3322z00_940;obj_t BgL_arg3323z00_941;obj_t BgL_arg3324z00_942;
BgL_arg3322z00_940 = 
CNST_TABLE_REF(((long)4)); 
{ /* ./Object/tools.scm 135 */
BgL_typez00_bglt BgL_obj1003z00_1482;
{ /* ./Object/tools.scm 135 */
obj_t BgL_auxz00_1781;
BgL_auxz00_1781 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_25))->BgL_classzd2ownerzd2); 
BgL_obj1003z00_1482 = 
(BgL_typez00_bglt)(BgL_auxz00_1781); } 
BgL_arg3323z00_941 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1482))->BgL_idz00); } 
BgL_arg3324z00_942 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_25))->BgL_namez00); 
{ /* ./Object/tools.scm 133 */
obj_t BgL_list3326z00_943;
{ /* ./Object/tools.scm 133 */
obj_t BgL_arg3328z00_944;
{ /* ./Object/tools.scm 133 */
obj_t BgL_arg3331z00_945;
BgL_arg3331z00_945 = 
MAKE_PAIR(BgL_objz00_26, BNIL); 
BgL_arg3328z00_944 = 
MAKE_PAIR(BgL_arg3324z00_942, BgL_arg3331z00_945); } 
BgL_list3326z00_943 = 
MAKE_PAIR(BgL_arg3323z00_941, BgL_arg3328z00_944); } 
BgL_fieldz00_929 = 
BGl_makezd2privatezd2sexpz00zzast_privatez00(BgL_arg3322z00_940, BgL_ftypezd2idzd2_928, BgL_list3326z00_943); } } 
{ /* ./Object/tools.scm 133 */

{ /* ./Object/tools.scm 138 */
obj_t BgL_arg3297z00_930;obj_t BgL_arg3298z00_931;obj_t BgL_arg3299z00_932;
BgL_arg3297z00_930 = 
CNST_TABLE_REF(((long)16)); 
{ /* ./Object/tools.scm 140 */
BgL_typez00_bglt BgL_obj1003z00_1485;
{ /* ./Object/tools.scm 140 */
obj_t BgL_auxz00_1791;
BgL_auxz00_1791 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_25))->BgL_typez00); 
BgL_obj1003z00_1485 = 
(BgL_typez00_bglt)(BgL_auxz00_1791); } 
BgL_arg3298z00_931 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1485))->BgL_idz00); } 
{ /* ./Object/tools.scm 141 */
BgL_typez00_bglt BgL_obj1003z00_1486;
BgL_obj1003z00_1486 = 
(BgL_typez00_bglt)(BGl_za2intza2z00zztype_cachez00); 
BgL_arg3299z00_932 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1486))->BgL_idz00); } 
{ /* ./Object/tools.scm 138 */
obj_t BgL_list3302z00_934;
{ /* ./Object/tools.scm 138 */
obj_t BgL_arg3304z00_935;
{ /* ./Object/tools.scm 138 */
obj_t BgL_arg3307z00_936;
{ /* ./Object/tools.scm 138 */
obj_t BgL_arg3310z00_937;
{ /* ./Object/tools.scm 138 */
obj_t BgL_arg3313z00_938;
BgL_arg3313z00_938 = 
MAKE_PAIR(BgL_indexz00_27, BNIL); 
BgL_arg3310z00_937 = 
MAKE_PAIR(BgL_fieldz00_929, BgL_arg3313z00_938); } 
BgL_arg3307z00_936 = 
MAKE_PAIR(BGl_string4104z00zzobject_toolsz00, BgL_arg3310z00_937); } 
BgL_arg3304z00_935 = 
MAKE_PAIR(BgL_arg3299z00_932, BgL_arg3307z00_936); } 
BgL_list3302z00_934 = 
MAKE_PAIR(BgL_arg3298z00_931, BgL_arg3304z00_935); } 
return 
BGl_makezd2privatezd2sexpz00zzast_privatez00(BgL_arg3297z00_930, BgL_ftypezd2idzd2_928, BgL_list3302z00_934);} } } } }  else 
{ /* ./Object/tools.scm 123 */
return BUNSPEC;} } } } } 
}



/* make-pragma-indexed-ref/widening */
BGL_EXPORTED_DEF obj_t BGl_makezd2pragmazd2indexedzd2refzf2wideningz20zzobject_toolsz00(BgL_typez00_bglt BgL_typez00_28, BgL_slotz00_bglt BgL_slotz00_29, obj_t BgL_objz00_30, obj_t BgL_indexz00_31, obj_t BgL_wideningz00_32)
{ AN_OBJECT;
{ /* ./Object/tools.scm 149 */
if(
CBOOL(BgL_wideningz00_32))
{ /* ./Object/tools.scm 152 */
obj_t BgL_arg3346z00_1487;
{ /* ./Object/tools.scm 152 */
obj_t BgL_arg3349z00_1488;obj_t BgL_arg3350z00_1489;
BgL_arg3349z00_1488 = 
CNST_TABLE_REF(((long)9)); 
BgL_arg3350z00_1489 = 
MAKE_PAIR(BgL_objz00_30, BNIL); 
BgL_arg3346z00_1487 = 
MAKE_PAIR(BgL_arg3349z00_1488, BgL_arg3350z00_1489); } 
return 
BGl_makezd2pragmazd2indexedzd2refzd2zzobject_toolsz00(BgL_typez00_28, BgL_slotz00_29, BgL_arg3346z00_1487, BgL_indexz00_31);}  else 
{ /* ./Object/tools.scm 150 */
return 
BGl_makezd2pragmazd2indexedzd2refzd2zzobject_toolsz00(BgL_typez00_28, BgL_slotz00_29, BgL_objz00_30, BgL_indexz00_31);} } 
}



/* _make-pragma-indexed-ref/widening4013 */
obj_t BGl__makezd2pragmazd2indexedzd2refzf2widening4013z20zzobject_toolsz00(obj_t BgL_envz00_1545, obj_t BgL_typez00_1546, obj_t BgL_slotz00_1547, obj_t BgL_objz00_1548, obj_t BgL_indexz00_1549, obj_t BgL_wideningz00_1550)
{ AN_OBJECT;
{ /* ./Object/tools.scm 149 */
return 
BGl_makezd2pragmazd2indexedzd2refzf2wideningz20zzobject_toolsz00(
(BgL_typez00_bglt)(BgL_typez00_1546), 
(BgL_slotz00_bglt)(BgL_slotz00_1547), BgL_objz00_1548, BgL_indexz00_1549, BgL_wideningz00_1550);} 
}



/* c-allocate-indexed-slot */
obj_t BGl_czd2allocatezd2indexedzd2slotzd2zzobject_toolsz00(BgL_typez00_bglt BgL_typez00_33, obj_t BgL_lenz00_34)
{ AN_OBJECT;
{ /* ./Object/tools.scm 157 */
{ /* ./Object/tools.scm 158 */
obj_t BgL_tidz00_951;obj_t BgL_tnamez00_952;obj_t BgL_siza7eofza7_953;
BgL_tidz00_951 = 
(((BgL_typez00_bglt)CREF(BgL_typez00_33))->BgL_idz00); 
{ /* ./Object/tools.scm 159 */
obj_t BgL_arg3368z00_958;
BgL_arg3368z00_958 = 
BGl_typezd2classzd2namez00zzobject_classz00(BgL_typez00_33); 
BgL_tnamez00_952 = 
BGl_stringzd2sanszd2z42z42zztype_toolsz00(BgL_arg3368z00_958); } 
{ /* ./Object/tools.scm 160 */
bool_t BgL_test3371z00_959;
{ /* ./Object/tools.scm 160 */
obj_t BgL_auxz00_1816;
BgL_auxz00_1816 = 
(((BgL_typez00_bglt)CREF(BgL_typez00_33))->BgL_siza7eza7); 
BgL_test3371z00_959 = 
STRINGP(BgL_auxz00_1816); } 
if(BgL_test3371z00_959)
{ /* ./Object/tools.scm 160 */
BgL_siza7eofza7_953 = 
(((BgL_typez00_bglt)CREF(BgL_typez00_33))->BgL_siza7eza7); }  else 
{ /* ./Object/tools.scm 160 */
BgL_siza7eofza7_953 = 
BGl_typezd2classzd2namez00zzobject_classz00(BgL_typez00_33); } } 
{ /* ./Object/tools.scm 163 */
obj_t BgL_arg3355z00_954;obj_t BgL_arg3356z00_955;
BgL_arg3355z00_954 = 
BGl_makezd2typedzd2identz00zzast_identz00(
CNST_TABLE_REF(((long)14)), BgL_tidz00_951); 
{ /* ./Object/tools.scm 164 */
obj_t BgL_arg3360z00_956;obj_t BgL_arg3362z00_957;
BgL_arg3360z00_956 = 
string_append_3(BGl_string4105z00zzobject_toolsz00, BgL_siza7eofza7_953, BGl_string4106z00zzobject_toolsz00); 
BgL_arg3362z00_957 = 
MAKE_PAIR(BgL_lenz00_34, BNIL); 
BgL_arg3356z00_955 = 
MAKE_PAIR(BgL_arg3360z00_956, BgL_arg3362z00_957); } 
return 
MAKE_PAIR(BgL_arg3355z00_954, BgL_arg3356z00_955);} } } 
}



/* jvm-allocate-indexed-slot */
obj_t BGl_jvmzd2allocatezd2indexedzd2slotzd2zzobject_toolsz00(obj_t BgL_vtypezd2idzd2_35, obj_t BgL_ftypezd2idzd2_36, obj_t BgL_lenz00_37)
{ AN_OBJECT;
{ /* ./Object/tools.scm 169 */
{ /* ./Object/tools.scm 170 */
obj_t BgL_arg3379z00_961;obj_t BgL_arg3380z00_962;
BgL_arg3379z00_961 = 
CNST_TABLE_REF(((long)17)); 
{ /* ./Object/tools.scm 170 */
BgL_typez00_bglt BgL_obj1003z00_1494;
BgL_obj1003z00_1494 = 
(BgL_typez00_bglt)(BGl_za2intza2z00zztype_cachez00); 
BgL_arg3380z00_962 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1494))->BgL_idz00); } 
{ /* ./Object/tools.scm 170 */
obj_t BgL_list3384z00_965;
{ /* ./Object/tools.scm 170 */
obj_t BgL_arg3386z00_966;
{ /* ./Object/tools.scm 170 */
obj_t BgL_arg3389z00_967;
{ /* ./Object/tools.scm 170 */
obj_t BgL_arg3392z00_968;
{ /* ./Object/tools.scm 170 */
obj_t BgL_arg3395z00_969;
{ /* ./Object/tools.scm 170 */
obj_t BgL_arg3398z00_970;
BgL_arg3398z00_970 = 
MAKE_PAIR(BgL_lenz00_37, BNIL); 
BgL_arg3395z00_969 = 
MAKE_PAIR(BFALSE, BgL_arg3398z00_970); } 
BgL_arg3392z00_968 = 
MAKE_PAIR(BGl_string4104z00zzobject_toolsz00, BgL_arg3395z00_969); } 
BgL_arg3389z00_967 = 
MAKE_PAIR(BGl_string4104z00zzobject_toolsz00, BgL_arg3392z00_968); } 
BgL_arg3386z00_966 = 
MAKE_PAIR(BgL_arg3380z00_962, BgL_arg3389z00_967); } 
BgL_list3384z00_965 = 
MAKE_PAIR(BgL_ftypezd2idzd2_36, BgL_arg3386z00_966); } 
return 
BGl_makezd2privatezd2sexpz00zzast_privatez00(BgL_arg3379z00_961, BgL_vtypezd2idzd2_35, BgL_list3384z00_965);} } } 
}



/* make-pragma-indexed-init-set! */
BGL_EXPORTED_DEF obj_t BGl_makezd2pragmazd2indexedzd2initzd2setz12z12zzobject_toolsz00(BgL_typez00_bglt BgL_typez00_38, BgL_slotz00_bglt BgL_slotz00_39, obj_t BgL_objz00_40, obj_t BgL_lenz00_41)
{ AN_OBJECT;
{ /* ./Object/tools.scm 175 */
{ /* ./Object/tools.scm 176 */
obj_t BgL_casezd2valuezd2_971;
BgL_casezd2valuezd2_971 = BGl_za2targetzd2languageza2zd2zzengine_paramz00; 
{ /* ./Object/tools.scm 176 */
bool_t BgL_test3402z00_972;
BgL_test3402z00_972 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_casezd2valuezd2_971, 
CNST_TABLE_REF(((long)13))); 
if(BgL_test3402z00_972)
{ /* ./Object/tools.scm 178 */
obj_t BgL_arg3404z00_973;obj_t BgL_arg3405z00_974;
BgL_arg3404z00_973 = 
CNST_TABLE_REF(((long)18)); 
{ /* ./Object/tools.scm 179 */
obj_t BgL_arg3408z00_975;obj_t BgL_arg3409z00_976;
{ /* ./Object/tools.scm 179 */
obj_t BgL_arg3413z00_978;obj_t BgL_arg3415z00_980;obj_t BgL_arg3417z00_982;
BgL_arg3413z00_978 = 
BGl_typezd2classzd2namez00zzobject_classz00(BgL_typez00_38); 
BgL_arg3415z00_980 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_39))->BgL_namez00); 
{ /* ./Object/tools.scm 180 */
obj_t BgL_arg3443z00_991;
BgL_arg3443z00_991 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_39))->BgL_typez00); 
BgL_arg3417z00_982 = 
BGl_typezd2classzd2namez00zzobject_classz00(
(BgL_typez00_bglt)(BgL_arg3443z00_991)); } 
{ /* ./Object/tools.scm 179 */
obj_t BgL_list3420z00_984;
{ /* ./Object/tools.scm 179 */
obj_t BgL_arg3422z00_985;
{ /* ./Object/tools.scm 179 */
obj_t BgL_arg3425z00_986;
{ /* ./Object/tools.scm 179 */
obj_t BgL_arg3428z00_987;
{ /* ./Object/tools.scm 179 */
obj_t BgL_arg3431z00_988;
{ /* ./Object/tools.scm 179 */
obj_t BgL_arg3434z00_989;
{ /* ./Object/tools.scm 179 */
obj_t BgL_arg3437z00_990;
BgL_arg3437z00_990 = 
MAKE_PAIR(BGl_string4107z00zzobject_toolsz00, BNIL); 
BgL_arg3434z00_989 = 
MAKE_PAIR(BgL_arg3417z00_982, BgL_arg3437z00_990); } 
BgL_arg3431z00_988 = 
MAKE_PAIR(BGl_string4101z00zzobject_toolsz00, BgL_arg3434z00_989); } 
BgL_arg3428z00_987 = 
MAKE_PAIR(BgL_arg3415z00_980, BgL_arg3431z00_988); } 
BgL_arg3425z00_986 = 
MAKE_PAIR(BGl_string4098z00zzobject_toolsz00, BgL_arg3428z00_987); } 
BgL_arg3422z00_985 = 
MAKE_PAIR(BgL_arg3413z00_978, BgL_arg3425z00_986); } 
BgL_list3420z00_984 = 
MAKE_PAIR(BGl_string4102z00zzobject_toolsz00, BgL_arg3422z00_985); } 
BgL_arg3408z00_975 = 
BGl_stringzd2appendzd2zz__r4_strings_6_7z00(BgL_list3420z00_984); } } 
{ /* ./Object/tools.scm 182 */
obj_t BgL_arg3447z00_992;
{ /* ./Object/tools.scm 182 */
obj_t BgL_arg3450z00_993;
BgL_arg3450z00_993 = 
BGl_czd2allocatezd2indexedzd2slotzd2zzobject_toolsz00(BgL_typez00_38, BgL_lenz00_41); 
BgL_arg3447z00_992 = 
MAKE_PAIR(BgL_arg3450z00_993, BNIL); } 
BgL_arg3409z00_976 = 
MAKE_PAIR(BgL_objz00_40, BgL_arg3447z00_992); } 
BgL_arg3405z00_974 = 
MAKE_PAIR(BgL_arg3408z00_975, BgL_arg3409z00_976); } 
return 
MAKE_PAIR(BgL_arg3404z00_973, BgL_arg3405z00_974);}  else 
{ /* ./Object/tools.scm 176 */
bool_t BgL_test3454z00_995;
{ /* ./Object/tools.scm 176 */
obj_t BgL_auxz00_1860;
BgL_auxz00_1860 = 
BGl_memvz00zz__r4_pairs_and_lists_6_3z00(BgL_casezd2valuezd2_971, 
CNST_TABLE_REF(((long)15))); 
BgL_test3454z00_995 = 
CBOOL(BgL_auxz00_1860); } 
if(BgL_test3454z00_995)
{ /* ./Object/tools.scm 184 */
obj_t BgL_ftypez00_996;obj_t BgL_otypez00_997;obj_t BgL_namez00_998;
{ /* ./Object/tools.scm 184 */
BgL_typez00_bglt BgL_obj1003z00_1498;
{ /* ./Object/tools.scm 184 */
obj_t BgL_auxz00_1865;
BgL_auxz00_1865 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_39))->BgL_indexedz00); 
BgL_obj1003z00_1498 = 
(BgL_typez00_bglt)(BgL_auxz00_1865); } 
BgL_ftypez00_996 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1498))->BgL_idz00); } 
BgL_otypez00_997 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_39))->BgL_typez00); 
BgL_namez00_998 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_39))->BgL_namez00); 
{ /* ./Object/tools.scm 187 */
obj_t BgL_arg3456z00_999;obj_t BgL_arg3457z00_1000;obj_t BgL_arg3458z00_1001;
BgL_arg3456z00_999 = 
CNST_TABLE_REF(((long)10)); 
{ /* ./Object/tools.scm 189 */
obj_t BgL_arg3472z00_1006;
BgL_arg3472z00_1006 = 
BGl_realzd2slotzd2classzd2ownerzd2zzobject_toolsz00(BgL_slotz00_39); 
{ /* ./Object/tools.scm 189 */
BgL_typez00_bglt BgL_obj1003z00_1501;
BgL_obj1003z00_1501 = 
(BgL_typez00_bglt)(BgL_arg3472z00_1006); 
BgL_arg3457z00_1000 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1501))->BgL_idz00); } } 
{ /* ./Object/tools.scm 193 */
obj_t BgL_arg3476z00_1007;
{ /* ./Object/tools.scm 193 */
BgL_typez00_bglt BgL_obj1003z00_1502;
BgL_obj1003z00_1502 = 
(BgL_typez00_bglt)(BgL_otypez00_997); 
BgL_arg3476z00_1007 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1502))->BgL_idz00); } 
BgL_arg3458z00_1001 = 
BGl_jvmzd2allocatezd2indexedzd2slotzd2zzobject_toolsz00(BgL_ftypez00_996, BgL_arg3476z00_1007, BgL_lenz00_41); } 
{ /* ./Object/tools.scm 187 */
obj_t BgL_list3460z00_1002;
{ /* ./Object/tools.scm 187 */
obj_t BgL_arg3462z00_1003;
{ /* ./Object/tools.scm 187 */
obj_t BgL_arg3465z00_1004;
{ /* ./Object/tools.scm 187 */
obj_t BgL_arg3468z00_1005;
BgL_arg3468z00_1005 = 
MAKE_PAIR(BgL_arg3458z00_1001, BNIL); 
BgL_arg3465z00_1004 = 
MAKE_PAIR(BgL_objz00_40, BgL_arg3468z00_1005); } 
BgL_arg3462z00_1003 = 
MAKE_PAIR(BgL_namez00_998, BgL_arg3465z00_1004); } 
BgL_list3460z00_1002 = 
MAKE_PAIR(BgL_arg3457z00_1000, BgL_arg3462z00_1003); } 
return 
BGl_makezd2privatezd2sexpz00zzast_privatez00(BgL_arg3456z00_999, BgL_ftypez00_996, BgL_list3460z00_1002);} } }  else 
{ /* ./Object/tools.scm 176 */
return 
BGl_internalzd2errorzd2zztools_errorz00(BGl_string4108z00zzobject_toolsz00, BGl_string4109z00zzobject_toolsz00, BGl_za2targetzd2languageza2zd2zzengine_paramz00);} } } } } 
}



/* _make-pragma-indexed-init-set!4015 */
obj_t BGl__makezd2pragmazd2indexedzd2initzd2setz124015z12zzobject_toolsz00(obj_t BgL_envz00_1551, obj_t BgL_typez00_1552, obj_t BgL_slotz00_1553, obj_t BgL_objz00_1554, obj_t BgL_lenz00_1555)
{ AN_OBJECT;
{ /* ./Object/tools.scm 175 */
return 
BGl_makezd2pragmazd2indexedzd2initzd2setz12z12zzobject_toolsz00(
(BgL_typez00_bglt)(BgL_typez00_1552), 
(BgL_slotz00_bglt)(BgL_slotz00_1553), BgL_objz00_1554, BgL_lenz00_1555);} 
}



/* make-pragma-indexed-set! */
BGL_EXPORTED_DEF obj_t BGl_makezd2pragmazd2indexedzd2setz12zc0zzobject_toolsz00(BgL_typez00_bglt BgL_typez00_42, BgL_slotz00_bglt BgL_slotz00_43, obj_t BgL_objz00_44, obj_t BgL_valz00_45, obj_t BgL_indexz00_46)
{ AN_OBJECT;
{ /* ./Object/tools.scm 203 */
{ /* ./Object/tools.scm 204 */
obj_t BgL_casezd2valuezd2_1009;
BgL_casezd2valuezd2_1009 = BGl_za2targetzd2languageza2zd2zzengine_paramz00; 
{ /* ./Object/tools.scm 204 */
bool_t BgL_test3488z00_1010;
BgL_test3488z00_1010 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_casezd2valuezd2_1009, 
CNST_TABLE_REF(((long)13))); 
if(BgL_test3488z00_1010)
{ /* ./Object/tools.scm 206 */
obj_t BgL_arg3490z00_1011;obj_t BgL_arg3491z00_1012;
BgL_arg3490z00_1011 = 
CNST_TABLE_REF(((long)18)); 
{ /* ./Object/tools.scm 207 */
obj_t BgL_arg3495z00_1013;obj_t BgL_arg3496z00_1014;
{ /* ./Object/tools.scm 207 */
obj_t BgL_arg3500z00_1016;obj_t BgL_arg3502z00_1018;obj_t BgL_arg3504z00_1020;
BgL_arg3500z00_1016 = 
BGl_typezd2classzd2namez00zzobject_classz00(BgL_typez00_42); 
BgL_arg3502z00_1018 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_43))->BgL_namez00); 
{ /* ./Object/tools.scm 208 */
obj_t BgL_arg3532z00_1029;
BgL_arg3532z00_1029 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_43))->BgL_typez00); 
BgL_arg3504z00_1020 = 
BGl_typezd2classzd2namez00zzobject_classz00(
(BgL_typez00_bglt)(BgL_arg3532z00_1029)); } 
{ /* ./Object/tools.scm 207 */
obj_t BgL_list3508z00_1022;
{ /* ./Object/tools.scm 207 */
obj_t BgL_arg3510z00_1023;
{ /* ./Object/tools.scm 207 */
obj_t BgL_arg3513z00_1024;
{ /* ./Object/tools.scm 207 */
obj_t BgL_arg3517z00_1025;
{ /* ./Object/tools.scm 207 */
obj_t BgL_arg3520z00_1026;
{ /* ./Object/tools.scm 207 */
obj_t BgL_arg3523z00_1027;
{ /* ./Object/tools.scm 207 */
obj_t BgL_arg3526z00_1028;
BgL_arg3526z00_1028 = 
MAKE_PAIR(BGl_string4110z00zzobject_toolsz00, BNIL); 
BgL_arg3523z00_1027 = 
MAKE_PAIR(BgL_arg3504z00_1020, BgL_arg3526z00_1028); } 
BgL_arg3520z00_1026 = 
MAKE_PAIR(BGl_string4111z00zzobject_toolsz00, BgL_arg3523z00_1027); } 
BgL_arg3517z00_1025 = 
MAKE_PAIR(BgL_arg3502z00_1018, BgL_arg3520z00_1026); } 
BgL_arg3513z00_1024 = 
MAKE_PAIR(BGl_string4098z00zzobject_toolsz00, BgL_arg3517z00_1025); } 
BgL_arg3510z00_1023 = 
MAKE_PAIR(BgL_arg3500z00_1016, BgL_arg3513z00_1024); } 
BgL_list3508z00_1022 = 
MAKE_PAIR(BGl_string4102z00zzobject_toolsz00, BgL_arg3510z00_1023); } 
BgL_arg3495z00_1013 = 
BGl_stringzd2appendzd2zz__r4_strings_6_7z00(BgL_list3508z00_1022); } } 
{ /* ./Object/tools.scm 206 */
obj_t BgL_arg3536z00_1030;
{ /* ./Object/tools.scm 206 */
obj_t BgL_arg3541z00_1031;
BgL_arg3541z00_1031 = 
MAKE_PAIR(BgL_valz00_45, BNIL); 
BgL_arg3536z00_1030 = 
MAKE_PAIR(BgL_indexz00_46, BgL_arg3541z00_1031); } 
BgL_arg3496z00_1014 = 
MAKE_PAIR(BgL_objz00_44, BgL_arg3536z00_1030); } 
BgL_arg3491z00_1012 = 
MAKE_PAIR(BgL_arg3495z00_1013, BgL_arg3496z00_1014); } 
return 
MAKE_PAIR(BgL_arg3490z00_1011, BgL_arg3491z00_1012);}  else 
{ /* ./Object/tools.scm 204 */
bool_t BgL_test3544z00_1032;
{ /* ./Object/tools.scm 204 */
obj_t BgL_auxz00_1909;
BgL_auxz00_1909 = 
BGl_memvz00zz__r4_pairs_and_lists_6_3z00(BgL_casezd2valuezd2_1009, 
CNST_TABLE_REF(((long)15))); 
BgL_test3544z00_1032 = 
CBOOL(BgL_auxz00_1909); } 
if(BgL_test3544z00_1032)
{ /* ./Object/tools.scm 214 */
obj_t BgL_ftypezd2idzd2_1033;
{ /* ./Object/tools.scm 214 */
BgL_typez00_bglt BgL_obj1003z00_1506;
{ /* ./Object/tools.scm 214 */
obj_t BgL_auxz00_1914;
BgL_auxz00_1914 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_43))->BgL_indexedz00); 
BgL_obj1003z00_1506 = 
(BgL_typez00_bglt)(BgL_auxz00_1914); } 
BgL_ftypezd2idzd2_1033 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1506))->BgL_idz00); } 
{ /* ./Object/tools.scm 214 */
obj_t BgL_gfieldz00_1034;
{ /* ./Object/tools.scm 215 */
obj_t BgL_arg3574z00_1046;obj_t BgL_arg3575z00_1047;obj_t BgL_arg3576z00_1048;
BgL_arg3574z00_1046 = 
CNST_TABLE_REF(((long)4)); 
{ /* ./Object/tools.scm 217 */
obj_t BgL_arg3587z00_1052;
BgL_arg3587z00_1052 = 
BGl_realzd2slotzd2classzd2ownerzd2zzobject_toolsz00(BgL_slotz00_43); 
{ /* ./Object/tools.scm 217 */
BgL_typez00_bglt BgL_obj1003z00_1507;
BgL_obj1003z00_1507 = 
(BgL_typez00_bglt)(BgL_arg3587z00_1052); 
BgL_arg3575z00_1047 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1507))->BgL_idz00); } } 
BgL_arg3576z00_1048 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_43))->BgL_namez00); 
{ /* ./Object/tools.scm 215 */
obj_t BgL_list3578z00_1049;
{ /* ./Object/tools.scm 215 */
obj_t BgL_arg3580z00_1050;
{ /* ./Object/tools.scm 215 */
obj_t BgL_arg3583z00_1051;
BgL_arg3583z00_1051 = 
MAKE_PAIR(BgL_objz00_44, BNIL); 
BgL_arg3580z00_1050 = 
MAKE_PAIR(BgL_arg3576z00_1048, BgL_arg3583z00_1051); } 
BgL_list3578z00_1049 = 
MAKE_PAIR(BgL_arg3575z00_1047, BgL_arg3580z00_1050); } 
BgL_gfieldz00_1034 = 
BGl_makezd2privatezd2sexpz00zzast_privatez00(BgL_arg3574z00_1046, BgL_ftypezd2idzd2_1033, BgL_list3578z00_1049); } } 
{ /* ./Object/tools.scm 215 */

{ /* ./Object/tools.scm 220 */
obj_t BgL_arg3546z00_1035;obj_t BgL_arg3547z00_1036;obj_t BgL_arg3548z00_1037;
BgL_arg3546z00_1035 = 
CNST_TABLE_REF(((long)19)); 
{ /* ./Object/tools.scm 222 */
BgL_typez00_bglt BgL_obj1003z00_1510;
{ /* ./Object/tools.scm 222 */
obj_t BgL_auxz00_1928;
BgL_auxz00_1928 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_43))->BgL_typez00); 
BgL_obj1003z00_1510 = 
(BgL_typez00_bglt)(BgL_auxz00_1928); } 
BgL_arg3547z00_1036 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1510))->BgL_idz00); } 
{ /* ./Object/tools.scm 223 */
BgL_typez00_bglt BgL_obj1003z00_1511;
BgL_obj1003z00_1511 = 
(BgL_typez00_bglt)(BGl_za2intza2z00zztype_cachez00); 
BgL_arg3548z00_1037 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1511))->BgL_idz00); } 
{ /* ./Object/tools.scm 220 */
obj_t BgL_list3551z00_1039;
{ /* ./Object/tools.scm 220 */
obj_t BgL_arg3553z00_1040;
{ /* ./Object/tools.scm 220 */
obj_t BgL_arg3556z00_1041;
{ /* ./Object/tools.scm 220 */
obj_t BgL_arg3559z00_1042;
{ /* ./Object/tools.scm 220 */
obj_t BgL_arg3562z00_1043;
{ /* ./Object/tools.scm 220 */
obj_t BgL_arg3565z00_1044;
BgL_arg3565z00_1044 = 
MAKE_PAIR(BgL_valz00_45, BNIL); 
BgL_arg3562z00_1043 = 
MAKE_PAIR(BgL_indexz00_46, BgL_arg3565z00_1044); } 
BgL_arg3559z00_1042 = 
MAKE_PAIR(BgL_gfieldz00_1034, BgL_arg3562z00_1043); } 
BgL_arg3556z00_1041 = 
MAKE_PAIR(BGl_string4104z00zzobject_toolsz00, BgL_arg3559z00_1042); } 
BgL_arg3553z00_1040 = 
MAKE_PAIR(BgL_arg3548z00_1037, BgL_arg3556z00_1041); } 
BgL_list3551z00_1039 = 
MAKE_PAIR(BgL_arg3547z00_1036, BgL_arg3553z00_1040); } 
return 
BGl_makezd2privatezd2sexpz00zzast_privatez00(BgL_arg3546z00_1035, BgL_ftypezd2idzd2_1033, BgL_list3551z00_1039);} } } } }  else 
{ /* ./Object/tools.scm 204 */
return 
BGl_internalzd2errorzd2zztools_errorz00(BGl_string4112z00zzobject_toolsz00, BGl_string4109z00zzobject_toolsz00, BGl_za2targetzd2languageza2zd2zzengine_paramz00);} } } } } 
}



/* _make-pragma-indexed-set!4017 */
obj_t BGl__makezd2pragmazd2indexedzd2setz124017zc0zzobject_toolsz00(obj_t BgL_envz00_1556, obj_t BgL_typez00_1557, obj_t BgL_slotz00_1558, obj_t BgL_objz00_1559, obj_t BgL_valz00_1560, obj_t BgL_indexz00_1561)
{ AN_OBJECT;
{ /* ./Object/tools.scm 203 */
return 
BGl_makezd2pragmazd2indexedzd2setz12zc0zzobject_toolsz00(
(BgL_typez00_bglt)(BgL_typez00_1557), 
(BgL_slotz00_bglt)(BgL_slotz00_1558), BgL_objz00_1559, BgL_valz00_1560, BgL_indexz00_1561);} 
}



/* real-slot-class-owner */
obj_t BGl_realzd2slotzd2classzd2ownerzd2zzobject_toolsz00(BgL_slotz00_bglt BgL_slotz00_47)
{ AN_OBJECT;
{ /* ./Object/tools.scm 235 */
{ /* ./Object/tools.scm 236 */
obj_t BgL_tz00_1054;
BgL_tz00_1054 = 
(((BgL_slotz00_bglt)CREF(BgL_slotz00_47))->BgL_classzd2ownerzd2); 
{ /* ./Object/tools.scm 237 */
bool_t BgL_test3598z00_1055;
if(
CBOOL(BGl_za2sawza2z00zzengine_paramz00))
{ /* ./Object/tools.scm 237 */
BgL_test3598z00_1055 = 
BGl_widezd2classzf3z21zzobject_classz00(BgL_tz00_1054); }  else 
{ /* ./Object/tools.scm 237 */
BgL_test3598z00_1055 = ((bool_t)0); } 
if(BgL_test3598z00_1055)
{ /* ./Object/tools.scm 238 */
obj_t BgL_arg3600z00_1056;
{ /* ./Object/tools.scm 238 */
obj_t BgL_arg3604z00_1057;
{ /* ./Object/tools.scm 238 */
BgL_typez00_bglt BgL_obj1003z00_1513;
BgL_obj1003z00_1513 = 
(BgL_typez00_bglt)(BgL_tz00_1054); 
BgL_arg3604z00_1057 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1513))->BgL_idz00); } 
BgL_arg3600z00_1056 = 
BGl_sawzd2widezd2classzd2idzd2zzobject_classz00(BgL_arg3604z00_1057); } 
{ /* ./Object/tools.scm 238 */
BgL_typez00_bglt BgL_auxz00_1953;
BgL_auxz00_1953 = 
BGl_findzd2typezd2zztype_envz00(BgL_arg3600z00_1056); 
return 
(obj_t)(BgL_auxz00_1953);} }  else 
{ /* ./Object/tools.scm 237 */
return BgL_tz00_1054;} } } } 
}



/* make-pragma-indexed-set!/widening */
BGL_EXPORTED_DEF obj_t BGl_makezd2pragmazd2indexedzd2setz12zf2wideningz32zzobject_toolsz00(BgL_typez00_bglt BgL_typez00_48, BgL_slotz00_bglt BgL_slotz00_49, obj_t BgL_objz00_50, obj_t BgL_valz00_51, obj_t BgL_indexz00_52, obj_t BgL_wideningz00_53)
{ AN_OBJECT;
{ /* ./Object/tools.scm 244 */
if(
CBOOL(BgL_wideningz00_53))
{ /* ./Object/tools.scm 247 */
obj_t BgL_arg3610z00_1514;
{ /* ./Object/tools.scm 247 */
obj_t BgL_arg3613z00_1515;obj_t BgL_arg3614z00_1516;
BgL_arg3613z00_1515 = 
CNST_TABLE_REF(((long)9)); 
BgL_arg3614z00_1516 = 
MAKE_PAIR(BgL_objz00_50, BNIL); 
BgL_arg3610z00_1514 = 
MAKE_PAIR(BgL_arg3613z00_1515, BgL_arg3614z00_1516); } 
return 
BGl_makezd2pragmazd2indexedzd2setz12zc0zzobject_toolsz00(BgL_typez00_48, BgL_slotz00_49, BgL_arg3610z00_1514, BgL_valz00_51, BgL_indexz00_52);}  else 
{ /* ./Object/tools.scm 245 */
return 
BGl_makezd2pragmazd2indexedzd2setz12zc0zzobject_toolsz00(BgL_typez00_48, BgL_slotz00_49, BgL_objz00_50, BgL_valz00_51, BgL_indexz00_52);} } 
}



/* _make-pragma-indexed-set!/widening4019 */
obj_t BGl__makezd2pragmazd2indexedzd2setz12zf2widening4019z32zzobject_toolsz00(obj_t BgL_envz00_1562, obj_t BgL_typez00_1563, obj_t BgL_slotz00_1564, obj_t BgL_objz00_1565, obj_t BgL_valz00_1566, obj_t BgL_indexz00_1567, obj_t BgL_wideningz00_1568)
{ AN_OBJECT;
{ /* ./Object/tools.scm 244 */
return 
BGl_makezd2pragmazd2indexedzd2setz12zf2wideningz32zzobject_toolsz00(
(BgL_typez00_bglt)(BgL_typez00_1563), 
(BgL_slotz00_bglt)(BgL_slotz00_1564), BgL_objz00_1565, BgL_valz00_1566, BgL_indexz00_1567, BgL_wideningz00_1568);} 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzobject_toolsz00()
{ AN_OBJECT;
{ /* ./Object/tools.scm 15 */
return BUNSPEC;} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzobject_toolsz00()
{ AN_OBJECT;
{ /* ./Object/tools.scm 15 */
BGl_modulezd2initializa7ationz75zztools_miscz00(((long)64117), "object_tools"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "object_tools"); 
BGl_modulezd2initializa7ationz75zztype_envz00(((long)25186), "object_tools"); 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "object_tools"); 
BGl_modulezd2initializa7ationz75zztype_toolsz00(((long)15091), "object_tools"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "object_tools"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "object_tools"); 
BGl_modulezd2initializa7ationz75zzast_privatez00(((long)8704), "object_tools"); 
BGl_modulezd2initializa7ationz75zzast_identz00(((long)51504), "object_tools"); 
BGl_modulezd2initializa7ationz75zzobject_classz00(((long)30791), "object_tools"); 
BGl_modulezd2initializa7ationz75zzobject_slotsz00(((long)44183), "object_tools"); 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "object_tools"); 
return 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "object_tools");} 
}

