/*===========================================================================*/
/*   (SawMsil/type.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 SawMsil/type.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_backendz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_languagez00;
   obj_t BgL_namez00;
   obj_t BgL_externzd2variableszd2;
   obj_t BgL_externzd2functionszd2;
   obj_t BgL_externzd2typeszd2;
   obj_t BgL_variablesz00;
   obj_t BgL_functionsz00;
   obj_t BgL_typesz00;
} *BgL_backendz00_bglt;

typedef struct BgL_cvmz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_languagez00;
   obj_t BgL_namez00;
   obj_t BgL_externzd2variableszd2;
   obj_t BgL_externzd2functionszd2;
   obj_t BgL_externzd2typeszd2;
   obj_t BgL_variablesz00;
   obj_t BgL_functionsz00;
   obj_t BgL_typesz00;
} *BgL_cvmz00_bglt;

typedef struct BgL_sawcz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_languagez00;
   obj_t BgL_namez00;
   obj_t BgL_externzd2variableszd2;
   obj_t BgL_externzd2functionszd2;
   obj_t BgL_externzd2typeszd2;
   obj_t BgL_variablesz00;
   obj_t BgL_functionsz00;
   obj_t BgL_typesz00;
} *BgL_sawcz00_bglt;

typedef struct BgL_cgenz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_languagez00;
   obj_t BgL_namez00;
   obj_t BgL_externzd2variableszd2;
   obj_t BgL_externzd2functionszd2;
   obj_t BgL_externzd2typeszd2;
   obj_t BgL_variablesz00;
   obj_t BgL_functionsz00;
   obj_t BgL_typesz00;
} *BgL_cgenz00_bglt;

typedef struct BgL_jvmz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_languagez00;
   obj_t BgL_namez00;
   obj_t BgL_externzd2variableszd2;
   obj_t BgL_externzd2functionszd2;
   obj_t BgL_externzd2typeszd2;
   obj_t BgL_variablesz00;
   obj_t BgL_functionsz00;
   obj_t BgL_typesz00;
   obj_t BgL_qnamez00;
   obj_t BgL_classesz00;
   obj_t BgL_currentzd2classzd2;
   obj_t BgL_declarationsz00;
   obj_t BgL_fieldsz00;
   obj_t BgL_methodsz00;
   obj_t BgL_currentzd2methodzd2;
   obj_t BgL_codez00;
} *BgL_jvmz00_bglt;

typedef struct BgL_dotnetz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_languagez00;
   obj_t BgL_namez00;
   obj_t BgL_externzd2variableszd2;
   obj_t BgL_externzd2functionszd2;
   obj_t BgL_externzd2typeszd2;
   obj_t BgL_variablesz00;
   obj_t BgL_functionsz00;
   obj_t BgL_typesz00;
   obj_t BgL_outz00;
   obj_t BgL_qnamez00;
} *BgL_dotnetz00_bglt;


static obj_t BGl_methodzd2initzd2zzmsil_typez00();
BGL_IMPORT obj_t open_input_string(obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_EXPORTED_DECL int BGl_typeSiza7eza7zzmsil_typez00(BgL_typez00_bglt);
static obj_t BGl_za2za2longzd2typesza2za2zd2zzmsil_typez00 = BUNSPEC;
static obj_t BGl_cnstzd2initzd2zzmsil_typez00();
static obj_t BGl_importedzd2moduleszd2initz00zzmsil_typez00();
static obj_t BGl__typeSiza7eza7zzmsil_typez00(obj_t, obj_t);
static obj_t BGl_backendzd2subtypezf3zd2dotnet2993zf3zzmsil_typez00(obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_addzd2methodz12zc0zz__objectz00(obj_t, obj_t, obj_t);
static obj_t BGl_toplevelzd2initzd2zzmsil_typez00();
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzmsil_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzbackend_backendz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmsil_namesz00(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 *);
BGL_IMPORT obj_t BGl_memqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
BGL_IMPORT bool_t bigloo_strcmp(obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzmsil_typez00 = BUNSPEC;
static obj_t BGl_libraryzd2moduleszd2initz00zzmsil_typez00();
extern obj_t BGl_dotnetz00zzbackend_backendz00;
static obj_t __cnst[ 3 ] ;


extern obj_t BGl_backendzd2subtypezf3zd2envzf3zzbackend_backendz00;
DEFINE_STRING( BGl_string3402z00zzmsil_typez00, BgL_bgl_string3402za700za7za7msil_typeza7003429z00, "obj void (elong llong double) ", 30 );
DEFINE_STRING( BGl_string3401z00zzmsil_typez00, BgL_bgl_string3401za700za7za7msil_typeza7003430z00, "class System.Object", 19 );
DEFINE_STATIC_PROCEDURE( BGl_proc3400z00zzmsil_typez00, BgL_bgl_backendza7d2subtypeza7f3za7d2dotnet2993za7f3za7za7msil_typeza7003431za7, BGl_backendzd2subtypezf3zd2dotnet2993zf3zzmsil_typez00, 0L, 3 );
DEFINE_EXPORT_PROCEDURE( BGl_typeSiza7ezd2envz75zzmsil_typez00, BgL_bgl__typesiza7a7eza7a7za7za7msil_typeza7003432za7, BGl__typeSiza7eza7zzmsil_typez00, 0L, 1 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzmsil_typez00(long BgL_checksumz00_1227, char * BgL_fromz00_1228)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzmsil_typez00))
{ 
BGl_requirezd2initializa7ationz75zzmsil_typez00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzmsil_typez00(); 
BGl_cnstzd2initzd2zzmsil_typez00(); 
BGl_importedzd2moduleszd2initz00zzmsil_typez00(); 
BGl_methodzd2initzd2zzmsil_typez00(); 
BGl_toplevelzd2initzd2zzmsil_typez00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzmsil_typez00()
{ AN_OBJECT;
{ /* ./SawMsil/type.scm 1 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "msil_type"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "msil_type"); 
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "msil_type"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzmsil_typez00()
{ AN_OBJECT;
{ /* ./SawMsil/type.scm 1 */
{ /* ./SawMsil/type.scm 1 */
obj_t BgL_cportz00_1220;
BgL_cportz00_1220 = 
open_input_string(BGl_string3402z00zzmsil_typez00); 
{ 
long BgL_iz00_1221;
BgL_iz00_1221 = ((long)2); 
BgL_loopz00_1222:
{ /* ./SawMsil/type.scm 1 */
bool_t BgL_test3404z00_1223;
BgL_test3404z00_1223 = 
(BgL_iz00_1221==((long)-1)); 
if(BgL_test3404z00_1223)
{ /* ./SawMsil/type.scm 1 */
return BUNSPEC;}  else 
{ /* ./SawMsil/type.scm 1 */
{ /* ./SawMsil/type.scm 1 */
obj_t BgL_arg3406z00_1224;
{ /* ./SawMsil/type.scm 1 */
obj_t BgL_list3409z00_1225;
BgL_list3409z00_1225 = 
MAKE_PAIR(BgL_cportz00_1220, BNIL); 
BgL_arg3406z00_1224 = 
BGl_readz00zz__readerz00(BgL_list3409z00_1225); } 
{ /* ./SawMsil/type.scm 1 */
int BgL_auxz00_1245;
BgL_auxz00_1245 = 
(int)(BgL_iz00_1221); 
CNST_TABLE_SET(BgL_auxz00_1245, BgL_arg3406z00_1224); } } 
{ /* ./SawMsil/type.scm 1 */
int BgL_auxz00_1226;
{ /* ./SawMsil/type.scm 1 */
long BgL_auxz00_1248;
BgL_auxz00_1248 = 
(BgL_iz00_1221-((long)1)); 
BgL_auxz00_1226 = 
(int)(BgL_auxz00_1248); } 
{ 
long BgL_iz00_1251;
BgL_iz00_1251 = 
(long)(BgL_auxz00_1226); 
BgL_iz00_1221 = BgL_iz00_1251; 
goto BgL_loopz00_1222;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzmsil_typez00()
{ AN_OBJECT;
{ /* ./SawMsil/type.scm 1 */
BGl_za2za2longzd2typesza2za2zd2zzmsil_typez00 = 
CNST_TABLE_REF(((long)0)); 
return BUNSPEC;} 
}



/* typeSize */
BGL_EXPORTED_DEF int BGl_typeSiza7eza7zzmsil_typez00(BgL_typez00_bglt BgL_typez00_1)
{ AN_OBJECT;
{ /* ./SawMsil/type.scm 13 */
{ /* ./SawMsil/type.scm 14 */
obj_t BgL_idz00_768;
BgL_idz00_768 = 
(((BgL_typez00_bglt)CREF(BgL_typez00_1))->BgL_idz00); 
{ /* ./SawMsil/type.scm 15 */
bool_t BgL_testz00_1255;
{ /* ./SawMsil/type.scm 15 */
obj_t BgL_auxz00_1256;
BgL_auxz00_1256 = 
BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_idz00_768, BGl_za2za2longzd2typesza2za2zd2zzmsil_typez00); 
BgL_testz00_1255 = 
CBOOL(BgL_auxz00_1256); } 
if(BgL_testz00_1255)
{ /* ./SawMsil/type.scm 15 */
return 
(int)(((long)2));}  else 
{ /* ./SawMsil/type.scm 16 */
bool_t BgL_testz00_1260;
{ /* ./SawMsil/type.scm 16 */
obj_t BgL_auxz00_1261;
BgL_auxz00_1261 = 
CNST_TABLE_REF(((long)1)); 
BgL_testz00_1260 = 
(BgL_idz00_768==BgL_auxz00_1261); } 
if(BgL_testz00_1260)
{ /* ./SawMsil/type.scm 16 */
return 
(int)(((long)0));}  else 
{ /* ./SawMsil/type.scm 16 */
return 
(int)(((long)1));} } } } } 
}



/* _typeSize */
obj_t BGl__typeSiza7eza7zzmsil_typez00(obj_t BgL_envz00_1209, obj_t BgL_typez00_1210)
{ AN_OBJECT;
{ /* ./SawMsil/type.scm 13 */
{ /* ./SawMsil/type.scm 14 */
int BgL_auxz00_1266;
BgL_auxz00_1266 = 
BGl_typeSiza7eza7zzmsil_typez00(
(BgL_typez00_bglt)(BgL_typez00_1210)); 
return 
BINT(BgL_auxz00_1266);} } 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzmsil_typez00()
{ AN_OBJECT;
{ /* ./SawMsil/type.scm 1 */
return 
BGl_addzd2methodz12zc0zz__objectz00(BGl_backendzd2subtypezf3zd2envzf3zzbackend_backendz00, BGl_dotnetz00zzbackend_backendz00, BGl_proc3400z00zzmsil_typez00);} 
}



/* backend-subtype?-dotnet2993 */
obj_t BGl_backendzd2subtypezf3zd2dotnet2993zf3zzmsil_typez00(obj_t BgL_envz00_1212, obj_t BgL_bz00_1213, obj_t BgL_t1z00_1214, obj_t BgL_t2z00_1215)
{ AN_OBJECT;
{ /* ./SawMsil/type.scm 22 */
{ 
BgL_dotnetz00_bglt BgL_bz00_1179;BgL_typez00_bglt BgL_t1z00_1180;BgL_typez00_bglt BgL_t2z00_1181;
{ /* ./SawMsil/type.scm 23 */
bool_t BgL_auxz00_1271;
BgL_bz00_1179 = 
(BgL_dotnetz00_bglt)(BgL_bz00_1213); 
BgL_t1z00_1180 = 
(BgL_typez00_bglt)(BgL_t1z00_1214); 
BgL_t2z00_1181 = 
(BgL_typez00_bglt)(BgL_t2z00_1215); 
{ /* ./SawMsil/type.scm 23 */
bool_t BgL__ortest_2987z00_1184;
{ /* ./SawMsil/type.scm 23 */
obj_t BgL_auxz00_1274;obj_t BgL_auxz00_1272;
BgL_auxz00_1274 = 
(obj_t)(BgL_t2z00_1181); 
BgL_auxz00_1272 = 
(obj_t)(BgL_t1z00_1180); 
BgL__ortest_2987z00_1184 = 
(BgL_auxz00_1272==BgL_auxz00_1274); } 
if(BgL__ortest_2987z00_1184)
{ /* ./SawMsil/type.scm 23 */
BgL_auxz00_1271 = BgL__ortest_2987z00_1184
; }  else 
{ /* ./SawMsil/type.scm 24 */
bool_t BgL__ortest_2988z00_1185;
{ /* ./SawMsil/type.scm 24 */
obj_t BgL_auxz00_1280;obj_t BgL_auxz00_1278;
BgL_auxz00_1280 = 
(((BgL_typez00_bglt)CREF(BgL_t2z00_1181))->BgL_idz00); 
BgL_auxz00_1278 = 
(((BgL_typez00_bglt)CREF(BgL_t1z00_1180))->BgL_idz00); 
BgL__ortest_2988z00_1185 = 
(BgL_auxz00_1278==BgL_auxz00_1280); } 
if(BgL__ortest_2988z00_1185)
{ /* ./SawMsil/type.scm 24 */
BgL_auxz00_1271 = BgL__ortest_2988z00_1185
; }  else 
{ /* ./SawMsil/type.scm 25 */
bool_t BgL__ortest_2989z00_1186;
{ /* ./SawMsil/type.scm 25 */
obj_t BgL_auxz00_1286;obj_t BgL_auxz00_1284;
BgL_auxz00_1286 = 
CNST_TABLE_REF(((long)2)); 
BgL_auxz00_1284 = 
(((BgL_typez00_bglt)CREF(BgL_t2z00_1181))->BgL_idz00); 
BgL__ortest_2989z00_1186 = 
(BgL_auxz00_1284==BgL_auxz00_1286); } 
if(BgL__ortest_2989z00_1186)
{ /* ./SawMsil/type.scm 25 */
BgL_auxz00_1271 = BgL__ortest_2989z00_1186
; }  else 
{ /* ./SawMsil/type.scm 26 */
bool_t BgL__ortest_2990z00_1187;
{ /* ./SawMsil/type.scm 26 */
obj_t BgL_arg3354z00_1190;
BgL_arg3354z00_1190 = 
(((BgL_typez00_bglt)CREF(BgL_t2z00_1181))->BgL_namez00); 
BgL__ortest_2990z00_1187 = 
bigloo_strcmp(BgL_arg3354z00_1190, BGl_string3401z00zzmsil_typez00); } 
if(BgL__ortest_2990z00_1187)
{ /* ./SawMsil/type.scm 26 */
BgL_auxz00_1271 = BgL__ortest_2990z00_1187
; }  else 
{ /* ./SawMsil/type.scm 27 */
obj_t BgL_arg3347z00_1188;obj_t BgL_arg3348z00_1189;
BgL_arg3347z00_1188 = 
(((BgL_typez00_bglt)CREF(BgL_t1z00_1180))->BgL_namez00); 
BgL_arg3348z00_1189 = 
(((BgL_typez00_bglt)CREF(BgL_t2z00_1181))->BgL_namez00); 
BgL_auxz00_1271 = 
bigloo_strcmp(BgL_arg3347z00_1188, BgL_arg3348z00_1189); } } } } } 
return 
BBOOL(BgL_auxz00_1271);} } } 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzmsil_typez00()
{ AN_OBJECT;
{ /* ./SawMsil/type.scm 1 */
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "msil_type"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "msil_type"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "msil_type"); 
BGl_modulezd2initializa7ationz75zzbackend_backendz00(((long)3428), "msil_type"); 
return 
BGl_modulezd2initializa7ationz75zzmsil_namesz00(((long)44644), "msil_type");} 
}

