/*===========================================================================*/
/*   (Foreign/jtype.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 Foreign/jtype.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_ccompz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_producerz00;
   obj_t BgL_consumerz00;
   obj_t BgL_finaliza7erza7;
} *BgL_ccompz00_bglt;

typedef struct BgL_caliasz00_bgl {
   bool_t BgL_arrayzf3zf3;
} *BgL_caliasz00_bglt;

typedef struct BgL_cenumz00_bgl {
   struct BgL_typez00_bgl * BgL_btypez00;
   obj_t BgL_literalsz00;
} *BgL_cenumz00_bglt;

typedef struct BgL_copaquez00_bgl {
   struct BgL_typez00_bgl * BgL_btypez00;
} *BgL_copaquez00_bglt;

typedef struct BgL_cfunctionz00_bgl {
   struct BgL_typez00_bgl * BgL_btypez00;
   long BgL_arityz00;
   struct BgL_typez00_bgl * BgL_typezd2reszd2;
   obj_t BgL_typezd2argszd2;
} *BgL_cfunctionz00_bglt;

typedef struct BgL_cptrz00_bgl {
   struct BgL_typez00_bgl * BgL_btypez00;
   struct BgL_typez00_bgl * BgL_pointzd2tozd2;
   bool_t BgL_arrayzf3zf3;
} *BgL_cptrz00_bglt;

typedef struct BgL_cstructz00_bgl {
   bool_t BgL_structzf3zf3;
   obj_t BgL_fieldsz00;
   obj_t BgL_cstructza2za2;
} *BgL_cstructz00_bglt;

typedef struct BgL_cstructza2za2_bgl {
   struct BgL_typez00_bgl * BgL_btypez00;
   struct BgL_cstructz00_bgl * BgL_cstructz00;
} *BgL_cstructza2za2_bglt;

typedef struct BgL_jarrayz00_bgl {
   struct BgL_typez00_bgl * BgL_itemzd2typezd2;
} *BgL_jarrayz00_bglt;


BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzforeign_jtypez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_tracez00(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_modulezd2initializa7ationz75zztools_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_argsz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_miscz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_locationz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_modulez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_identz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_privatez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzforeign_ctypez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzforeign_accessz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzforeign_libraryz00(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_symbols_6_4z00(long, char *);
static obj_t BGl_methodzd2initzd2zzforeign_jtypez00();
BGL_EXPORTED_DECL BgL_jarrayz00_bglt BGl_fillzd2jarrayz12zc0zzforeign_jtypez00(BgL_jarrayz00_bglt, BgL_typez00_bglt);
BGL_IMPORT obj_t open_input_string(obj_t);
extern BgL_typez00_bglt BGl_makezd2typezd2zztype_typez00(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, bool_t, bool_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_producezd2modulezd2clausez12z12zzmodule_modulez00(obj_t);
BGL_IMPORT long BGl_classzd2numzd2zz__objectz00(obj_t);
BGL_EXPORTED_DECL BgL_jarrayz00_bglt BGl_makezd2jarrayzd2zzforeign_jtypez00(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, bool_t, bool_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, BgL_typez00_bglt);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_IMPORT bool_t BGl_iszd2azf3z21zz__objectz00(obj_t, obj_t);
static obj_t BGl__wideningzd2jarrayzd2zzforeign_jtypez00(obj_t, obj_t);
BGL_IMPORT BgL_objectz00_bglt BGl_structzb2objectzd2ze3objectz83zz__objectz00(BgL_objectz00_bglt, obj_t);
extern BgL_typez00_bglt BGl_usezd2typez12zc0zztype_envz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_objectzd2ze3structz31zz__objectz00(BgL_objectz00_bglt);
BGL_EXPORTED_DECL BgL_typez00_bglt BGl_allocatezd2jarrayzd2zzforeign_jtypez00();
BGL_EXPORTED_DEF obj_t BGl_jarrayz00zzforeign_jtypez00 = BUNSPEC;
static obj_t BGl__declarezd2jvmzd2typez122326z12zzforeign_jtypez00(obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_registerzd2classz12zc0zz__objectz00(obj_t, obj_t, obj_t, obj_t, long, obj_t, obj_t, obj_t);
extern BgL_typez00_bglt BGl_declarezd2subtypez12zc0zztype_envz00(obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL BgL_jarrayz00_bglt BGl_wideningzd2jarrayzd2zzforeign_jtypez00(BgL_typez00_bglt);
extern obj_t BGl_findzd2locationzd2zztools_locationz00(obj_t);
extern obj_t BGl_typez00zztype_typez00;
static obj_t BGl__makezd2jarray2331zd2zzforeign_jtypez00(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(obj_t);
static obj_t BGl_cnstzd2initzd2zzforeign_jtypez00();
static obj_t BGl_structzb2objectzd2ze3objectzd2jarray1668z51zzforeign_jtypez00(obj_t, obj_t, obj_t);
static obj_t BGl__jarrayzf3zf3zzforeign_jtypez00(obj_t, obj_t);
BGL_EXPORTED_DECL BgL_typez00_bglt BGl_declarezd2jvmzd2typez12z12zzforeign_jtypez00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL bool_t BGl_jarrayzf3zf3zzforeign_jtypez00(obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zzforeign_jtypez00();
extern obj_t BGl_registerzd2foreignzd2accesszd2identsz12zc0zzforeign_libraryz00(obj_t);
static obj_t BGl_makezd2ctypezd2accessesz12zd2jarray1664zc0zzforeign_jtypez00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_objectzd2initzd2zzforeign_jtypez00();
extern obj_t BGl_makezd2privatezd2sexpz00zzast_privatez00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t make_struct(obj_t, int, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzforeign_jtypez00 = BUNSPEC;
static obj_t BGl__fillzd2jarrayz122333zc0zzforeign_jtypez00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_addzd2methodz12zc0zz__objectz00(obj_t, obj_t, obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzforeign_jtypez00();
extern obj_t BGl_makezd2typedzd2identz00zzast_identz00(obj_t, obj_t);
static obj_t BGl_objectzd2ze3structzd2jarray1666ze3zzforeign_jtypez00(obj_t, obj_t);
extern obj_t BGl_makezd2typedzd2formalz00zzast_identz00(obj_t);
static obj_t BGl__allocatezd2jarrayzd2zzforeign_jtypez00(obj_t);
extern BgL_typez00_bglt BGl_declarezd2czd2aliasz12z12zzforeign_ctypez00(obj_t, obj_t, obj_t);
static obj_t BGl_toplevelzd2initzd2zzforeign_jtypez00();
BGL_IMPORT obj_t BGl_findzd2superzd2classzd2methodzd2zz__objectz00(BgL_objectz00_bglt, obj_t, obj_t);
static obj_t __cnst[ 31 ] ;


extern obj_t BGl_makezd2ctypezd2accessesz12zd2envzc0zzforeign_accessz00;
BGL_IMPORT obj_t BGl_objectzd2ze3structzd2envze3zz__objectz00;
DEFINE_EXPORT_PROCEDURE( BGl_jarrayzf3zd2envz21zzforeign_jtypez00, BgL_bgl__jarrayza7f3za7f3za7za7foreign_jtypeza7002445za7, BGl__jarrayzf3zf3zzforeign_jtypez00, 0L, 1 );
BGL_IMPORT obj_t BGl_structzb2objectzd2ze3objectzd2envz51zz__objectz00;
DEFINE_STATIC_PROCEDURE( BGl_proc2411z00zzforeign_jtypez00, BgL_bgl_makeza7d2ctypeza7d2accessesza712za7d2jarray1664za7c0za7za7foreign_jtypeza7002446z00, BGl_makezd2ctypezd2accessesz12zd2jarray1664zc0zzforeign_jtypez00, 0L, 3 );
DEFINE_STATIC_PROCEDURE( BGl_proc2412z00zzforeign_jtypez00, BgL_bgl_objectza7d2za7e3structza7d2jarray1666za7e3za7za7foreign_jtypeza7002447za7, BGl_objectzd2ze3structzd2jarray1666ze3zzforeign_jtypez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc2413z00zzforeign_jtypez00, BgL_bgl_structza7b2objectza7d2za7e3objectza7d2jarray1668za751za7za7foreign_jtypeza7002448z00, BGl_structzb2objectzd2ze3objectzd2jarray1668z51zzforeign_jtypez00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_declarezd2jvmzd2typez12zd2envzc0zzforeign_jtypez00, BgL_bgl__declareza7d2jvmza7d2typeza7122326za712za7za7foreign_jtypeza7002449za7, BGl__declarezd2jvmzd2typez122326z12zzforeign_jtypez00, 0L, 3 );
DEFINE_EXPORT_PROCEDURE( BGl_fillzd2jarrayz12zd2envz12zzforeign_jtypez00, BgL_bgl__fillza7d2jarrayza7122333za7c0za7za7foreign_jtypeza7002450z00, BGl__fillzd2jarrayz122333zc0zzforeign_jtypez00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_allocatezd2jarrayzd2envz00zzforeign_jtypez00, BgL_bgl__allocateza7d2jarrayza7d2za7za7foreign_jtypeza7002451za7, BGl__allocatezd2jarrayzd2zzforeign_jtypez00, 0L, 0 );
DEFINE_EXPORT_PROCEDURE( BGl_wideningzd2jarrayzd2envz00zzforeign_jtypez00, BgL_bgl__wideningza7d2jarrayza7d2za7za7foreign_jtypeza7002452za7, BGl__wideningzd2jarrayzd2zzforeign_jtypez00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_makezd2jarrayzd2envz00zzforeign_jtypez00, BgL_bgl__makeza7d2jarray2331za7d2za7za7foreign_jtypeza7002453za7, BGl__makezd2jarray2331zd2zzforeign_jtypez00, 0L, 15 );
DEFINE_STRING( BGl_string2415z00zzforeign_jtypez00, BgL_bgl_string2415za700za7za7foreign_jtypeza7002454z00, "::int ::obj inline static vset! vref offset offset::int valloc len len::int vlength isa o::obj object cast define-inline -set! -ref make- val int -length bool ? obj-> ->obj o jarray bigloo (obj) ", 195 );
DEFINE_STRING( BGl_string2414z00zzforeign_jtypez00, BgL_bgl_string2414za700za7za7foreign_jtypeza7002455z00, "", 0 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzforeign_jtypez00(long BgL_checksumz00_606, char * BgL_fromz00_607)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzforeign_jtypez00))
{ 
BGl_requirezd2initializa7ationz75zzforeign_jtypez00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzforeign_jtypez00(); 
BGl_cnstzd2initzd2zzforeign_jtypez00(); 
BGl_importedzd2moduleszd2initz00zzforeign_jtypez00(); 
BGl_objectzd2initzd2zzforeign_jtypez00(); 
BGl_methodzd2initzd2zzforeign_jtypez00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzforeign_jtypez00()
{ AN_OBJECT;
{ /* ./Foreign/jtype.scm 17 */
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "foreign_jtype"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "foreign_jtype"); 
BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(((long)0), "foreign_jtype"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzforeign_jtypez00()
{ AN_OBJECT;
{ /* ./Foreign/jtype.scm 17 */
{ /* ./Foreign/jtype.scm 17 */
obj_t BgL_cportz00_584;
BgL_cportz00_584 = 
open_input_string(BGl_string2415z00zzforeign_jtypez00); 
{ 
long BgL_iz00_585;
BgL_iz00_585 = ((long)30); 
BgL_loopz00_586:
{ /* ./Foreign/jtype.scm 17 */
bool_t BgL_test2417z00_587;
BgL_test2417z00_587 = 
(BgL_iz00_585==((long)-1)); 
if(BgL_test2417z00_587)
{ /* ./Foreign/jtype.scm 17 */
return BUNSPEC;}  else 
{ /* ./Foreign/jtype.scm 17 */
{ /* ./Foreign/jtype.scm 17 */
obj_t BgL_arg2419z00_588;
{ /* ./Foreign/jtype.scm 17 */
obj_t BgL_list2422z00_589;
BgL_list2422z00_589 = 
MAKE_PAIR(BgL_cportz00_584, BNIL); 
BgL_arg2419z00_588 = 
BGl_readz00zz__readerz00(BgL_list2422z00_589); } 
{ /* ./Foreign/jtype.scm 17 */
int BgL_auxz00_624;
BgL_auxz00_624 = 
(int)(BgL_iz00_585); 
CNST_TABLE_SET(BgL_auxz00_624, BgL_arg2419z00_588); } } 
{ /* ./Foreign/jtype.scm 17 */
int BgL_auxz00_590;
{ /* ./Foreign/jtype.scm 17 */
long BgL_auxz00_627;
BgL_auxz00_627 = 
(BgL_iz00_585-((long)1)); 
BgL_auxz00_590 = 
(int)(BgL_auxz00_627); } 
{ 
long BgL_iz00_630;
BgL_iz00_630 = 
(long)(BgL_auxz00_590); 
BgL_iz00_585 = BgL_iz00_630; 
goto BgL_loopz00_586;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzforeign_jtypez00()
{ AN_OBJECT;
{ /* ./Foreign/jtype.scm 17 */
return BUNSPEC;} 
}



/* declare-jvm-type! */
BGL_EXPORTED_DEF BgL_typez00_bglt BGl_declarezd2jvmzd2typez12z12zzforeign_jtypez00(obj_t BgL_idz00_1, obj_t BgL_ofz00_2, obj_t BgL_srcz00_3)
{ AN_OBJECT;
{ /* ./Foreign/jtype.scm 45 */
{ /* ./Foreign/jtype.scm 47 */
BgL_typez00_bglt BgL_pointedz00_146;
{ /* ./Foreign/jtype.scm 47 */
obj_t BgL_arg1688z00_155;
BgL_arg1688z00_155 = 
BGl_findzd2locationzd2zztools_locationz00(BgL_srcz00_3); 
BgL_pointedz00_146 = 
BGl_usezd2typez12zc0zztype_envz00(BgL_ofz00_2, BgL_arg1688z00_155); } 
{ /* ./Foreign/jtype.scm 47 */
obj_t BgL_pointerz00_147;
BgL_pointerz00_147 = 
(((BgL_typez00_bglt)CREF(BgL_pointedz00_146))->BgL_pointedzd2tozd2byz00); 
{ /* ./Foreign/jtype.scm 48 */
obj_t BgL_namez00_148;
BgL_namez00_148 = 
SYMBOL_TO_STRING(BgL_idz00_1); 
{ /* ./Foreign/jtype.scm 49 */

{ /* ./Foreign/jtype.scm 52 */
bool_t BgL_test1669z00_149;
BgL_test1669z00_149 = 
BGl_iszd2azf3z21zz__objectz00(BgL_pointerz00_147, BGl_typez00zztype_typez00); 
if(BgL_test1669z00_149)
{ /* ./Foreign/jtype.scm 52 */
return 
BGl_declarezd2czd2aliasz12z12zzforeign_ctypez00(BgL_idz00_1, BgL_ofz00_2, BgL_namez00_148);}  else 
{ /* ./Foreign/jtype.scm 52 */
{ /* ./Foreign/jtype.scm 56 */
BgL_typez00_bglt BgL_typez00_150;
BgL_typez00_150 = 
BGl_declarezd2subtypez12zc0zztype_envz00(BgL_idz00_1, BgL_namez00_148, 
CNST_TABLE_REF(((long)0)), 
CNST_TABLE_REF(((long)1))); 
{ /* ./Foreign/jtype.scm 56 */

{ /* ./Foreign/jtype.scm 58 */
BgL_typez00_bglt BgL_obj1033z00_461;obj_t BgL_val1032z00_462;
BgL_obj1033z00_461 = BgL_pointedz00_146; 
BgL_val1032z00_462 = 
(obj_t)(BgL_typez00_150); 
((((BgL_typez00_bglt)CREF(BgL_obj1033z00_461))->BgL_pointedzd2tozd2byz00) = ((obj_t)BgL_val1032z00_462), BUNSPEC); } 
{ /* ./Foreign/jtype.scm 59 */
BgL_typez00_bglt BgL_obj1661z00_151;
BgL_obj1661z00_151 = 
((BgL_typez00_bglt)BgL_typez00_150); 
{ /* ./Foreign/jtype.scm 60 */
BgL_jarrayz00_bglt BgL_arg1673z00_152;
{ /* ./Foreign/jtype.scm 60 */
BgL_typez00_bglt BgL_arg1676z00_153;
BgL_arg1676z00_153 = BgL_pointedz00_146; 
{ /* ./Foreign/jtype.scm 59 */
BgL_jarrayz00_bglt BgL_res2318z00_469;
{ /* ./Foreign/jtype.scm 59 */
BgL_jarrayz00_bglt BgL_new1588z00_464;
BgL_new1588z00_464 = 
((BgL_jarrayz00_bglt)BREF( GC_MALLOC (sizeof(struct BgL_jarrayz00_bgl)))); 
{ /* ./Foreign/jtype.scm 59 */
BgL_jarrayz00_bglt BgL_res2317z00_468;
{ /* ./Foreign/jtype.scm 59 */
BgL_jarrayz00_bglt BgL_new1608z00_465;
BgL_new1608z00_465 = BgL_new1588z00_464; 
{ /* ./Foreign/jtype.scm 59 */
BgL_typez00_bglt BgL_itemzd2type1607zd2_467;
BgL_itemzd2type1607zd2_467 = BgL_arg1676z00_153; 
((((BgL_jarrayz00_bglt)CREF(BgL_new1608z00_465))->BgL_itemzd2typezd2) = ((BgL_typez00_bglt)BgL_itemzd2type1607zd2_467), BUNSPEC); 
BgL_res2317z00_468 = BgL_new1608z00_465; } } BgL_res2317z00_468; } 
BgL_res2318z00_469 = BgL_new1588z00_464; } 
BgL_arg1673z00_152 = BgL_res2318z00_469; } } 
{ /* ./Foreign/jtype.scm 59 */
obj_t BgL_auxz00_649;BgL_objectz00_bglt BgL_auxz00_647;
BgL_auxz00_649 = 
(obj_t)(BgL_arg1673z00_152); 
BgL_auxz00_647 = 
(BgL_objectz00_bglt)(BgL_obj1661z00_151); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_647, BgL_auxz00_649); } } 
{ /* ./Foreign/jtype.scm 59 */
long BgL_arg1679z00_154;
BgL_arg1679z00_154 = 
BGl_classzd2numzd2zz__objectz00(BGl_jarrayz00zzforeign_jtypez00); 
{ /* ./Foreign/jtype.scm 59 */
BgL_objectz00_bglt BgL_objz00_470;
BgL_objz00_470 = 
(BgL_objectz00_bglt)(BgL_obj1661z00_151); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_470, BgL_arg1679z00_154); } } 
{ /* ./Foreign/jtype.scm 59 */
obj_t BgL_objz00_472;
BgL_objz00_472 = 
(obj_t)(BgL_obj1661z00_151); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_472); BUNSPEC; } BgL_obj1661z00_151; } 
return BgL_typez00_150;} } } } } } } } } 
}



/* _declare-jvm-type!2326 */
obj_t BGl__declarezd2jvmzd2typez122326z12zzforeign_jtypez00(obj_t BgL_envz00_535, obj_t BgL_idz00_536, obj_t BgL_ofz00_537, obj_t BgL_srcz00_538)
{ AN_OBJECT;
{ /* ./Foreign/jtype.scm 45 */
{ /* ./Foreign/jtype.scm 46 */
BgL_typez00_bglt BgL_auxz00_657;
BgL_auxz00_657 = 
BGl_declarezd2jvmzd2typez12z12zzforeign_jtypez00(BgL_idz00_536, BgL_ofz00_537, BgL_srcz00_538); 
return 
(obj_t)(BgL_auxz00_657);} } 
}



/* object-init */
obj_t BGl_objectzd2initzd2zzforeign_jtypez00()
{ AN_OBJECT;
{ /* ./Foreign/jtype.scm 17 */
{ /* ./Foreign/jtype.scm 37 */
obj_t BgL_arg1692z00_156;obj_t BgL_arg1695z00_157;obj_t BgL_arg1699z00_161;
BgL_arg1692z00_156 = 
CNST_TABLE_REF(((long)2)); 
BgL_arg1695z00_157 = BGl_typez00zztype_typez00; 
{ /* ./Foreign/jtype.scm 37 */
obj_t BgL_v1662z00_162;
{ 
int BgL_auxz00_661;
BgL_auxz00_661 = 
(int)(((long)0)); 
BgL_v1662z00_162 = 
create_vector(BgL_auxz00_661); } 
BgL_arg1699z00_161 = BgL_v1662z00_162; } 
BGl_jarrayz00zzforeign_jtypez00 = 
BGl_registerzd2classz12zc0zz__objectz00(BgL_arg1692z00_156, BgL_arg1695z00_157, BFALSE, BGl_allocatezd2jarrayzd2envz00zzforeign_jtypez00, ((long)5261), BNIL, BFALSE, BgL_arg1699z00_161); } 
return BUNSPEC;} 
}



/* jarray? */
BGL_EXPORTED_DEF bool_t BGl_jarrayzf3zf3zzforeign_jtypez00(obj_t BgL_obj1618z00_7)
{ AN_OBJECT;
{ /* ./Foreign/jtype.scm 37 */
return 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1618z00_7, BGl_jarrayz00zzforeign_jtypez00);} 
}



/* _jarray? */
obj_t BGl__jarrayzf3zf3zzforeign_jtypez00(obj_t BgL_envz00_540, obj_t BgL_obj1618z00_541)
{ AN_OBJECT;
{ /* ./Foreign/jtype.scm 37 */
{ /* ./Foreign/jtype.scm 37 */
bool_t BgL_auxz00_666;
BgL_auxz00_666 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1618z00_541, BGl_jarrayz00zzforeign_jtypez00); 
return 
BBOOL(BgL_auxz00_666);} } 
}



/* widening-jarray */
BGL_EXPORTED_DEF BgL_jarrayz00_bglt BGl_wideningzd2jarrayzd2zzforeign_jtypez00(BgL_typez00_bglt BgL_itemzd2type1587zd2_11)
{ AN_OBJECT;
{ /* ./Foreign/jtype.scm 37 */
{ /* ./Foreign/jtype.scm 37 */
BgL_jarrayz00_bglt BgL_new1588z00_473;
BgL_new1588z00_473 = 
((BgL_jarrayz00_bglt)BREF( GC_MALLOC (sizeof(struct BgL_jarrayz00_bgl)))); 
{ /* ./Foreign/jtype.scm 37 */
BgL_jarrayz00_bglt BgL_res2319z00_477;
{ /* ./Foreign/jtype.scm 37 */
BgL_jarrayz00_bglt BgL_new1608z00_474;
BgL_new1608z00_474 = BgL_new1588z00_473; 
{ /* ./Foreign/jtype.scm 37 */
BgL_typez00_bglt BgL_itemzd2type1607zd2_476;
BgL_itemzd2type1607zd2_476 = BgL_itemzd2type1587zd2_11; 
((((BgL_jarrayz00_bglt)CREF(BgL_new1608z00_474))->BgL_itemzd2typezd2) = ((BgL_typez00_bglt)BgL_itemzd2type1607zd2_476), BUNSPEC); 
BgL_res2319z00_477 = BgL_new1608z00_474; } } BgL_res2319z00_477; } 
return BgL_new1588z00_473;} } 
}



/* _widening-jarray */
obj_t BGl__wideningzd2jarrayzd2zzforeign_jtypez00(obj_t BgL_envz00_542, obj_t BgL_itemzd2type1587zd2_543)
{ AN_OBJECT;
{ /* ./Foreign/jtype.scm 37 */
{ /* ./Foreign/jtype.scm 37 */
BgL_jarrayz00_bglt BgL_auxz00_671;
BgL_auxz00_671 = 
BGl_wideningzd2jarrayzd2zzforeign_jtypez00(
(BgL_typez00_bglt)(BgL_itemzd2type1587zd2_543)); 
return 
(obj_t)(BgL_auxz00_671);} } 
}



/* make-jarray */
BGL_EXPORTED_DEF BgL_jarrayz00_bglt BGl_makezd2jarrayzd2zzforeign_jtypez00(obj_t BgL_id1591z00_12, obj_t BgL_name1592z00_13, obj_t BgL_siza7e1593za7_14, obj_t BgL_class1594z00_15, obj_t BgL_coercezd2to1595zd2_16, obj_t BgL_parents1596z00_17, bool_t BgL_initzf31597zf3_18, bool_t BgL_magiczf31598zf3_19, obj_t BgL_z421599z42_20, obj_t BgL_alias1600z00_21, obj_t BgL_pointedzd2tozd2by1601z00_22, obj_t BgL_tvector1602z00_23, obj_t BgL_location1603z00_24, obj_t BgL_importzd2location1604zd2_25, BgL_typez00_bglt BgL_itemzd2type1590zd2_26)
{ AN_OBJECT;
{ /* ./Foreign/jtype.scm 37 */
{ /* ./Foreign/jtype.scm 37 */
BgL_typez00_bglt BgL_aux1605z00_478;
BgL_aux1605z00_478 = 
BGl_makezd2typezd2zztype_typez00(BgL_id1591z00_12, BgL_name1592z00_13, BgL_siza7e1593za7_14, BgL_class1594z00_15, BgL_coercezd2to1595zd2_16, BgL_parents1596z00_17, BgL_initzf31597zf3_18, BgL_magiczf31598zf3_19, BgL_z421599z42_20, BgL_alias1600z00_21, BgL_pointedzd2tozd2by1601z00_22, BgL_tvector1602z00_23, BgL_location1603z00_24, BgL_importzd2location1604zd2_25); 
{ /* ./Foreign/jtype.scm 37 */
long BgL_arg1705z00_479;
BgL_arg1705z00_479 = 
BGl_classzd2numzd2zz__objectz00(BGl_jarrayz00zzforeign_jtypez00); 
{ /* ./Foreign/jtype.scm 37 */
BgL_objectz00_bglt BgL_objz00_482;
BgL_objz00_482 = 
(BgL_objectz00_bglt)(BgL_aux1605z00_478); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_482, BgL_arg1705z00_479); } } 
{ /* ./Foreign/jtype.scm 37 */
BgL_jarrayz00_bglt BgL_arg1709z00_480;
{ /* ./Foreign/jtype.scm 37 */
BgL_jarrayz00_bglt BgL_res2321z00_490;
{ /* ./Foreign/jtype.scm 37 */
BgL_jarrayz00_bglt BgL_new1588z00_485;
BgL_new1588z00_485 = 
((BgL_jarrayz00_bglt)BREF( GC_MALLOC (sizeof(struct BgL_jarrayz00_bgl)))); 
{ /* ./Foreign/jtype.scm 37 */
BgL_jarrayz00_bglt BgL_res2320z00_489;
{ /* ./Foreign/jtype.scm 37 */
BgL_jarrayz00_bglt BgL_new1608z00_486;
BgL_new1608z00_486 = BgL_new1588z00_485; 
{ /* ./Foreign/jtype.scm 37 */
BgL_typez00_bglt BgL_itemzd2type1607zd2_488;
BgL_itemzd2type1607zd2_488 = BgL_itemzd2type1590zd2_26; 
((((BgL_jarrayz00_bglt)CREF(BgL_new1608z00_486))->BgL_itemzd2typezd2) = ((BgL_typez00_bglt)BgL_itemzd2type1607zd2_488), BUNSPEC); 
BgL_res2320z00_489 = BgL_new1608z00_486; } } BgL_res2320z00_489; } 
BgL_res2321z00_490 = BgL_new1588z00_485; } 
BgL_arg1709z00_480 = BgL_res2321z00_490; } 
{ /* ./Foreign/jtype.scm 37 */
obj_t BgL_auxz00_683;BgL_objectz00_bglt BgL_auxz00_681;
BgL_auxz00_683 = 
(obj_t)(BgL_arg1709z00_480); 
BgL_auxz00_681 = 
(BgL_objectz00_bglt)(BgL_aux1605z00_478); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_681, BgL_auxz00_683); } } 
{ /* ./Foreign/jtype.scm 37 */
BgL_jarrayz00_bglt BgL_new1606z00_481;
{ 
BgL_jarrayz00_bglt BgL_auxz00_686;
BgL_auxz00_686 = 
(BgL_jarrayz00_bglt)(BgL_aux1605z00_478); 
BgL_new1606z00_481 = 
((BgL_jarrayz00_bglt)BgL_auxz00_686); } 
{ /* ./Foreign/jtype.scm 37 */
obj_t BgL_objz00_491;
BgL_objz00_491 = 
(obj_t)(BgL_new1606z00_481); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_491); BUNSPEC; } 
return BgL_new1606z00_481;} } } 
}



/* _make-jarray2331 */
obj_t BGl__makezd2jarray2331zd2zzforeign_jtypez00(obj_t BgL_envz00_544, obj_t BgL_id1591z00_545, obj_t BgL_name1592z00_546, obj_t BgL_siza7e1593za7_547, obj_t BgL_class1594z00_548, obj_t BgL_coercezd2to1595zd2_549, obj_t BgL_parents1596z00_550, obj_t BgL_initzf31597zf3_551, obj_t BgL_magiczf31598zf3_552, obj_t BgL_z421599z42_553, obj_t BgL_alias1600z00_554, obj_t BgL_pointedzd2tozd2by1601z00_555, obj_t BgL_tvector1602z00_556, obj_t BgL_location1603z00_557, obj_t BgL_importzd2location1604zd2_558, obj_t BgL_itemzd2type1590zd2_559)
{ AN_OBJECT;
{ /* ./Foreign/jtype.scm 37 */
{ /* ./Foreign/jtype.scm 37 */
BgL_jarrayz00_bglt BgL_auxz00_691;
BgL_auxz00_691 = 
BGl_makezd2jarrayzd2zzforeign_jtypez00(BgL_id1591z00_545, BgL_name1592z00_546, BgL_siza7e1593za7_547, BgL_class1594z00_548, BgL_coercezd2to1595zd2_549, BgL_parents1596z00_550, 
CBOOL(BgL_initzf31597zf3_551), 
CBOOL(BgL_magiczf31598zf3_552), BgL_z421599z42_553, BgL_alias1600z00_554, BgL_pointedzd2tozd2by1601z00_555, BgL_tvector1602z00_556, BgL_location1603z00_557, BgL_importzd2location1604zd2_558, 
(BgL_typez00_bglt)(BgL_itemzd2type1590zd2_559)); 
return 
(obj_t)(BgL_auxz00_691);} } 
}



/* fill-jarray! */
BGL_EXPORTED_DEF BgL_jarrayz00_bglt BGl_fillzd2jarrayz12zc0zzforeign_jtypez00(BgL_jarrayz00_bglt BgL_new1608z00_27, BgL_typez00_bglt BgL_itemzd2type1607zd2_28)
{ AN_OBJECT;
{ /* ./Foreign/jtype.scm 37 */
{ /* ./Foreign/jtype.scm 37 */
BgL_typez00_bglt BgL_itemzd2type1607zd2_592;
BgL_itemzd2type1607zd2_592 = BgL_itemzd2type1607zd2_28; 
((((BgL_jarrayz00_bglt)CREF(BgL_new1608z00_27))->BgL_itemzd2typezd2) = ((BgL_typez00_bglt)BgL_itemzd2type1607zd2_592), BUNSPEC); 
return BgL_new1608z00_27;} } 
}



/* _fill-jarray!2333 */
obj_t BGl__fillzd2jarrayz122333zc0zzforeign_jtypez00(obj_t BgL_envz00_560, obj_t BgL_new1608z00_561, obj_t BgL_itemzd2type1607zd2_562)
{ AN_OBJECT;
{ /* ./Foreign/jtype.scm 37 */
{ /* ./Foreign/jtype.scm 37 */
BgL_jarrayz00_bglt BgL_auxz00_698;
{ /* ./Foreign/jtype.scm 37 */
BgL_jarrayz00_bglt BgL_res2431z00_596;
{ /* ./Foreign/jtype.scm 37 */
BgL_jarrayz00_bglt BgL_new1608z00_593;BgL_typez00_bglt BgL_itemzd2type1607zd2_594;
BgL_new1608z00_593 = 
(BgL_jarrayz00_bglt)(BgL_new1608z00_561); 
BgL_itemzd2type1607zd2_594 = 
(BgL_typez00_bglt)(BgL_itemzd2type1607zd2_562); 
{ /* ./Foreign/jtype.scm 37 */
BgL_typez00_bglt BgL_itemzd2type1607zd2_595;
BgL_itemzd2type1607zd2_595 = BgL_itemzd2type1607zd2_594; 
((((BgL_jarrayz00_bglt)CREF(BgL_new1608z00_593))->BgL_itemzd2typezd2) = ((BgL_typez00_bglt)BgL_itemzd2type1607zd2_595), BUNSPEC); 
BgL_res2431z00_596 = BgL_new1608z00_593; } } 
BgL_auxz00_698 = BgL_res2431z00_596; } 
return 
(obj_t)(BgL_auxz00_698);} } 
}



/* allocate-jarray */
BGL_EXPORTED_DEF BgL_typez00_bglt BGl_allocatezd2jarrayzd2zzforeign_jtypez00()
{ AN_OBJECT;
{ /* ./Foreign/jtype.scm 37 */
{ /* ./Foreign/jtype.scm 37 */
BgL_typez00_bglt BgL_new1611z00_597;
BgL_new1611z00_597 = 
((BgL_typez00_bglt)BREF( GC_MALLOC ( sizeof(struct BgL_typez00_bgl) ))); 
{ /* ./Foreign/jtype.scm 37 */
long BgL_arg1715z00_598;
BgL_arg1715z00_598 = 
BGl_classzd2numzd2zz__objectz00(BGl_jarrayz00zzforeign_jtypez00); 
{ /* ./Foreign/jtype.scm 37 */
BgL_objectz00_bglt BgL_objz00_599;
BgL_objz00_599 = 
(BgL_objectz00_bglt)(BgL_new1611z00_597); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_599, BgL_arg1715z00_598); } } 
{ /* ./Foreign/jtype.scm 37 */
BgL_objectz00_bglt BgL_auxz00_707;
BgL_auxz00_707 = 
(BgL_objectz00_bglt)(BgL_new1611z00_597); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_707, BFALSE); } 
{ /* ./Foreign/jtype.scm 37 */
obj_t BgL_objz00_600;
BgL_objz00_600 = 
(obj_t)(BgL_new1611z00_597); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_600); BUNSPEC; } 
return BgL_new1611z00_597;} } 
}



/* _allocate-jarray */
obj_t BGl__allocatezd2jarrayzd2zzforeign_jtypez00(obj_t BgL_envz00_539)
{ AN_OBJECT;
{ /* ./Foreign/jtype.scm 37 */
{ /* ./Foreign/jtype.scm 37 */
BgL_typez00_bglt BgL_auxz00_712;
{ /* ./Foreign/jtype.scm 37 */
BgL_typez00_bglt BgL_res2432z00_605;
{ /* ./Foreign/jtype.scm 37 */
BgL_typez00_bglt BgL_new1611z00_601;
BgL_new1611z00_601 = 
((BgL_typez00_bglt)BREF( GC_MALLOC ( sizeof(struct BgL_typez00_bgl) ))); 
{ /* ./Foreign/jtype.scm 37 */
long BgL_arg1715z00_602;
BgL_arg1715z00_602 = 
BGl_classzd2numzd2zz__objectz00(BGl_jarrayz00zzforeign_jtypez00); 
{ /* ./Foreign/jtype.scm 37 */
BgL_objectz00_bglt BgL_objz00_603;
BgL_objz00_603 = 
(BgL_objectz00_bglt)(BgL_new1611z00_601); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_603, BgL_arg1715z00_602); } } 
{ /* ./Foreign/jtype.scm 37 */
BgL_objectz00_bglt BgL_auxz00_717;
BgL_auxz00_717 = 
(BgL_objectz00_bglt)(BgL_new1611z00_601); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_717, BFALSE); } 
{ /* ./Foreign/jtype.scm 37 */
obj_t BgL_objz00_604;
BgL_objz00_604 = 
(obj_t)(BgL_new1611z00_601); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_604); BUNSPEC; } 
BgL_res2432z00_605 = BgL_new1611z00_601; } 
BgL_auxz00_712 = BgL_res2432z00_605; } 
return 
(obj_t)(BgL_auxz00_712);} } 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzforeign_jtypez00()
{ AN_OBJECT;
{ /* ./Foreign/jtype.scm 17 */
BGl_addzd2methodz12zc0zz__objectz00(BGl_makezd2ctypezd2accessesz12zd2envzc0zzforeign_accessz00, BGl_jarrayz00zzforeign_jtypez00, BGl_proc2411z00zzforeign_jtypez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_objectzd2ze3structzd2envze3zz__objectz00, BGl_jarrayz00zzforeign_jtypez00, BGl_proc2412z00zzforeign_jtypez00); 
return 
BGl_addzd2methodz12zc0zz__objectz00(BGl_structzb2objectzd2ze3objectzd2envz51zz__objectz00, BGl_jarrayz00zzforeign_jtypez00, BGl_proc2413z00zzforeign_jtypez00);} 
}



/* struct+object->object-jarray1668 */
obj_t BGl_structzb2objectzd2ze3objectzd2jarray1668z51zzforeign_jtypez00(obj_t BgL_envz00_571, obj_t BgL_oz00_572, obj_t BgL_sz00_573)
{ AN_OBJECT;
{ /* ./Foreign/jtype.scm 37 */
{ 
BgL_jarrayz00_bglt BgL_oz00_446;obj_t BgL_sz00_447;
{ /* ./Foreign/jtype.scm 37 */
BgL_jarrayz00_bglt BgL_auxz00_726;
BgL_oz00_446 = 
(BgL_jarrayz00_bglt)(BgL_oz00_572); 
BgL_sz00_447 = BgL_sz00_573; 
{ 

{ /* ./Foreign/jtype.scm 37 */
obj_t BgL_old1615z00_450;obj_t BgL_aux1616z00_451;
{ /* ./Foreign/jtype.scm 37 */
obj_t BgL_nextzd2method1667zd2_456;
BgL_nextzd2method1667zd2_456 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_oz00_446), BGl_structzb2objectzd2ze3objectzd2envz51zz__objectz00, BGl_jarrayz00zzforeign_jtypez00); 
{ /* ./Foreign/jtype.scm 37 */
bool_t BgL_test2296z00_457;
BgL_test2296z00_457 = 
PROCEDUREP(BgL_nextzd2method1667zd2_456); 
if(BgL_test2296z00_457)
{ /* ./Foreign/jtype.scm 37 */
BgL_old1615z00_450 = 
PROCEDURE_ENTRY(BgL_nextzd2method1667zd2_456)(BgL_nextzd2method1667zd2_456, 
(obj_t)(BgL_oz00_446), BgL_sz00_447, BEOA); }  else 
{ /* ./Foreign/jtype.scm 37 */
{ /* ./Foreign/jtype.scm 37 */
BgL_objectz00_bglt BgL_auxz00_734;
BgL_auxz00_734 = 
BGl_structzb2objectzd2ze3objectz83zz__objectz00(
(BgL_objectz00_bglt)(BgL_oz00_446), BgL_sz00_447); 
BgL_old1615z00_450 = 
(obj_t)(BgL_auxz00_734); } } } } 
{ /* ./Foreign/jtype.scm 37 */
int BgL_auxz00_738;
BgL_auxz00_738 = 
(int)(((long)0)); 
BgL_aux1616z00_451 = 
STRUCT_REF(BgL_sz00_447, BgL_auxz00_738); } 
{ /* ./Foreign/jtype.scm 37 */
BgL_jarrayz00_bglt BgL_new1617z00_452;
BgL_new1617z00_452 = 
((BgL_jarrayz00_bglt)(BgL_old1615z00_450)); 
{ /* ./Foreign/jtype.scm 37 */
long BgL_arg2283z00_453;
BgL_arg2283z00_453 = 
BGl_classzd2numzd2zz__objectz00(BGl_jarrayz00zzforeign_jtypez00); 
{ /* ./Foreign/jtype.scm 37 */
BgL_objectz00_bglt BgL_objz00_522;
BgL_objz00_522 = 
(BgL_objectz00_bglt)(BgL_new1617z00_452); 
BGL_OBJECT_CLASS_NUM_SET(BgL_objz00_522, BgL_arg2283z00_453); } } 
{ /* ./Foreign/jtype.scm 37 */
BgL_jarrayz00_bglt BgL_arg2287z00_454;
{ /* ./Foreign/jtype.scm 37 */
obj_t BgL_arg2290z00_455;
{ /* ./Foreign/jtype.scm 37 */
int BgL_auxz00_745;
BgL_auxz00_745 = 
(int)(((long)0)); 
BgL_arg2290z00_455 = 
STRUCT_REF(BgL_aux1616z00_451, BgL_auxz00_745); } 
{ /* ./Foreign/jtype.scm 37 */
BgL_jarrayz00_bglt BgL_res2325z00_532;
{ /* ./Foreign/jtype.scm 37 */
BgL_typez00_bglt BgL_itemzd2type1587zd2_526;
BgL_itemzd2type1587zd2_526 = 
(BgL_typez00_bglt)(BgL_arg2290z00_455); 
{ /* ./Foreign/jtype.scm 37 */
BgL_jarrayz00_bglt BgL_new1588z00_527;
BgL_new1588z00_527 = 
((BgL_jarrayz00_bglt)BREF( GC_MALLOC (sizeof(struct BgL_jarrayz00_bgl)))); 
{ /* ./Foreign/jtype.scm 37 */
BgL_jarrayz00_bglt BgL_res2324z00_531;
{ /* ./Foreign/jtype.scm 37 */
BgL_jarrayz00_bglt BgL_new1608z00_528;
BgL_new1608z00_528 = BgL_new1588z00_527; 
{ /* ./Foreign/jtype.scm 37 */
BgL_typez00_bglt BgL_itemzd2type1607zd2_530;
BgL_itemzd2type1607zd2_530 = BgL_itemzd2type1587zd2_526; 
((((BgL_jarrayz00_bglt)CREF(BgL_new1608z00_528))->BgL_itemzd2typezd2) = ((BgL_typez00_bglt)BgL_itemzd2type1607zd2_530), BUNSPEC); 
BgL_res2324z00_531 = BgL_new1608z00_528; } } BgL_res2324z00_531; } 
BgL_res2325z00_532 = BgL_new1588z00_527; } } 
BgL_arg2287z00_454 = BgL_res2325z00_532; } } 
{ /* ./Foreign/jtype.scm 37 */
obj_t BgL_auxz00_753;BgL_objectz00_bglt BgL_auxz00_751;
BgL_auxz00_753 = 
(obj_t)(BgL_arg2287z00_454); 
BgL_auxz00_751 = 
(BgL_objectz00_bglt)(BgL_new1617z00_452); 
BGL_OBJECT_WIDENING_SET(BgL_auxz00_751, BgL_auxz00_753); } } 
{ /* ./Foreign/jtype.scm 37 */
obj_t BgL_objz00_533;
BgL_objz00_533 = 
(obj_t)(BgL_new1617z00_452); 
BGL_HEAP_DEBUG_MARK_OBJ(BgL_objz00_533); BUNSPEC; } 
BgL_auxz00_726 = BgL_new1617z00_452; } } } 
return 
(obj_t)(BgL_auxz00_726);} } } 
}



/* object->struct-jarray1666 */
obj_t BGl_objectzd2ze3structzd2jarray1666ze3zzforeign_jtypez00(obj_t BgL_envz00_574, obj_t BgL_obj1612z00_575)
{ AN_OBJECT;
{ /* ./Foreign/jtype.scm 37 */
{ 
BgL_jarrayz00_bglt BgL_obj1612z00_436;
BgL_obj1612z00_436 = 
(BgL_jarrayz00_bglt)(BgL_obj1612z00_575); 
{ 

{ /* ./Foreign/jtype.scm 37 */
obj_t BgL_res1613z00_439;
{ /* ./Foreign/jtype.scm 37 */
obj_t BgL_nextzd2method1665zd2_444;
BgL_nextzd2method1665zd2_444 = 
BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
(BgL_objectz00_bglt)(BgL_obj1612z00_436), BGl_objectzd2ze3structzd2envze3zz__objectz00, BGl_jarrayz00zzforeign_jtypez00); 
{ /* ./Foreign/jtype.scm 37 */
bool_t BgL_test2276z00_445;
BgL_test2276z00_445 = 
PROCEDUREP(BgL_nextzd2method1665zd2_444); 
if(BgL_test2276z00_445)
{ /* ./Foreign/jtype.scm 37 */
BgL_res1613z00_439 = 
PROCEDURE_ENTRY(BgL_nextzd2method1665zd2_444)(BgL_nextzd2method1665zd2_444, 
(obj_t)(BgL_obj1612z00_436), BEOA); }  else 
{ /* ./Foreign/jtype.scm 37 */
BgL_res1613z00_439 = 
BGl_objectzd2ze3structz31zz__objectz00(
(BgL_objectz00_bglt)(BgL_obj1612z00_436)); } } } 
{ /* ./Foreign/jtype.scm 37 */
obj_t BgL_aux1614z00_440;
{ /* ./Foreign/jtype.scm 37 */
obj_t BgL_keyz00_503;int BgL_lenz00_504;
BgL_keyz00_503 = 
CNST_TABLE_REF(((long)2)); 
BgL_lenz00_504 = 
(int)(((long)1)); 
BgL_aux1614z00_440 = 
make_struct(BgL_keyz00_503, BgL_lenz00_504, BUNSPEC); } 
{ /* ./Foreign/jtype.scm 37 */
BgL_typez00_bglt BgL_arg2265z00_442;
{ 
obj_t BgL_auxz00_772;
{ /* ./Foreign/jtype.scm 37 */
BgL_objectz00_bglt BgL_auxz00_773;
BgL_auxz00_773 = 
(BgL_objectz00_bglt)(BgL_obj1612z00_436); 
BgL_auxz00_772 = 
BGL_OBJECT_WIDENING(BgL_auxz00_773); } 
BgL_arg2265z00_442 = 
(((BgL_jarrayz00_bglt)CREF(BgL_auxz00_772))->BgL_itemzd2typezd2); } 
{ /* ./Foreign/jtype.scm 37 */
int BgL_kz00_508;obj_t BgL_oz00_509;
BgL_kz00_508 = 
(int)(((long)0)); 
BgL_oz00_509 = 
(obj_t)(BgL_arg2265z00_442); 
STRUCT_SET(BgL_aux1614z00_440, BgL_kz00_508, BgL_oz00_509); } } 
{ /* ./Foreign/jtype.scm 37 */
int BgL_kz00_511;
BgL_kz00_511 = 
(int)(((long)0)); 
STRUCT_SET(BgL_res1613z00_439, BgL_kz00_511, BgL_aux1614z00_440); } 
{ /* ./Foreign/jtype.scm 37 */
obj_t BgL_arg2270z00_443;
BgL_arg2270z00_443 = 
STRUCT_KEY(BgL_res1613z00_439); 
STRUCT_KEY_SET(BgL_aux1614z00_440, BgL_arg2270z00_443); } 
{ /* ./Foreign/jtype.scm 37 */
obj_t BgL_kz00_518;
BgL_kz00_518 = 
CNST_TABLE_REF(((long)2)); 
STRUCT_KEY_SET(BgL_res1613z00_439, BgL_kz00_518); } 
return BgL_res1613z00_439;} } } } } 
}



/* make-ctype-accesses!-jarray1664 */
obj_t BGl_makezd2ctypezd2accessesz12zd2jarray1664zc0zzforeign_jtypez00(obj_t BgL_envz00_576, obj_t BgL_whatz00_577, obj_t BgL_whoz00_578, obj_t BgL_locz00_579)
{ AN_OBJECT;
{ /* ./Foreign/jtype.scm 66 */
{ 
BgL_jarrayz00_bglt BgL_whatz00_223;BgL_typez00_bglt BgL_whoz00_224;obj_t BgL_locz00_225;
BgL_whatz00_223 = 
(BgL_jarrayz00_bglt)(BgL_whatz00_577); 
BgL_whoz00_224 = 
(BgL_typez00_bglt)(BgL_whoz00_578); 
BgL_locz00_225 = BgL_locz00_579; 
{ /* ./Foreign/jtype.scm 69 */
obj_t BgL_idz00_228;
{ /* ./Foreign/jtype.scm 69 */
BgL_typez00_bglt BgL_obj1003z00_498;
BgL_obj1003z00_498 = 
(BgL_typez00_bglt)(BgL_whatz00_223); 
BgL_idz00_228 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_498))->BgL_idz00); } 
{ /* ./Foreign/jtype.scm 69 */
obj_t BgL_oidz00_229;
BgL_oidz00_229 = 
BGl_makezd2typedzd2identz00zzast_identz00(
CNST_TABLE_REF(((long)3)), BgL_idz00_228); 
{ /* ./Foreign/jtype.scm 70 */
obj_t BgL_tidz00_230;
BgL_tidz00_230 = 
BGl_makezd2typedzd2formalz00zzast_identz00(BgL_idz00_228); 
{ /* ./Foreign/jtype.scm 71 */
obj_t BgL_idzd2ze3objz31_231;
{ /* ./Foreign/jtype.scm 72 */
obj_t BgL_list2249z00_432;
{ /* ./Foreign/jtype.scm 72 */
obj_t BgL_arg2251z00_433;
{ /* ./Foreign/jtype.scm 72 */
obj_t BgL_auxz00_792;
BgL_auxz00_792 = 
CNST_TABLE_REF(((long)4)); 
BgL_arg2251z00_433 = 
MAKE_PAIR(BgL_auxz00_792, BNIL); } 
BgL_list2249z00_432 = 
MAKE_PAIR(BgL_idz00_228, BgL_arg2251z00_433); } 
BgL_idzd2ze3objz31_231 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2249z00_432); } 
{ /* ./Foreign/jtype.scm 72 */
obj_t BgL_objzd2ze3idz31_232;
{ /* ./Foreign/jtype.scm 73 */
obj_t BgL_list2242z00_429;
{ /* ./Foreign/jtype.scm 73 */
obj_t BgL_arg2244z00_430;obj_t BgL_arg2245z00_431;
BgL_arg2244z00_430 = 
CNST_TABLE_REF(((long)5)); 
BgL_arg2245z00_431 = 
MAKE_PAIR(BgL_idz00_228, BNIL); 
BgL_list2242z00_429 = 
MAKE_PAIR(BgL_arg2244z00_430, BgL_arg2245z00_431); } 
BgL_objzd2ze3idz31_232 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2242z00_429); } 
{ /* ./Foreign/jtype.scm 73 */
obj_t BgL_tobjzd2ze3idz31_233;
BgL_tobjzd2ze3idz31_233 = 
BGl_makezd2typedzd2identz00zzast_identz00(BgL_objzd2ze3idz31_232, BgL_idz00_228); 
{ /* ./Foreign/jtype.scm 74 */
obj_t BgL_idzf3zf3_234;
{ /* ./Foreign/jtype.scm 75 */
obj_t BgL_list2235z00_427;
{ /* ./Foreign/jtype.scm 75 */
obj_t BgL_arg2237z00_428;
{ /* ./Foreign/jtype.scm 75 */
obj_t BgL_auxz00_802;
BgL_auxz00_802 = 
CNST_TABLE_REF(((long)6)); 
BgL_arg2237z00_428 = 
MAKE_PAIR(BgL_auxz00_802, BNIL); } 
BgL_list2235z00_427 = 
MAKE_PAIR(BgL_idz00_228, BgL_arg2237z00_428); } 
BgL_idzf3zf3_234 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2235z00_427); } 
{ /* ./Foreign/jtype.scm 75 */
obj_t BgL_tidzf3zf3_235;
BgL_tidzf3zf3_235 = 
BGl_makezd2typedzd2identz00zzast_identz00(BgL_idzf3zf3_234, 
CNST_TABLE_REF(((long)7))); 
{ /* ./Foreign/jtype.scm 76 */
obj_t BgL_idzd2lengthzd2_236;
{ /* ./Foreign/jtype.scm 77 */
obj_t BgL_list2228z00_425;
{ /* ./Foreign/jtype.scm 77 */
obj_t BgL_arg2230z00_426;
{ /* ./Foreign/jtype.scm 77 */
obj_t BgL_auxz00_809;
BgL_auxz00_809 = 
CNST_TABLE_REF(((long)8)); 
BgL_arg2230z00_426 = 
MAKE_PAIR(BgL_auxz00_809, BNIL); } 
BgL_list2228z00_425 = 
MAKE_PAIR(BgL_idz00_228, BgL_arg2230z00_426); } 
BgL_idzd2lengthzd2_236 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2228z00_425); } 
{ /* ./Foreign/jtype.scm 77 */
obj_t BgL_tidzd2lengthzd2_237;
BgL_tidzd2lengthzd2_237 = 
BGl_makezd2typedzd2identz00zzast_identz00(BgL_idzd2lengthzd2_236, 
CNST_TABLE_REF(((long)9))); 
{ /* ./Foreign/jtype.scm 78 */
BgL_typez00_bglt BgL_itemzd2typezd2_238;
{ 
obj_t BgL_auxz00_816;
{ /* ./Foreign/jtype.scm 79 */
BgL_objectz00_bglt BgL_auxz00_817;
BgL_auxz00_817 = 
(BgL_objectz00_bglt)(BgL_whatz00_223); 
BgL_auxz00_816 = 
BGL_OBJECT_WIDENING(BgL_auxz00_817); } 
BgL_itemzd2typezd2_238 = 
(((BgL_jarrayz00_bglt)CREF(BgL_auxz00_816))->BgL_itemzd2typezd2); } 
{ /* ./Foreign/jtype.scm 79 */
obj_t BgL_itemzd2typezd2idz00_239;
BgL_itemzd2typezd2idz00_239 = 
(((BgL_typez00_bglt)CREF(BgL_itemzd2typezd2_238))->BgL_idz00); 
{ /* ./Foreign/jtype.scm 80 */
obj_t BgL_fitemzd2typezd2idz00_240;
BgL_fitemzd2typezd2idz00_240 = 
BGl_makezd2typedzd2formalz00zzast_identz00(BgL_itemzd2typezd2idz00_239); 
{ /* ./Foreign/jtype.scm 81 */
obj_t BgL_oitemzd2typezd2idz00_241;
BgL_oitemzd2typezd2idz00_241 = 
BGl_makezd2typedzd2identz00zzast_identz00(
CNST_TABLE_REF(((long)10)), BgL_itemzd2typezd2idz00_239); 
{ /* ./Foreign/jtype.scm 82 */
obj_t BgL_makezd2idzd2_242;
{ /* ./Foreign/jtype.scm 83 */
obj_t BgL_list2216z00_422;
{ /* ./Foreign/jtype.scm 83 */
obj_t BgL_arg2218z00_423;obj_t BgL_arg2219z00_424;
BgL_arg2218z00_423 = 
CNST_TABLE_REF(((long)11)); 
BgL_arg2219z00_424 = 
MAKE_PAIR(BgL_idz00_228, BNIL); 
BgL_list2216z00_422 = 
MAKE_PAIR(BgL_arg2218z00_423, BgL_arg2219z00_424); } 
BgL_makezd2idzd2_242 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2216z00_422); } 
{ /* ./Foreign/jtype.scm 83 */
obj_t BgL_tmakezd2idzd2_243;
BgL_tmakezd2idzd2_243 = 
BGl_makezd2typedzd2identz00zzast_identz00(BgL_makezd2idzd2_242, BgL_idz00_228); 
{ /* ./Foreign/jtype.scm 84 */
obj_t BgL_idzd2refzd2_244;
{ /* ./Foreign/jtype.scm 85 */
obj_t BgL_list2209z00_420;
{ /* ./Foreign/jtype.scm 85 */
obj_t BgL_arg2211z00_421;
{ /* ./Foreign/jtype.scm 85 */
obj_t BgL_auxz00_830;
BgL_auxz00_830 = 
CNST_TABLE_REF(((long)12)); 
BgL_arg2211z00_421 = 
MAKE_PAIR(BgL_auxz00_830, BNIL); } 
BgL_list2209z00_420 = 
MAKE_PAIR(BgL_idz00_228, BgL_arg2211z00_421); } 
BgL_idzd2refzd2_244 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2209z00_420); } 
{ /* ./Foreign/jtype.scm 85 */
obj_t BgL_tidzd2refzd2_245;
BgL_tidzd2refzd2_245 = 
BGl_makezd2typedzd2identz00zzast_identz00(BgL_idzd2refzd2_244, BgL_itemzd2typezd2idz00_239); 
{ /* ./Foreign/jtype.scm 86 */
obj_t BgL_idzd2setz12zc0_246;
{ /* ./Foreign/jtype.scm 87 */
obj_t BgL_list2202z00_418;
{ /* ./Foreign/jtype.scm 87 */
obj_t BgL_arg2204z00_419;
{ /* ./Foreign/jtype.scm 87 */
obj_t BgL_auxz00_836;
BgL_auxz00_836 = 
CNST_TABLE_REF(((long)13)); 
BgL_arg2204z00_419 = 
MAKE_PAIR(BgL_auxz00_836, BNIL); } 
BgL_list2202z00_418 = 
MAKE_PAIR(BgL_idz00_228, BgL_arg2204z00_419); } 
BgL_idzd2setz12zc0_246 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2202z00_418); } 
{ /* ./Foreign/jtype.scm 87 */

{ 

{ /* ./Foreign/jtype.scm 128 */
obj_t BgL_list1807z00_254;
{ /* ./Foreign/jtype.scm 128 */
obj_t BgL_arg1809z00_255;
{ /* ./Foreign/jtype.scm 128 */
obj_t BgL_arg1812z00_256;
{ /* ./Foreign/jtype.scm 128 */
obj_t BgL_arg1815z00_257;
{ /* ./Foreign/jtype.scm 128 */
obj_t BgL_arg1818z00_258;
BgL_arg1818z00_258 = 
MAKE_PAIR(BgL_idzd2setz12zc0_246, BNIL); 
BgL_arg1815z00_257 = 
MAKE_PAIR(BgL_idzd2refzd2_244, BgL_arg1818z00_258); } 
BgL_arg1812z00_256 = 
MAKE_PAIR(BgL_makezd2idzd2_242, BgL_arg1815z00_257); } 
BgL_arg1809z00_255 = 
MAKE_PAIR(BgL_idzd2lengthzd2_236, BgL_arg1812z00_256); } 
BgL_list1807z00_254 = 
MAKE_PAIR(BgL_idzf3zf3_234, BgL_arg1809z00_255); } 
BGl_registerzd2foreignzd2accesszd2identsz12zc0zzforeign_libraryz00(BgL_list1807z00_254); } 
{ /* ./Foreign/jtype.scm 131 */
obj_t BgL_arg1822z00_259;
{ /* ./Foreign/jtype.scm 131 */
obj_t BgL_arg1825z00_260;obj_t BgL_arg1826z00_261;
BgL_arg1825z00_260 = 
CNST_TABLE_REF(((long)27)); 
{ /* ./Foreign/jtype.scm 132 */
obj_t BgL_arg1829z00_262;obj_t BgL_arg1830z00_263;
{ /* ./Foreign/jtype.scm 132 */
obj_t BgL_arg1833z00_264;obj_t BgL_arg1836z00_265;
BgL_arg1833z00_264 = 
CNST_TABLE_REF(((long)28)); 
{ /* ./Foreign/jtype.scm 132 */
obj_t BgL_arg1839z00_266;
BgL_arg1839z00_266 = 
MAKE_PAIR(BgL_tidz00_230, BNIL); 
BgL_arg1836z00_265 = 
MAKE_PAIR(BgL_idzd2ze3objz31_231, BgL_arg1839z00_266); } 
BgL_arg1829z00_262 = 
MAKE_PAIR(BgL_arg1833z00_264, BgL_arg1836z00_265); } 
{ /* ./Foreign/jtype.scm 133 */
obj_t BgL_arg1843z00_267;obj_t BgL_arg1845z00_268;
{ /* ./Foreign/jtype.scm 133 */
obj_t BgL_arg1848z00_269;obj_t BgL_arg1849z00_270;
BgL_arg1848z00_269 = 
CNST_TABLE_REF(((long)28)); 
{ /* ./Foreign/jtype.scm 133 */
obj_t BgL_arg1853z00_271;
{ /* ./Foreign/jtype.scm 133 */
obj_t BgL_auxz00_853;
BgL_auxz00_853 = 
CNST_TABLE_REF(((long)29)); 
BgL_arg1853z00_271 = 
MAKE_PAIR(BgL_auxz00_853, BNIL); } 
BgL_arg1849z00_270 = 
MAKE_PAIR(BgL_tobjzd2ze3idz31_233, BgL_arg1853z00_271); } 
BgL_arg1843z00_267 = 
MAKE_PAIR(BgL_arg1848z00_269, BgL_arg1849z00_270); } 
{ /* ./Foreign/jtype.scm 134 */
obj_t BgL_arg1857z00_272;obj_t BgL_arg1859z00_273;
{ /* ./Foreign/jtype.scm 134 */
obj_t BgL_arg1862z00_274;obj_t BgL_arg1864z00_275;
BgL_arg1862z00_274 = 
CNST_TABLE_REF(((long)28)); 
{ /* ./Foreign/jtype.scm 134 */
obj_t BgL_arg1867z00_276;
{ /* ./Foreign/jtype.scm 134 */
obj_t BgL_auxz00_859;
BgL_auxz00_859 = 
CNST_TABLE_REF(((long)29)); 
BgL_arg1867z00_276 = 
MAKE_PAIR(BgL_auxz00_859, BNIL); } 
BgL_arg1864z00_275 = 
MAKE_PAIR(BgL_tidzf3zf3_235, BgL_arg1867z00_276); } 
BgL_arg1857z00_272 = 
MAKE_PAIR(BgL_arg1862z00_274, BgL_arg1864z00_275); } 
{ /* ./Foreign/jtype.scm 135 */
obj_t BgL_arg1872z00_277;obj_t BgL_arg1873z00_278;
{ /* ./Foreign/jtype.scm 135 */
obj_t BgL_arg1876z00_279;obj_t BgL_arg1877z00_280;
BgL_arg1876z00_279 = 
CNST_TABLE_REF(((long)28)); 
{ /* ./Foreign/jtype.scm 135 */
obj_t BgL_arg1880z00_281;
BgL_arg1880z00_281 = 
MAKE_PAIR(BgL_tidz00_230, BNIL); 
BgL_arg1877z00_280 = 
MAKE_PAIR(BgL_tidzd2lengthzd2_237, BgL_arg1880z00_281); } 
BgL_arg1872z00_277 = 
MAKE_PAIR(BgL_arg1876z00_279, BgL_arg1877z00_280); } 
{ /* ./Foreign/jtype.scm 136 */
obj_t BgL_arg1884z00_282;obj_t BgL_arg1885z00_283;
{ /* ./Foreign/jtype.scm 136 */
obj_t BgL_arg1888z00_284;obj_t BgL_arg1889z00_285;
BgL_arg1888z00_284 = 
CNST_TABLE_REF(((long)28)); 
{ /* ./Foreign/jtype.scm 136 */
obj_t BgL_arg1892z00_286;
{ /* ./Foreign/jtype.scm 136 */
obj_t BgL_auxz00_869;
BgL_auxz00_869 = 
CNST_TABLE_REF(((long)30)); 
BgL_arg1892z00_286 = 
MAKE_PAIR(BgL_auxz00_869, BNIL); } 
BgL_arg1889z00_285 = 
MAKE_PAIR(BgL_tmakezd2idzd2_243, BgL_arg1892z00_286); } 
BgL_arg1884z00_282 = 
MAKE_PAIR(BgL_arg1888z00_284, BgL_arg1889z00_285); } 
{ /* ./Foreign/jtype.scm 137 */
obj_t BgL_arg1896z00_287;obj_t BgL_arg1897z00_288;
{ /* ./Foreign/jtype.scm 137 */
obj_t BgL_arg1902z00_289;obj_t BgL_arg1904z00_290;
BgL_arg1902z00_289 = 
CNST_TABLE_REF(((long)28)); 
{ /* ./Foreign/jtype.scm 137 */
obj_t BgL_arg1908z00_291;
{ /* ./Foreign/jtype.scm 137 */
obj_t BgL_arg1911z00_292;
{ /* ./Foreign/jtype.scm 137 */
obj_t BgL_auxz00_875;
BgL_auxz00_875 = 
CNST_TABLE_REF(((long)30)); 
BgL_arg1911z00_292 = 
MAKE_PAIR(BgL_auxz00_875, BNIL); } 
BgL_arg1908z00_291 = 
MAKE_PAIR(BgL_tidz00_230, BgL_arg1911z00_292); } 
BgL_arg1904z00_290 = 
MAKE_PAIR(BgL_tidzd2refzd2_245, BgL_arg1908z00_291); } 
BgL_arg1896z00_287 = 
MAKE_PAIR(BgL_arg1902z00_289, BgL_arg1904z00_290); } 
{ /* ./Foreign/jtype.scm 138 */
obj_t BgL_arg1915z00_293;
{ /* ./Foreign/jtype.scm 138 */
obj_t BgL_arg1919z00_295;obj_t BgL_arg1920z00_296;
BgL_arg1919z00_295 = 
CNST_TABLE_REF(((long)28)); 
{ /* ./Foreign/jtype.scm 138 */
obj_t BgL_arg1924z00_297;
{ /* ./Foreign/jtype.scm 138 */
obj_t BgL_arg1928z00_298;
{ /* ./Foreign/jtype.scm 138 */
obj_t BgL_arg1931z00_299;obj_t BgL_arg1933z00_300;
BgL_arg1931z00_299 = 
CNST_TABLE_REF(((long)30)); 
BgL_arg1933z00_300 = 
MAKE_PAIR(BgL_fitemzd2typezd2idz00_240, BNIL); 
BgL_arg1928z00_298 = 
MAKE_PAIR(BgL_arg1931z00_299, BgL_arg1933z00_300); } 
BgL_arg1924z00_297 = 
MAKE_PAIR(BgL_tidz00_230, BgL_arg1928z00_298); } 
BgL_arg1920z00_296 = 
MAKE_PAIR(BgL_idzd2setz12zc0_246, BgL_arg1924z00_297); } 
BgL_arg1915z00_293 = 
MAKE_PAIR(BgL_arg1919z00_295, BgL_arg1920z00_296); } 
BgL_arg1897z00_288 = 
MAKE_PAIR(BgL_arg1915z00_293, BNIL); } 
BgL_arg1885z00_283 = 
MAKE_PAIR(BgL_arg1896z00_287, BgL_arg1897z00_288); } 
BgL_arg1873z00_278 = 
MAKE_PAIR(BgL_arg1884z00_282, BgL_arg1885z00_283); } 
BgL_arg1859z00_273 = 
MAKE_PAIR(BgL_arg1872z00_277, BgL_arg1873z00_278); } 
BgL_arg1845z00_268 = 
MAKE_PAIR(BgL_arg1857z00_272, BgL_arg1859z00_273); } 
BgL_arg1830z00_263 = 
MAKE_PAIR(BgL_arg1843z00_267, BgL_arg1845z00_268); } 
BgL_arg1826z00_261 = 
MAKE_PAIR(BgL_arg1829z00_262, BgL_arg1830z00_263); } 
BgL_arg1822z00_259 = 
MAKE_PAIR(BgL_arg1825z00_260, BgL_arg1826z00_261); } 
BGl_producezd2modulezd2clausez12z12zzmodule_modulez00(BgL_arg1822z00_259); } 
{ /* ./Foreign/jtype.scm 140 */
obj_t BgL_arg1938z00_301;obj_t BgL_arg1939z00_302;obj_t BgL_arg1941z00_303;obj_t BgL_arg1945z00_304;obj_t BgL_arg1946z00_305;obj_t BgL_arg1948z00_306;obj_t BgL_arg1949z00_307;
{ /* ./Foreign/jtype.scm 91 */
obj_t BgL_arg2182z00_403;obj_t BgL_arg2183z00_404;
BgL_arg2182z00_403 = 
CNST_TABLE_REF(((long)14)); 
{ /* ./Foreign/jtype.scm 91 */
obj_t BgL_arg2187z00_405;obj_t BgL_arg2188z00_406;
{ /* ./Foreign/jtype.scm 91 */
obj_t BgL_arg2191z00_407;
BgL_arg2191z00_407 = 
MAKE_PAIR(BgL_oidz00_229, BNIL); 
BgL_arg2187z00_405 = 
MAKE_PAIR(BgL_idzd2ze3objz31_231, BgL_arg2191z00_407); } 
{ /* ./Foreign/jtype.scm 92 */
obj_t BgL_arg2195z00_408;
{ /* ./Foreign/jtype.scm 92 */
obj_t BgL_list2199z00_410;
{ /* ./Foreign/jtype.scm 92 */
obj_t BgL_auxz00_900;
BgL_auxz00_900 = 
CNST_TABLE_REF(((long)3)); 
BgL_list2199z00_410 = 
MAKE_PAIR(BgL_auxz00_900, BNIL); } 
BgL_arg2195z00_408 = 
BGl_makezd2privatezd2sexpz00zzast_privatez00(
CNST_TABLE_REF(((long)15)), 
CNST_TABLE_REF(((long)16)), BgL_list2199z00_410); } 
BgL_arg2188z00_406 = 
MAKE_PAIR(BgL_arg2195z00_408, BNIL); } 
BgL_arg2183z00_404 = 
MAKE_PAIR(BgL_arg2187z00_405, BgL_arg2188z00_406); } 
BgL_arg1938z00_301 = 
MAKE_PAIR(BgL_arg2182z00_403, BgL_arg2183z00_404); } 
{ /* ./Foreign/jtype.scm 95 */
obj_t BgL_arg2162z00_394;obj_t BgL_arg2163z00_395;
BgL_arg2162z00_394 = 
CNST_TABLE_REF(((long)14)); 
{ /* ./Foreign/jtype.scm 95 */
obj_t BgL_arg2166z00_396;obj_t BgL_arg2167z00_397;
{ /* ./Foreign/jtype.scm 95 */
obj_t BgL_arg2170z00_398;
{ /* ./Foreign/jtype.scm 95 */
obj_t BgL_auxz00_910;
BgL_auxz00_910 = 
CNST_TABLE_REF(((long)3)); 
BgL_arg2170z00_398 = 
MAKE_PAIR(BgL_auxz00_910, BNIL); } 
BgL_arg2166z00_396 = 
MAKE_PAIR(BgL_tobjzd2ze3idz31_233, BgL_arg2170z00_398); } 
{ /* ./Foreign/jtype.scm 96 */
obj_t BgL_arg2174z00_399;
{ /* ./Foreign/jtype.scm 96 */
obj_t BgL_list2178z00_401;
{ /* ./Foreign/jtype.scm 96 */
obj_t BgL_auxz00_914;
BgL_auxz00_914 = 
CNST_TABLE_REF(((long)3)); 
BgL_list2178z00_401 = 
MAKE_PAIR(BgL_auxz00_914, BNIL); } 
BgL_arg2174z00_399 = 
BGl_makezd2privatezd2sexpz00zzast_privatez00(
CNST_TABLE_REF(((long)15)), BgL_idz00_228, BgL_list2178z00_401); } 
BgL_arg2167z00_397 = 
MAKE_PAIR(BgL_arg2174z00_399, BNIL); } 
BgL_arg2163z00_395 = 
MAKE_PAIR(BgL_arg2166z00_396, BgL_arg2167z00_397); } 
BgL_arg1939z00_302 = 
MAKE_PAIR(BgL_arg2162z00_394, BgL_arg2163z00_395); } 
{ /* ./Foreign/jtype.scm 100 */
obj_t BgL_arg2142z00_385;obj_t BgL_arg2143z00_386;
BgL_arg2142z00_385 = 
CNST_TABLE_REF(((long)14)); 
{ /* ./Foreign/jtype.scm 100 */
obj_t BgL_arg2146z00_387;obj_t BgL_arg2147z00_388;
{ /* ./Foreign/jtype.scm 100 */
obj_t BgL_arg2150z00_389;
{ /* ./Foreign/jtype.scm 100 */
obj_t BgL_auxz00_923;
BgL_auxz00_923 = 
CNST_TABLE_REF(((long)17)); 
BgL_arg2150z00_389 = 
MAKE_PAIR(BgL_auxz00_923, BNIL); } 
BgL_arg2146z00_387 = 
MAKE_PAIR(BgL_tidzf3zf3_235, BgL_arg2150z00_389); } 
{ /* ./Foreign/jtype.scm 101 */
obj_t BgL_arg2154z00_390;
{ /* ./Foreign/jtype.scm 101 */
obj_t BgL_list2158z00_392;
{ /* ./Foreign/jtype.scm 101 */
obj_t BgL_auxz00_927;
BgL_auxz00_927 = 
CNST_TABLE_REF(((long)3)); 
BgL_list2158z00_392 = 
MAKE_PAIR(BgL_auxz00_927, BNIL); } 
BgL_arg2154z00_390 = 
BGl_makezd2privatezd2sexpz00zzast_privatez00(
CNST_TABLE_REF(((long)18)), BgL_idz00_228, BgL_list2158z00_392); } 
BgL_arg2147z00_388 = 
MAKE_PAIR(BgL_arg2154z00_390, BNIL); } 
BgL_arg2143z00_386 = 
MAKE_PAIR(BgL_arg2146z00_387, BgL_arg2147z00_388); } 
BgL_arg1941z00_303 = 
MAKE_PAIR(BgL_arg2142z00_385, BgL_arg2143z00_386); } 
{ /* ./Foreign/jtype.scm 105 */
obj_t BgL_arg2111z00_371;obj_t BgL_arg2112z00_372;
BgL_arg2111z00_371 = 
CNST_TABLE_REF(((long)14)); 
{ /* ./Foreign/jtype.scm 105 */
obj_t BgL_arg2115z00_373;obj_t BgL_arg2116z00_374;
{ /* ./Foreign/jtype.scm 105 */
obj_t BgL_arg2119z00_375;
BgL_arg2119z00_375 = 
MAKE_PAIR(BgL_oidz00_229, BNIL); 
BgL_arg2115z00_373 = 
MAKE_PAIR(BgL_tidzd2lengthzd2_237, BgL_arg2119z00_375); } 
{ /* ./Foreign/jtype.scm 106 */
obj_t BgL_arg2123z00_376;
{ /* ./Foreign/jtype.scm 106 */
obj_t BgL_list2127z00_378;
{ /* ./Foreign/jtype.scm 106 */
obj_t BgL_arg2129z00_379;
{ /* ./Foreign/jtype.scm 106 */
obj_t BgL_arg2132z00_380;obj_t BgL_arg2133z00_381;
BgL_arg2132z00_380 = 
CNST_TABLE_REF(((long)9)); 
{ /* ./Foreign/jtype.scm 106 */
obj_t BgL_arg2137z00_383;
{ /* ./Foreign/jtype.scm 106 */
obj_t BgL_auxz00_939;
BgL_auxz00_939 = 
CNST_TABLE_REF(((long)3)); 
BgL_arg2137z00_383 = 
MAKE_PAIR(BgL_auxz00_939, BNIL); } 
BgL_arg2133z00_381 = 
MAKE_PAIR(BGl_string2414z00zzforeign_jtypez00, BgL_arg2137z00_383); } 
BgL_arg2129z00_379 = 
MAKE_PAIR(BgL_arg2132z00_380, BgL_arg2133z00_381); } 
BgL_list2127z00_378 = 
MAKE_PAIR(BgL_itemzd2typezd2idz00_239, BgL_arg2129z00_379); } 
BgL_arg2123z00_376 = 
BGl_makezd2privatezd2sexpz00zzast_privatez00(
CNST_TABLE_REF(((long)19)), BgL_idz00_228, BgL_list2127z00_378); } 
BgL_arg2116z00_374 = 
MAKE_PAIR(BgL_arg2123z00_376, BNIL); } 
BgL_arg2112z00_372 = 
MAKE_PAIR(BgL_arg2115z00_373, BgL_arg2116z00_374); } 
BgL_arg1945z00_304 = 
MAKE_PAIR(BgL_arg2111z00_371, BgL_arg2112z00_372); } 
{ /* ./Foreign/jtype.scm 111 */
obj_t BgL_arg2071z00_354;obj_t BgL_arg2072z00_355;
BgL_arg2071z00_354 = 
CNST_TABLE_REF(((long)14)); 
{ /* ./Foreign/jtype.scm 111 */
obj_t BgL_arg2075z00_356;obj_t BgL_arg2076z00_357;
{ /* ./Foreign/jtype.scm 111 */
obj_t BgL_arg2080z00_358;
{ /* ./Foreign/jtype.scm 111 */
obj_t BgL_auxz00_951;
BgL_auxz00_951 = 
CNST_TABLE_REF(((long)20)); 
BgL_arg2080z00_358 = 
MAKE_PAIR(BgL_auxz00_951, BNIL); } 
BgL_arg2075z00_356 = 
MAKE_PAIR(BgL_tmakezd2idzd2_243, BgL_arg2080z00_358); } 
{ /* ./Foreign/jtype.scm 112 */
obj_t BgL_arg2084z00_359;
{ /* ./Foreign/jtype.scm 112 */
obj_t BgL_list2088z00_361;
{ /* ./Foreign/jtype.scm 112 */
obj_t BgL_arg2090z00_362;
{ /* ./Foreign/jtype.scm 112 */
obj_t BgL_arg2093z00_363;obj_t BgL_arg2094z00_364;
BgL_arg2093z00_363 = 
CNST_TABLE_REF(((long)9)); 
{ /* ./Foreign/jtype.scm 112 */
obj_t BgL_arg2098z00_366;
{ /* ./Foreign/jtype.scm 112 */
obj_t BgL_arg2102z00_368;
{ /* ./Foreign/jtype.scm 112 */
obj_t BgL_arg2105z00_369;
{ /* ./Foreign/jtype.scm 112 */
obj_t BgL_auxz00_956;
BgL_auxz00_956 = 
CNST_TABLE_REF(((long)21)); 
BgL_arg2105z00_369 = 
MAKE_PAIR(BgL_auxz00_956, BNIL); } 
BgL_arg2102z00_368 = 
MAKE_PAIR(BFALSE, BgL_arg2105z00_369); } 
BgL_arg2098z00_366 = 
MAKE_PAIR(BGl_string2414z00zzforeign_jtypez00, BgL_arg2102z00_368); } 
BgL_arg2094z00_364 = 
MAKE_PAIR(BGl_string2414z00zzforeign_jtypez00, BgL_arg2098z00_366); } 
BgL_arg2090z00_362 = 
MAKE_PAIR(BgL_arg2093z00_363, BgL_arg2094z00_364); } 
BgL_list2088z00_361 = 
MAKE_PAIR(BgL_itemzd2typezd2idz00_239, BgL_arg2090z00_362); } 
BgL_arg2084z00_359 = 
BGl_makezd2privatezd2sexpz00zzast_privatez00(
CNST_TABLE_REF(((long)22)), BgL_idz00_228, BgL_list2088z00_361); } 
BgL_arg2076z00_357 = 
MAKE_PAIR(BgL_arg2084z00_359, BNIL); } 
BgL_arg2072z00_355 = 
MAKE_PAIR(BgL_arg2075z00_356, BgL_arg2076z00_357); } 
BgL_arg1946z00_305 = 
MAKE_PAIR(BgL_arg2071z00_354, BgL_arg2072z00_355); } 
{ /* ./Foreign/jtype.scm 118 */
obj_t BgL_arg2032z00_337;obj_t BgL_arg2033z00_338;
BgL_arg2032z00_337 = 
CNST_TABLE_REF(((long)14)); 
{ /* ./Foreign/jtype.scm 118 */
obj_t BgL_arg2037z00_339;obj_t BgL_arg2038z00_340;
{ /* ./Foreign/jtype.scm 118 */
obj_t BgL_arg2041z00_341;
{ /* ./Foreign/jtype.scm 118 */
obj_t BgL_arg2044z00_342;
{ /* ./Foreign/jtype.scm 118 */
obj_t BgL_auxz00_970;
BgL_auxz00_970 = 
CNST_TABLE_REF(((long)23)); 
BgL_arg2044z00_342 = 
MAKE_PAIR(BgL_auxz00_970, BNIL); } 
BgL_arg2041z00_341 = 
MAKE_PAIR(BgL_oidz00_229, BgL_arg2044z00_342); } 
BgL_arg2037z00_339 = 
MAKE_PAIR(BgL_tidzd2refzd2_245, BgL_arg2041z00_341); } 
{ /* ./Foreign/jtype.scm 119 */
obj_t BgL_arg2048z00_343;
{ /* ./Foreign/jtype.scm 119 */
obj_t BgL_list2052z00_345;
{ /* ./Foreign/jtype.scm 119 */
obj_t BgL_arg2054z00_346;
{ /* ./Foreign/jtype.scm 119 */
obj_t BgL_arg2057z00_347;obj_t BgL_arg2058z00_348;
BgL_arg2057z00_347 = 
CNST_TABLE_REF(((long)9)); 
{ /* ./Foreign/jtype.scm 119 */
obj_t BgL_arg2062z00_350;
{ /* ./Foreign/jtype.scm 120 */
obj_t BgL_arg2065z00_351;obj_t BgL_arg2066z00_352;
BgL_arg2065z00_351 = 
CNST_TABLE_REF(((long)3)); 
{ /* ./Foreign/jtype.scm 119 */
obj_t BgL_auxz00_977;
BgL_auxz00_977 = 
CNST_TABLE_REF(((long)24)); 
BgL_arg2066z00_352 = 
MAKE_PAIR(BgL_auxz00_977, BNIL); } 
BgL_arg2062z00_350 = 
MAKE_PAIR(BgL_arg2065z00_351, BgL_arg2066z00_352); } 
BgL_arg2058z00_348 = 
MAKE_PAIR(BGl_string2414z00zzforeign_jtypez00, BgL_arg2062z00_350); } 
BgL_arg2054z00_346 = 
MAKE_PAIR(BgL_arg2057z00_347, BgL_arg2058z00_348); } 
BgL_list2052z00_345 = 
MAKE_PAIR(BgL_itemzd2typezd2idz00_239, BgL_arg2054z00_346); } 
BgL_arg2048z00_343 = 
BGl_makezd2privatezd2sexpz00zzast_privatez00(
CNST_TABLE_REF(((long)25)), BgL_idz00_228, BgL_list2052z00_345); } 
BgL_arg2038z00_340 = 
MAKE_PAIR(BgL_arg2048z00_343, BNIL); } 
BgL_arg2033z00_338 = 
MAKE_PAIR(BgL_arg2037z00_339, BgL_arg2038z00_340); } 
BgL_arg1948z00_306 = 
MAKE_PAIR(BgL_arg2032z00_337, BgL_arg2033z00_338); } 
{ /* ./Foreign/jtype.scm 123 */
obj_t BgL_arg1981z00_316;obj_t BgL_arg1982z00_317;
BgL_arg1981z00_316 = 
CNST_TABLE_REF(((long)14)); 
{ /* ./Foreign/jtype.scm 123 */
obj_t BgL_arg1987z00_318;obj_t BgL_arg1988z00_319;
{ /* ./Foreign/jtype.scm 123 */
obj_t BgL_arg1993z00_320;
{ /* ./Foreign/jtype.scm 123 */
obj_t BgL_arg1996z00_321;
{ /* ./Foreign/jtype.scm 123 */
obj_t BgL_arg2000z00_322;obj_t BgL_arg2001z00_323;
BgL_arg2000z00_322 = 
CNST_TABLE_REF(((long)23)); 
BgL_arg2001z00_323 = 
MAKE_PAIR(BgL_oitemzd2typezd2idz00_241, BNIL); 
BgL_arg1996z00_321 = 
MAKE_PAIR(BgL_arg2000z00_322, BgL_arg2001z00_323); } 
BgL_arg1993z00_320 = 
MAKE_PAIR(BgL_oidz00_229, BgL_arg1996z00_321); } 
BgL_arg1987z00_318 = 
MAKE_PAIR(BgL_idzd2setz12zc0_246, BgL_arg1993z00_320); } 
{ /* ./Foreign/jtype.scm 124 */
obj_t BgL_arg2005z00_324;
{ /* ./Foreign/jtype.scm 124 */
obj_t BgL_list2009z00_326;
{ /* ./Foreign/jtype.scm 124 */
obj_t BgL_arg2011z00_327;
{ /* ./Foreign/jtype.scm 124 */
obj_t BgL_arg2014z00_328;obj_t BgL_arg2015z00_329;
BgL_arg2014z00_328 = 
CNST_TABLE_REF(((long)9)); 
{ /* ./Foreign/jtype.scm 124 */
obj_t BgL_arg2019z00_331;
{ /* ./Foreign/jtype.scm 125 */
obj_t BgL_arg2022z00_332;obj_t BgL_arg2023z00_333;
BgL_arg2022z00_332 = 
CNST_TABLE_REF(((long)3)); 
{ /* ./Foreign/jtype.scm 125 */
obj_t BgL_arg2026z00_334;obj_t BgL_arg2027z00_335;
BgL_arg2026z00_334 = 
CNST_TABLE_REF(((long)24)); 
{ /* ./Foreign/jtype.scm 124 */
obj_t BgL_auxz00_998;
BgL_auxz00_998 = 
CNST_TABLE_REF(((long)10)); 
BgL_arg2027z00_335 = 
MAKE_PAIR(BgL_auxz00_998, BNIL); } 
BgL_arg2023z00_333 = 
MAKE_PAIR(BgL_arg2026z00_334, BgL_arg2027z00_335); } 
BgL_arg2019z00_331 = 
MAKE_PAIR(BgL_arg2022z00_332, BgL_arg2023z00_333); } 
BgL_arg2015z00_329 = 
MAKE_PAIR(BGl_string2414z00zzforeign_jtypez00, BgL_arg2019z00_331); } 
BgL_arg2011z00_327 = 
MAKE_PAIR(BgL_arg2014z00_328, BgL_arg2015z00_329); } 
BgL_list2009z00_326 = 
MAKE_PAIR(BgL_itemzd2typezd2idz00_239, BgL_arg2011z00_327); } 
BgL_arg2005z00_324 = 
BGl_makezd2privatezd2sexpz00zzast_privatez00(
CNST_TABLE_REF(((long)26)), BgL_idz00_228, BgL_list2009z00_326); } 
BgL_arg1988z00_319 = 
MAKE_PAIR(BgL_arg2005z00_324, BNIL); } 
BgL_arg1982z00_317 = 
MAKE_PAIR(BgL_arg1987z00_318, BgL_arg1988z00_319); } 
BgL_arg1949z00_307 = 
MAKE_PAIR(BgL_arg1981z00_316, BgL_arg1982z00_317); } 
{ /* ./Foreign/jtype.scm 140 */
obj_t BgL_list1951z00_308;
{ /* ./Foreign/jtype.scm 140 */
obj_t BgL_arg1953z00_309;
{ /* ./Foreign/jtype.scm 140 */
obj_t BgL_arg1956z00_310;
{ /* ./Foreign/jtype.scm 140 */
obj_t BgL_arg1960z00_311;
{ /* ./Foreign/jtype.scm 140 */
obj_t BgL_arg1963z00_312;
{ /* ./Foreign/jtype.scm 140 */
obj_t BgL_arg1966z00_313;
{ /* ./Foreign/jtype.scm 140 */
obj_t BgL_arg1969z00_314;
BgL_arg1969z00_314 = 
MAKE_PAIR(BgL_arg1949z00_307, BNIL); 
BgL_arg1966z00_313 = 
MAKE_PAIR(BgL_arg1948z00_306, BgL_arg1969z00_314); } 
BgL_arg1963z00_312 = 
MAKE_PAIR(BgL_arg1946z00_305, BgL_arg1966z00_313); } 
BgL_arg1960z00_311 = 
MAKE_PAIR(BgL_arg1945z00_304, BgL_arg1963z00_312); } 
BgL_arg1956z00_310 = 
MAKE_PAIR(BgL_arg1941z00_303, BgL_arg1960z00_311); } 
BgL_arg1953z00_309 = 
MAKE_PAIR(BgL_arg1939z00_302, BgL_arg1956z00_310); } 
BgL_list1951z00_308 = 
MAKE_PAIR(BgL_arg1938z00_301, BgL_arg1953z00_309); } 
return BgL_list1951z00_308;} } } } } } } } } } } } } } } } } } } } } } } } } 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzforeign_jtypez00()
{ AN_OBJECT;
{ /* ./Foreign/jtype.scm 17 */
BGl_modulezd2initializa7ationz75zztools_tracez00(((long)59211), "foreign_jtype"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "foreign_jtype"); 
BGl_modulezd2initializa7ationz75zztype_envz00(((long)25186), "foreign_jtype"); 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "foreign_jtype"); 
BGl_modulezd2initializa7ationz75zztype_toolsz00(((long)15091), "foreign_jtype"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "foreign_jtype"); 
BGl_modulezd2initializa7ationz75zztools_argsz00(((long)42726), "foreign_jtype"); 
BGl_modulezd2initializa7ationz75zztools_miscz00(((long)64117), "foreign_jtype"); 
BGl_modulezd2initializa7ationz75zztools_locationz00(((long)32118), "foreign_jtype"); 
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "foreign_jtype"); 
BGl_modulezd2initializa7ationz75zzmodule_modulez00(((long)8699), "foreign_jtype"); 
BGl_modulezd2initializa7ationz75zzast_identz00(((long)51504), "foreign_jtype"); 
BGl_modulezd2initializa7ationz75zzast_privatez00(((long)8704), "foreign_jtype"); 
BGl_modulezd2initializa7ationz75zzforeign_ctypez00(((long)51394), "foreign_jtype"); 
BGl_modulezd2initializa7ationz75zzforeign_accessz00(((long)13730), "foreign_jtype"); 
return 
BGl_modulezd2initializa7ationz75zzforeign_libraryz00(((long)43975), "foreign_jtype");} 
}

