/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79)      --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
--                 http://www.loria.fr/SmallEiffel              --
*/
#include "compile_to_jvm.h"


T6 r22is_used(T0* a1){
T6 R=0;
R=r65has((T65*)(oBC22base_class_dictionary),a1);
return R;
}


T0* r22base_class(T22* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(r65has((T65*)(oBC22base_class_dictionary),(((T70*)a1))->_to_string/*0*/)){
R=r65at((T65*)(oBC22base_class_dictionary),(((T70*)a1))->_to_string/*0*/);
}
 else if(((T71*)(oBC12eiffel_parser))->_is_running/*8*/){
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms22_71162);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
else{
/*[IF*/
if(r22parser_buffer_for(C,(((T70*)a1))->_to_string/*0*/)){
R=r71analyse_class((T71*)(oBC12eiffel_parser),a1);
}
/*FI]*/
/*[IF*/
if((R)==((void*)(NULL))){
r21add_position((((T70*)a1))->_start_position/*4*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms22_31059);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:SMALL_EIFFEL.is_ready*/
/*No:SMALL_EIFFEL.base_class_count*/
/*No:SMALL_EIFFEL.root_procedure*/
/*No:SMALL_EIFFEL.em1*/
T0*oBC12tmp_file_read=NULL;


void r22add_class(T22* C,T0* a1){
r65put((T65*)(oBC22base_class_dictionary),a1,((T70*)((((T63*)a1))->_name/*24*/))->_to_string/*0*/);
r22incr_magic_count(C);
}
/*No:SMALL_EIFFEL.eiffel_suffix*/


void r22get_started(T22* C,T0* a1,T0* a2){
T2 _magic=0;
T0* _root_type=NULL;
T0* _root_proc=NULL;
T0* _root=NULL;
T0* _root_proc_name=NULL;
r31put_string((T31*)(oBC12echo),((T0*)ms22_806412));
/*[IF*/
if(r76no_check((T76*)(oBC12run_control))){
/*[IRF3.3set_generator_used*/((((T76*)((T76*)(oBC12run_control))))->_generator_used)=(1);
/*]*/
/*[IRF3.3set_generating_type_used*/((((T76*)((T76*)(oBC12run_control))))->_generating_type_used)=(1);
/*]*/
}
/*FI]*/
r31put_string((T31*)(oBC12echo),((T0*)ms22_6260));
_root=r22load_class(C,a1);
/*[IF*/
if((_root)==((void*)(NULL))){
/*[IRF3.6append*/{T0* b1=((T0*)ms22_28658);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21error((T21*)(oBC12eh),((T0*)ms13_47));
}
else{
_root_proc_name=r63root_procedure_name(((T63*)_root),a2);
_root_proc=r63root_procedure(((T63*)_root),_root_proc_name);
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if(((((T307*)_root_proc))->_arguments/*24*/)!=((void*)(NULL))){
r21add_position(r307start_position(((T307*)_root_proc)));
/*[IRF3.6append*/{T0* b1=((T0*)ms22_21242);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21error((T21*)(oBC12eh),((T0*)ms22_41350));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
_root_type=((T23*)(r63run_class(((T63*)_root))))->_current_type/*0*/;
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
C->_root_procedure=r307to_run_feature(((T307*)_root_proc),_root_type,_root_proc_name);
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
r31put_string((T31*)(oBC12echo),((T0*)ms22_33603));
r31put_integer((T31*)(oBC12echo),(C)->_magic_count/*12*/);
r31put_string((T31*)(oBC12echo),((T0*)ms22_5112));
/*[IRF3.2falling_down*/{T2 _i=0;
T0* _rc=NULL;
/*[IF*/
if(((T76*)(oBC12run_control))->_generator_used/*16*/){
((/*UT*/(void)((T276*)(r22type_string()))),r276set_at_run_time());
}
/*FI]*/
/*[IRF3.2falling_down*//*[IF*/
if((((T347*)(oBC346mangling_dictionary))->_count/*36*/)>(0)){
((/*UT*/(void)((T276*)(r346type_string()))),r276set_at_run_time());
}
/*FI]*/
/*]*/
/*[IRF3.2falling_down*/{T2 _count2=0;
T2 _count1=0;
T0* _dictionary2=NULL;
/*[IF*/
if(!(/*(IRF4.7empty*/(((T337*)(oBC335dictionary))->_count/*36*/)==(0)/*)*/)){
_count1=1;
while (!((_count1)>(((T337*)(oBC335dictionary))->_count/*36*/))) {
_dictionary2=r337item((T337*)(oBC335dictionary),_count1);
_count2=1;
while (!((_count2)>((((T333*)_dictionary2))->_count/*36*/))) {
X27fall_down(r333item(((T333*)_dictionary2),_count2));
_count2=(_count2)+(1);
}
_count1=(_count1)+(1);
}
}
/*FI]*/
}/*]*/
_i=1;
while (!((_i)>(((T342*)(oBC22run_class_dictionary))->_count/*36*/))) {
_rc=r342item((T342*)(oBC22run_class_dictionary),_i);
r23falling_down(((T23*)_rc));
_i=(_i)+(1);
}
}/*]*/
r360fill_up((T360*)(oBC12cecil_pool));
while (!(((_magic)==((C)->_magic_count/*12*/))||((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)>(0)))) {
_magic=(C)->_magic_count/*12*/;
/*[IRF3.2falling_down*/{T2 _i=0;
T0* _rc=NULL;
/*[IF*/
if(((T76*)(oBC12run_control))->_generator_used/*16*/){
((/*UT*/(void)((T276*)(r22type_string()))),r276set_at_run_time());
}
/*FI]*/
/*[IRF3.2falling_down*//*[IF*/
if((((T347*)(oBC346mangling_dictionary))->_count/*36*/)>(0)){
((/*UT*/(void)((T276*)(r346type_string()))),r276set_at_run_time());
}
/*FI]*/
/*]*/
/*[IRF3.2falling_down*/{T2 _count2=0;
T2 _count1=0;
T0* _dictionary2=NULL;
/*[IF*/
if(!(/*(IRF4.7empty*/(((T337*)(oBC335dictionary))->_count/*36*/)==(0)/*)*/)){
_count1=1;
while (!((_count1)>(((T337*)(oBC335dictionary))->_count/*36*/))) {
_dictionary2=r337item((T337*)(oBC335dictionary),_count1);
_count2=1;
while (!((_count2)>((((T333*)_dictionary2))->_count/*36*/))) {
X27fall_down(r333item(((T333*)_dictionary2),_count2));
_count2=(_count2)+(1);
}
_count1=(_count1)+(1);
}
}
/*FI]*/
}/*]*/
_i=1;
while (!((_i)>(((T342*)(oBC22run_class_dictionary))->_count/*36*/))) {
_rc=r342item((T342*)(oBC22run_class_dictionary),_i);
r23falling_down(((T23*)_rc));
_i=(_i)+(1);
}
}/*]*/
}
r31put_string((T31*)(oBC12echo),((T0*)ms22_26817));
r31put_integer((T31*)(oBC12echo),(C)->_magic_count/*12*/);
r31put_string((T31*)(oBC12echo),((T0*)ms22_5112));
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
r31put_string((T31*)(oBC12echo),((T0*)ms22_26820));
r31put_integer((T31*)(oBC12echo),(C)->_magic_count/*12*/);
r31put_string((T31*)(oBC12echo),((T0*)ms22_5112));
/*[IRF3.2afd_check*/{T2 _i=0;
T0* _rc=NULL;
_i=1;
while (!((_i)>(((T342*)(oBC22run_class_dictionary))->_count/*36*/))) {
_rc=r342item((T342*)(oBC22run_class_dictionary),_i);
r23afd_check(((T23*)_rc));
_i=(_i)+(1);
}
}/*]*/
while (!(((_magic)==((C)->_magic_count/*12*/))||((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)>(0)))) {
_magic=(C)->_magic_count/*12*/;
/*[IRF3.2falling_down*/{T2 _i=0;
T0* _rc=NULL;
/*[IF*/
if(((T76*)(oBC12run_control))->_generator_used/*16*/){
((/*UT*/(void)((T276*)(r22type_string()))),r276set_at_run_time());
}
/*FI]*/
/*[IRF3.2falling_down*//*[IF*/
if((((T347*)(oBC346mangling_dictionary))->_count/*36*/)>(0)){
((/*UT*/(void)((T276*)(r346type_string()))),r276set_at_run_time());
}
/*FI]*/
/*]*/
/*[IRF3.2falling_down*/{T2 _count2=0;
T2 _count1=0;
T0* _dictionary2=NULL;
/*[IF*/
if(!(/*(IRF4.7empty*/(((T337*)(oBC335dictionary))->_count/*36*/)==(0)/*)*/)){
_count1=1;
while (!((_count1)>(((T337*)(oBC335dictionary))->_count/*36*/))) {
_dictionary2=r337item((T337*)(oBC335dictionary),_count1);
_count2=1;
while (!((_count2)>((((T333*)_dictionary2))->_count/*36*/))) {
X27fall_down(r333item(((T333*)_dictionary2),_count2));
_count2=(_count2)+(1);
}
_count1=(_count1)+(1);
}
}
/*FI]*/
}/*]*/
_i=1;
while (!((_i)>(((T342*)(oBC22run_class_dictionary))->_count/*36*/))) {
_rc=r342item((T342*)(oBC22run_class_dictionary),_i);
r23falling_down(((T23*)_rc));
_i=(_i)+(1);
}
}/*]*/
/*[IRF3.2afd_check*/{T2 _i=0;
T0* _rc=NULL;
_i=1;
while (!((_i)>(((T342*)(oBC22run_class_dictionary))->_count/*36*/))) {
_rc=r342item((T342*)(oBC22run_class_dictionary),_i);
r23afd_check(((T23*)_rc));
_i=(_i)+(1);
}
}/*]*/
}
r31put_string((T31*)(oBC12echo),((T0*)ms22_20826));
r31put_integer((T31*)(oBC12echo),(C)->_magic_count/*12*/);
r31put_string((T31*)(oBC12echo),((T0*)ms22_5112));
/*[IRF3.2check_for_deferred*/{T0* _rc=NULL;
T0* _rf9=NULL;
T2 _i=0;
_i=((T356*)(oBC22rf9_memory))->_upper/*12*/;
r31print_count((T31*)(oBC12echo),((T0*)ms22_33872),(_i)+(1));
while (!((_i)<(0))) {
_rf9=/*(IRF4.6item*/(((T356*)(oBC22rf9_memory))->_storage/*4*/)[_i]/*)*/;
_rc=X52run_class(/*X27current_type*/((T0*)(((T26*)_rf9))->_current_type/*4*/));
/*[IF*/
if((((T23*)_rc))->_at_run_time/*8*/){
/*[IRF3.6append*/{T0* b1=X50to_string(/*X27name*/((T0*)(((T26*)_rf9))->_name/*16*/));
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms22_31928);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X52written_mark(/*X27current_type*/((T0*)(((T26*)_rf9))->_current_type/*4*/));
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r22warning(X27start_position(_rf9),((T0*)ms13_47));
}
/*FI]*/
_i=(_i)-(1);
}
}/*]*/
}
/*FI]*/
/*[IF*/
if(!(r21empty())){
/*[IRF3.6append*/{T0* b1=((T0*)ms22_99120);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_warning((T21*)(oBC12eh));
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
C->_is_ready=1;
r31print_count((T31*)(oBC12echo),((T0*)ms22_23569),((T65*)(oBC22base_class_dictionary))->_count/*32*/);
}
/*FI]*/
}
/*No:SMALL_EIFFEL.fz_03*/


T0* r22load_class(T22* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(r22parser_buffer_for(C,a1)){
R=r71analyse_class((T71*)(oBC12eiffel_parser),NULL);
/*[IF*/
if((R)==((void*)(NULL))){
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms22_24084);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}
else{
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms22_24084a);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}


T0* r22run_class(T0* a1){
T0* R=NULL;
T0* _run_string=NULL;
_run_string=X52run_time_mark(a1);
/*[IF*/
if(r342has((T342*)(oBC22run_class_dictionary),_run_string)){
R=r342at((T342*)(oBC22run_class_dictionary),_run_string);
}
else{
{T23*n=malloc(sizeof(*n));
*n=M23;
r23make(n,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}


T0* r22get_class(T0* a1){
T0* R=NULL;
/*[IF*/
if(r65has((T65*)(oBC22base_class_dictionary),a1)){
R=r65at((T65*)(oBC22base_class_dictionary),a1);
}
else{
r70make((T70*)(r22tmp_class_name()),a1,NULL);
R=r70base_class((T70*)(r22tmp_class_name()));
}
/*FI]*/
return R;
}


void r22pop(T22* C){
C->_top=((C)->_top/*16*/)-(1);
}
/*No:SMALL_EIFFEL.magic_count*/


void r22afd_check_deferred(T0* a1){
/*[IF*/
if(!(r356fast_has((T356*)(oBC22rf9_memory),a1))){
r356add_last((T356*)(oBC22rf9_memory),a1);
}
/*FI]*/
}
T0*oBC22run_class_dictionary=NULL;
/*No:SMALL_EIFFEL.top*/
T0*oBC22parser_buffer_path=NULL;


void r22compile_to_jvm(T22* C,T0* a1,T0* a2){
T2 _i=0;
T2 _run_count=0;
T0* _rc=NULL;
r22get_started(C,a1,a2);
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
r24mkdir((T24*)(oBC12jvm));
_i=1;
while (!((_i)>(((T342*)(oBC22run_class_dictionary))->_count/*36*/))) {
_rc=r342item((T342*)(oBC22run_class_dictionary),_i);
/*[IF*/
if((((T23*)_rc))->_at_run_time/*8*/){
_run_count=(_run_count)+(1);
r23compile_to_jvm(((T23*)_rc));
}
/*FI]*/
_i=(_i)+(1);
}
r31print_count((T31*)(oBC12echo),((T0*)ms22_12213),_run_count);
r24write_jvm_root_class((T24*)(oBC12jvm));
r24write_main_class((T24*)(oBC12jvm),(C)->_root_procedure/*0*/);
}
else{
r21error((T21*)(oBC12eh),((T0*)ms22_56700));
}
/*FI]*/
}
T0*oBC22tmp_tail=NULL;
int fBC22rename_dictionary=0;
T0*oBC22rename_dictionary=NULL;


T0* r22rename_dictionary(T22* C){
if(fBC22rename_dictionary==0){
T0* _short_name=NULL;
T0* _full_name=NULL;
T2 _i=0;
fBC22rename_dictionary=1;
{T75*n=malloc(sizeof(*n));
*n=M75;
/*[IRF3.4make*/r75with_capacity(n,32);
/*]*/
oBC22rename_dictionary=(T0*)n;
}
_i=1;
while (!((_i)>(((T73*)(r22loading_path()))->_upper/*8*/))) {
r7copy((T7*)(((T0*)ms12_583550)),r73item((T73*)(r22loading_path()),_i));
r7append((T7*)(((T0*)ms12_583550)),((T0*)ms22_13095));
r31sfr_connect((T31*)(oBC12echo),oBC12tmp_file_read,((T0*)ms12_583550));
/*[IF*/
if(/*(IRF4.7is_connected*/(((T61*)(oBC12tmp_file_read))->_path/*4*/)!=(NULL)/*)*/){
while (!(r61end_of_input((T61*)(oBC12tmp_file_read)))) {
r61read_word((T61*)(oBC12tmp_file_read));
_full_name=r7twin((T7*)(oBC62last_string));
r61read_word((T61*)(oBC12tmp_file_read));
_short_name=r7twin((T7*)(oBC62last_string));
r7prepend(((T7*)_short_name),r73item((T73*)(r22loading_path()),_i));
/*[IF*/
if(r75has(((T75*)oBC22rename_dictionary),_full_name)){
r31w_put_string(((T0*)ms22_24360));
r31w_put_string(_full_name);
r31w_put_string(((T0*)ms22_55872));
r31w_put_string(_short_name);
r31w_put_string(((T0*)ms22_5280));
r31w_put_string(r75at(((T75*)oBC22rename_dictionary),_full_name));
r31w_put_string(((T0*)ms22_118));
exit(1);
}
/*FI]*/
r75put(((T75*)oBC22rename_dictionary),_short_name,_full_name);
r61skip_separators((T61*)(oBC12tmp_file_read));
}
r61disconnect((T61*)(oBC12tmp_file_read));
}
/*FI]*/
_i=(_i)+(1);
}
}
return oBC22rename_dictionary;}
/*No:SMALL_EIFFEL.fatal_error*/


void r22incr_magic_count(T22* C){
C->_magic_count=((C)->_magic_count/*12*/)+(1);
}
int fBC22loading_path=0;
T0*oBC22loading_path=NULL;


T0* r22loading_path(void){
if(fBC22loading_path==0){
fBC22loading_path=1;
{T73*n=malloc(sizeof(*n));
*n=M73;
r73with_capacity(n,16,1);
oBC22loading_path=(T0*)n;
}
r72read_loading_path_in((T72*)(r22system_tools()),oBC22loading_path);
}
return oBC22loading_path;}
/*No:SMALL_EIFFEL.nb_errors*/


void r22push(T22* C,T0* a1){
C->_top=((C)->_top/*16*/)+(1);
X359force(oBC22stack_rf,a1,(C)->_top/*16*/);
}
/*No:SMALL_EIFFEL.short_flag*/
T0*oBC22rf9_memory=NULL;


T6 r22parser_buffer_for(T22* C,T0* a1){
T6 R=0;
T2 _i=0;
r7copy((T7*)(oBC22tmp_tail),a1);
r7to_lower((T7*)(oBC22tmp_tail));
/*[IF*/
if(!(r7has_suffix((T7*)(oBC22tmp_tail),((T0*)ms12_300)))){
r7append((T7*)(oBC22tmp_tail),((T0*)ms12_300));
}
/*FI]*/
_i=((T73*)(r22loading_path()))->_lower/*12*/;
while (!(((_i)>(((T73*)(r22loading_path()))->_upper/*8*/))||(R))) {
r7copy((T7*)(oBC22parser_buffer_path),r73item((T73*)(r22loading_path()),_i));
r7append((T7*)(oBC22parser_buffer_path),oBC22tmp_tail);
r74load_file((T74*)(oBC12parser_buffer),oBC22parser_buffer_path);
R=/*(IRF4.7is_ready*/(((T74*)(oBC12parser_buffer))->_path/*0*/)!=(NULL)/*)*/;
_i=(_i)+(1);
}
/*[IF*/
if((!(R))&&(r75has((T75*)(r22rename_dictionary(C)),oBC22tmp_tail))){
r7copy((T7*)(oBC22parser_buffer_path),r75at((T75*)(r22rename_dictionary(C)),oBC22tmp_tail));
r74load_file((T74*)(oBC12parser_buffer),oBC22parser_buffer_path);
/*[IF*/
if(/*(IRF4.7is_ready*/(((T74*)(oBC12parser_buffer))->_path/*0*/)!=(NULL)/*)*/){
R=1;
}
else{
r31w_put_string(((T0*)ms22_53690));
r31w_put_string(oBC22parser_buffer_path);
r31w_put_string(((T0*)ms13_166));
exit(1);
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(!(R)){
r7copy((T7*)(oBC22tmp_tail),a1);
/*[IF*/
if(!(r7has_suffix((T7*)(oBC22tmp_tail),((T0*)ms12_300)))){
r7append((T7*)(oBC22tmp_tail),((T0*)ms12_300));
}
/*FI]*/
_i=((T73*)(r22loading_path()))->_lower/*12*/;
while (!(((_i)>(((T73*)(r22loading_path()))->_upper/*8*/))||(R))) {
r7copy((T7*)(oBC22parser_buffer_path),r73item((T73*)(r22loading_path()),_i));
r7append((T7*)(oBC22parser_buffer_path),oBC22tmp_tail);
r74load_file((T74*)(oBC12parser_buffer),oBC22parser_buffer_path);
R=/*(IRF4.7is_ready*/(((T74*)(oBC12parser_buffer))->_path/*0*/)!=(NULL)/*)*/;
_i=(_i)+(1);
}
}
/*FI]*/
/*[IF*/
if(!(R)){
r31w_put_string(((T0*)ms22_48577));
r31w_put_string(a1);
r31w_put_string(((T0*)ms22_354));
/*[IRF3.3clear*/((((T7*)((T7*)(oBC22parser_buffer_path))))->_count)=(0);
/*]*/
/*[IRF3.6append_loading_path_in*/{T0* b1=oBC22parser_buffer_path;
r72append_lp_in((T72*)(r22system_tools()),b1,r22loading_path());
}/*]*/
r31w_put_string(oBC22parser_buffer_path);
}
/*FI]*/
return R;
}


T0* r22system_tools(void){
if(fBC12system_tools==0){
fBC12system_tools=1;
{T72*n=malloc(sizeof(*n));
*n=M72;
r72make(n);
oBC12system_tools=(T0*)n;
}
}
return oBC12system_tools;}
T0*oBC12cecil_pool=NULL;


void r22warning(T0* a1,T0* a2){
r21add_position(a1);
r21warning((T21*)(oBC12eh),a2);
}


T0* r22top_rf(T22* C){
T0* R=NULL;
R=/*X359item*/((T0*)r54item((T54*)(oBC22stack_rf),(C)->_top/*16*/));
return R;
}
/*No:SMALL_EIFFEL.copyright*/
/*No:SMALL_EIFFEL.fz_dot*/
/*No:SMALL_EIFFEL.make*/
/*No:SMALL_EIFFEL.us_any*/
T0*oBC22stack_rf=NULL;
/*No:SMALL_EIFFEL.exit_failure_code*/
T0*oBC22base_class_dictionary=NULL;
int fBC22tmp_class_name=0;
T0*oBC22tmp_class_name=NULL;


T0* r22tmp_class_name(void){
if(fBC22tmp_class_name==0){
fBC22tmp_class_name=1;
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,((T0*)ms14_714),NULL);
oBC22tmp_class_name=(T0*)n;
}
}
return oBC22tmp_class_name;}
/*No:SMALL_EIFFEL.falling_down*/
/*No:SMALL_EIFFEL.afd_check*/
/*No:SMALL_EIFFEL.tmp_path*/
/*No:SMALL_EIFFEL.check_for_deferred*/
/*No:SMALL_EIFFEL.append_loading_path_in*/
int fBC12type_string=0;
T0*oBC12type_string=NULL;


T0* r22type_string(void){
if(fBC12type_string==0){
fBC12type_string=1;
{T276*n=malloc(sizeof(*n));
*n=M276;
r276make(n,NULL);
oBC12type_string=(T0*)n;
}
}
return oBC12type_string;}


void r315append_in(T315* C,T0* a1){
T2 _i=0;
_i=/*X316lower*/((T2)((T189*)((C)->_name_list/*4*/))->_lower/*16*/);
while (!((_i)>(/*X316upper*/((T2)((T189*)((C)->_name_list/*4*/))->_upper/*12*/)))) {
X183add_last(a1,/*X316item*/((T0*)r189item((T189*)((C)->_name_list/*4*/),_i)));
_i=(_i)+(1);
}
}
/*No:DECLARATION_GROUP.name_list*/


T2 r315count(T315* C){
T2 R=0;
R=/*X316upper*/((T2)((T189*)((C)->_name_list/*4*/))->_upper/*12*/);
return R;
}


void r315make(T315* C,T0* a1,T0* a2){
T2 _i=0;
C->_name_list=a1;
_i=/*X316upper*/((T2)((T189*)((C)->_name_list/*4*/))->_upper/*12*/);
while (!((_i)==(0))) {
/*X188set_result_type*//*[IRF3.3set_result_type*/((((T187*)((T187*)(/*X316item*/((T0*)r189item((T189*)((C)->_name_list/*4*/),_i))))))->_result_type)=(a2);
/*]*/
_i=(_i)-(1);
}
}
/*No:E_REQUIRE.set_require_else*/
/*No:E_REQUIRE.start_position*/


T6 r291use_current(T291* C){
T6 R=0;
T2 _i=0;
/*[IF*/
if(((C)->_list/*8*/)!=((void*)(NULL))){
_i=((T108*)((C)->_list/*8*/))->_upper/*8*/;
while (!((R)||((_i)==(0)))) {
R=r105use_current((T105*)(r108item((T108*)((C)->_list/*8*/),_i)));
_i=(_i)-(1);
}
}
/*FI]*/
return R;
}
/*No:E_REQUIRE.header_comment*/
/*No:E_REQUIRE.current_type*/
/*No:E_REQUIRE.clear_run_feature*/
/*No:E_REQUIRE.run_feature*/


void r291make(T291* C,T0* a1,T0* a2,T0* a3){
C->_start_position=a1;
C->_header_comment=a2;
C->_list=a3;
}


void r291make_runnable(T291* C,T0* a1,T0* a2,T0* a3){
C->_list=a1;
C->_current_type=a2;
C->_run_feature=a3;
}
/*No:E_REQUIRE.set_header_comment*/
/*No:E_REQUIRE.is_require_else*/


void r291compile_to_jvm(T291* C,T6 a1){
T0* _ca=NULL;
T2 _i=0;
T2 _point_true=0;
_ca=oBC12code_attribute;
r28check_opening(((T28*)_ca));
/*[IRF3.3clear*/((((T48*)((T48*)(oBC107failure))))->_upper)=(-(1));
/*]*/
_i=1;
while (!((_i)>(((T108*)((C)->_list/*8*/))->_upper/*8*/))) {
r105compile_to_jvm((T105*)(r108item((T108*)((C)->_list/*8*/),_i)),a1);
r48add_last((T48*)(oBC107failure),r28opcode_ifeq(((T28*)_ca)));
_i=(_i)+(1);
}
/*[IRF3.4opcode_iconst_1*/r28opcode(((T28*)_ca),4,1);
/*]*/
_point_true=r28opcode_goto(((T28*)_ca));
r28resolve_with(oBC107failure);
/*[IRF3.4opcode_iconst_0*/r28opcode(((T28*)_ca),3,1);
/*]*/
r28resolve_u2_branch(_point_true);
r28check_closing(((T28*)_ca));
}
/*No:E_REQUIRE.empty*/


void r291afd_check(T291* C){
T2 _i=0;
/*[IF*/
if(((C)->_list/*8*/)!=((void*)(NULL))){
_i=((T108*)((C)->_list/*8*/))->_upper/*8*/;
while (!((_i)==(0))) {
r105afd_check((T105*)(r108item((T108*)((C)->_list/*8*/),_i)));
_i=(_i)-(1);
}
}
/*FI]*/
}
/*No:E_REQUIRE.list*/
/*No:CREATION_CALL_2.start_position*/
/*No:CREATION_CALL_2.type*/


T0* r254add_comment(T254* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
/*AF*/else{
{T229*n=malloc(sizeof(*n));
*n=M229;
r229make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}


T6 r254use_current(T254* C){
T6 R=0;
R=X109use_current((C)->_writable/*8*/);
return R;
}


void r254check_created_type(T254* C,T0* a1){
T0* _rt=NULL;
_rt=X52run_type(a1);
/*[IF*/
if(((T22*)(oBC12small_eiffel))->_short_flag/*8*/){
}
 else if(((T63*)(X52base_class(_rt)))->_is_deferred/*16*/){
r21add_type(_rt,((T0*)ms253_11858));
r254warning((C)->_start_position/*4*/,((T0*)ms253_30996));
}
/*FI]*/
/*[IF*/
if(X52is_formal_generic(a1)){
r21add_position((C)->_start_position/*4*/);
/*[IRF3.6append*/{T0* b1=((T0*)ms253_77140);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21add_type(a1,((T0*)ms253_180));
r21print_as_fatal_error((T21*)(oBC12eh));
}
/*FI]*/
r23set_at_run_time((T23*)(X52run_class(_rt)));
}


T0* r254to_runnable(T254* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((C)->_current_type/*12*/)==((void*)(NULL))){
r254check_writable(C,a1);
r254check_explicit_type(C);
r254check_created_type(C,(C)->_type/*16*/);
r254check_creation_clause(C,(C)->_type/*16*/);
R=(T0*)C;
}
else{
{T254*n=malloc(sizeof(*n));
*n=M254;
r254make(n,(C)->_start_position/*4*/,(C)->_type/*16*/,(C)->_writable/*8*/);
R=(T0*)n;
}
R=r254to_runnable(((T254*)R),a1);
}
/*FI]*/
return R;
}


void r254warning(T0* a1,T0* a2){
r21add_position(a1);
r21warning((T21*)(oBC12eh),a2);
}
/*No:CREATION_CALL_2.current_type*/
/*No:CREATION_CALL_2.writable*/


T6 r254is_pre_computable(T254* C){
T6 R=0;
R=X109is_result((C)->_writable/*8*/);
return R;
}


void r254compile_to_jvm0(T0* a1){
T2 _dummy=0;
/*[IF*/
if(X52is_reference(a1)){
r23jvm_basic_new((T23*)(X52run_class(a1)));
}
else{
_dummy=X52jvm_push_default(a1);
}
/*FI]*/
}


void r254error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
/*No:CREATION_CALL_2.end_mark_comment*/


void r254make(T254* C,T0* a1,T0* a2,T0* a3){
C->_start_position=a1;
C->_type=a2;
C->_writable=a3;
}


void r254check_explicit_type(T254* C){
T0* _t=NULL;
T0* _ct=NULL;
_ct=/*X27current_type*/((T0*)((T26*)(r22top_rf((T22*)(oBC12small_eiffel))))->_current_type/*4*/);
_t=X52to_runnable((C)->_type/*16*/,_ct);
/*[IF*/
if(((_t)==((void*)(NULL)))||(!(X52is_run_type(_t)))){
r21add_position(X52start_position((C)->_type/*16*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms255_33726);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
else{
C->_type=_t;
}
/*FI]*/
/*[IF*/
if(!(X52is_a((C)->_type/*16*/,X109result_type((C)->_writable/*8*/)))){
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms255_34704);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}


void r254check_writable(T254* C,T0* a1){
T0* _w=NULL;
C->_current_type=a1;
_w=X109to_runnable((C)->_writable/*8*/,a1);
/*[IF*/
if((_w)==((void*)(NULL))){
r21add_position(X109start_position((C)->_writable/*8*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms253_64251);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
else{
C->_writable=_w;
}
/*FI]*/
}


void r254check_creation_clause(T254* C,T0* a1){
/*[IF*/
if(/*(IRF4.7has_creation_clause*/(((T63*)(X52base_class(a1)))->_creation_clause_list/*44*/)!=(NULL)/*)*/){
/*[IRF3.6append*/{T0* b1=((T0*)ms252_37098);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21add_type(a1,((T0*)ms252_162));
r254error((C)->_start_position/*4*/,((T0*)ms252_46305));
}
/*FI]*/
}


void r254compile_to_jvm(T254* C){
T0* _t=NULL;
_t=X52run_type((C)->_type/*16*/);
r254compile_to_jvm0(_t);
X52jvm_check_class_invariant(_t);
X109jvm_assign((C)->_writable/*8*/);
}
/*No:CREATION_CALL_2.afd_check*/
/*No:CREATION_CALL_2.fatal_error*/
/*No:CALL_INFIX_XOR.static_value*/
/*No:CALL_INFIX_XOR.feature_name*/


T6 r122is_static(T122* C){
T6 R=0;
/*[IF*/
if(X52is_boolean(X109result_type((C)->_target/*4*/))){
/*[IF*/
if((X109is_static((C)->_target/*4*/))&&(X109is_static(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
R=1;
C->_static_value_mem=(X109static_value((C)->_target/*4*/))+(X109static_value(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
/*[IF*/
if(((C)->_static_value_mem/*20*/)==(1)){
C->_static_value_mem=1;
}
else{
C->_static_value_mem=0;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_XOR.is_manifest_string*/


T0* r122start_position(T122* C){
T0* R=NULL;
R=((T141*)((C)->_feature_name/*12*/))->_start_position/*8*/;
return R;
}


T0* r122add_comment(T122* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T234*n=malloc(sizeof(*n));
*n=M234;
r234make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}


T2 r122to_integer(T122* C){
T2 R=0;
r122error(r122start_position(C),((T0*)ms13_45846));
return R;
}


T6 r122use_current(T122* C){
T6 R=0;
/*[IF*/
{/*AT*/R=r152use_current((T152*)((C)->_arguments/*8*/));
}
/*FI]*/
/*[IF*/
if(R){
}
 else if(X109is_current((C)->_target/*4*/)){
R=X27use_current((C)->_run_feature/*16*/);
}
else{
R=X109use_current((C)->_target/*4*/);
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_XOR.jvm_branch_if_true*/


T0* r122to_runnable(T122* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _tbee=NULL;
T0* _at=NULL;
T0* _tt=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r122runnable_expression((C)->_target/*4*/,a1);
_a=r122runnable_args((C)->_arguments/*8*/,a1);
_tt=X109result_type(_t);
_at=X109result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
/*[IF*/
/*AF*//*AE*/
/*FI]*/
_rf=r122run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*16*/)==((void*)(NULL))){
C->_target=_t;
C->_arguments=_a;
C->_run_feature=_rf;
r122run_feature_match(C,a1);
R=(T0*)C;
}
 else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
R=(T0*)C;
}
else{
{T122*n=malloc(sizeof(*n));
*n=M122;
r122with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}


T2 r122compile_to_jvm_into(T122* C,T0* a1){
T2 R=0;
R=r122standard_compile_to_jvm_into(C,a1);
return R;
}
/*No:CALL_INFIX_XOR.is_pre_computable*/
/*No:CALL_INFIX_XOR.fz_bad_argument*/
/*No:CALL_INFIX_XOR.fz_iinaiv*/
/*No:CALL_INFIX_XOR.us_xor*/


T0* r122result_type(T122* C){
T0* R=NULL;
T0* _tla=NULL;
R=X27result_type((C)->_run_feature/*16*/);
/*[IF*/
if(X52is_like_current(R)){
R=/*X27current_type*/((T0*)((T26*)((C)->_run_feature/*16*/))->_current_type/*4*/);
}
else{
_tla=R;
if(NULL!=(_tla))switch(((T0*)_tla)->id) {
case 262: 
break;
default:
_tla=NULL;
};/*[IF*/
if((_tla)!=((void*)(NULL))){
R=X52run_type(X109result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_XOR.static_value_mem*/
/*No:CALL_INFIX_XOR.run_feature*/


T0* r122runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=r152to_runnable(((T152*)a1),a2);
/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(r152start_position(((T152*)a1)));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_13065);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}


void r122standard_compile_target_to_jvm(T122* C){
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T122* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
X52jvm_check_class_invariant(r122result_type(C));
}
/*No:CALL_INFIX_XOR.compile_to_jvm_assignment*/
/*No:CALL_INFIX_XOR.fz_07*/


void r122compile_to_jvm_old(T122* C){
X109compile_to_jvm_old((C)->_target/*4*/);
/*[IF*/
{/*AT*/r152compile_to_jvm_old((T152*)((C)->_arguments/*8*/));
}
/*FI]*/
}
/*No:CALL_INFIX_XOR.jvm_assign*/
/*No:CALL_INFIX_XOR.jvm_branch_if_false*/
/*No:CALL_INFIX_XOR.compile_to_jvm*/
/*No:CALL_INFIX_XOR.arg_count*/


void r122with(T122* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
C->_run_feature=a4;
r122run_feature_match(C,a5);
}
/*No:CALL_INFIX_XOR.call_proc_call_c2jvm*/
/*No:CALL_INFIX_XOR.is_result*/
/*No:CALL_INFIX_XOR.fatal_error*/


void r122run_feature_match(T122* C,T0* a1){
r122run_feature_has_result(C);
r152match_with((T152*)((C)->_arguments/*8*/),(C)->_run_feature/*16*/,a1);
}
/*No:CALL_INFIX_XOR.arguments*/


T0* r122runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X109to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(X109start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms121_16515);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_XOR.can_be_dropped*/
/*No:CALL_INFIX_XOR.implicit_cast*/
/*No:CALL_INFIX_XOR.compile_target_to_jvm*/
/*No:CALL_INFIX_XOR.isa_dca_inline_argument*/
/*No:CALL_INFIX_XOR.arg1*/


void r122run_feature_has_result(T122* C){
/*[IF*/
if((X27result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
r21add_position(X27start_position((C)->_run_feature/*16*/));
r21add_position(((T141*)((C)->_feature_name/*12*/))->_start_position/*8*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms120_53650);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}


T2 r122jvm_standard_branch_if_false(T122* C){
T2 R=0;
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T122* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
R=r28opcode_ifeq((T28*)(oBC12code_attribute));
return R;
}


T0* r122run_feature_for(T122* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X52run_class(X109result_type(a1));
R=r23get_rf(((T23*)_rc),a1,(C)->_feature_name/*12*/,a2);
return R;
}
/*No:CALL_INFIX_XOR.target*/


void r122error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}


void r122make(T122* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
{T141*n=malloc(sizeof(*n));
*n=M141;
r141make(n,r122operator(),a2);
C->_feature_name=(T0*)n;
}
{T152*n=malloc(sizeof(*n));
*n=M152;
/*[IRF3.3make_1*/((((T152*)(n)))->_first_one)=(a3);
/*]*/
C->_arguments=(T0*)n;
}
}
/*No:CALL_INFIX_XOR.is_current*/


T2 r122standard_compile_to_jvm_into(T122* C,T0* a1){
T2 R=0;
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T122* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
R=X52jvm_convert_to(X52run_type(r122result_type(C)),a1);
return R;
}
/*No:CALL_INFIX_XOR.is_void*/


T0* r122operator(void){
T0* R=NULL;
R=((T0*)ms14_1053a);
return R;
}


T2 r122jvm_standard_branch_if_true(T122* C){
T2 R=0;
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T122* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
R=r28opcode_ifne((T28*)(oBC12code_attribute));
return R;
}


void r122afd_check(T122* C){
T0* _running=NULL;
T0* _rc=NULL;
_rc=X52run_class(X109result_type((C)->_target/*4*/));
_running=(((T23*)_rc))->_running/*12*/;
/*[IF*/
if((_running)==((void*)(NULL))){
r21add_position(X109start_position((C)->_target/*4*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms121_181815);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X52run_time_mark((((T23*)_rc))->_current_type/*0*/);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms13_20094);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_warning((T21*)(oBC12eh));
r23set_at_run_time(((T23*)_rc));
}
 else if((r340count(((T340*)_running)))>(1)){
r335update((C)->_target/*4*/,(C)->_run_feature/*16*/);
}
/*FI]*/
X109afd_check((C)->_target/*4*/);
/*[IF*/
{/*AT*/r152afd_check((T152*)((C)->_arguments/*8*/));
}
/*FI]*/
}


void r39add_init(T39* C,T0* a1){
T2 _idx=0;
T0* _ca=NULL;
r39start(C,1,((T0*)ms13_5298),((T0*)ms13_519));
_ca=oBC12code_attribute;
/*[IRF3.4opcode_aload_0*/r28opcode(((T28*)_ca),42,1);
/*]*/
_idx=r29idx_methodref3((T29*)(oBC12constant_pool),a1,((T0*)ms13_5298),((T0*)ms13_519));
r28opcode_invokespecial(((T28*)_ca),_idx,-(1));
/*[IRF3.2opcode_return*//*[IRF3.6add_u1*/{T2 b1=177;
r48add_last((T48*)(oBC28code),b1);
}/*]*/
/*]*/
r39finish(C);
}
/*No:METHOD_INFO.access_flags*/


void r39write_bytes(T39* C){
r31print_count((T31*)(oBC12echo),((T0*)ms39_6936),(C)->_count/*0*/);
r24b_put_u2((T24*)(oBC12jvm),(C)->_count/*0*/);
r24b_put_byte_string((T24*)(oBC12jvm),oBC39storage);
}


void r39append_u2(T0* a1,T2 a2){
/*[IRF3.6append_u1*/{T0* b1=a1;
T2 b2=(a2)/(256);
r7extend(((T7*)b1),((T3)(b2)));
}/*]*/
/*[IRF3.6append_u1*/{T0* b1=a1;
T2 b2=(a2)%(256);
r7extend(((T7*)b1),((T3)(b2)));
}/*]*/
}


void r39finish(T39* C){
r39append_u2(oBC39storage,(C)->_access_flags/*4*/);
r39append_u2(oBC39storage,(C)->_name_index/*8*/);
r39append_u2(oBC39storage,(C)->_descriptor_index/*12*/);
r39append_u2(oBC39storage,1);
r28store_in((T28*)(oBC12code_attribute),oBC39storage);
}
/*No:METHOD_INFO.count*/
/*No:METHOD_INFO.append_u1*/
/*No:METHOD_INFO.descriptor_index*/


void r39clear(T39* C){
C->_count=0;
/*[IRF3.3clear*/((((T7*)((T7*)(oBC39storage))))->_count)=(0);
/*]*/
}
/*No:METHOD_INFO.fz_35*/


void r39start(T39* C,T2 a1,T0* a2,T0* a3){
r28clear((T28*)(oBC12code_attribute));
C->_count=((C)->_count/*0*/)+(1);
C->_access_flags=a1;
C->_name_index=r29idx_utf8((T29*)(oBC12constant_pool),a2);
C->_descriptor_index=r29idx_utf8((T29*)(oBC12constant_pool),a3);
}
/*No:METHOD_INFO.name_index*/
/*No:METHOD_INFO.fz_29*/
T0*oBC39storage=NULL;
/*No:INTEGER_CONSTANT.static_value*/
/*No:INTEGER_CONSTANT.is_static*/
/*No:INTEGER_CONSTANT.is_manifest_string*/
/*No:INTEGER_CONSTANT.start_position*/


T0* r178add_comment(T178* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T234*n=malloc(sizeof(*n));
*n=M234;
r234make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:INTEGER_CONSTANT.to_integer*/
/*No:INTEGER_CONSTANT.use_current*/
/*No:INTEGER_CONSTANT.jvm_branch_if_true*/
/*No:INTEGER_CONSTANT.to_runnable*/


T2 r178compile_to_jvm_into(T178* C,T0* a1){
T2 R=0;
R=r178standard_compile_to_jvm_into(C,a1);
return R;
}
/*No:INTEGER_CONSTANT.is_pre_computable*/
/*No:INTEGER_CONSTANT.fz_iinaiv*/
int fBC178result_type=0;
T0*oBC178result_type=NULL;


T0* r178result_type(void){
if(fBC178result_type==0){
fBC178result_type=1;
{T272*n=malloc(sizeof(*n));
*n=M272;
r272make(n,NULL);
oBC178result_type=(T0*)n;
}
}
return oBC178result_type;}
/*No:INTEGER_CONSTANT.compile_to_jvm_assignment*/


void r178unary_minus(T178* C){
C->_value=-((C)->_value/*8*/);
}
/*No:INTEGER_CONSTANT.compile_to_jvm_old*/
/*No:INTEGER_CONSTANT.jvm_assign*/
/*No:INTEGER_CONSTANT.jvm_branch_if_false*/
/*No:INTEGER_CONSTANT.compile_to_jvm*/
/*No:INTEGER_CONSTANT.value*/
/*No:INTEGER_CONSTANT.is_result*/
/*No:INTEGER_CONSTANT.can_be_dropped*/
/*No:INTEGER_CONSTANT.compile_target_to_jvm*/


T0* r178to_real_constant(T178* C){
T0* R=NULL;
{T177*n=malloc(sizeof(*n));
*n=M177;
r177make(n,(C)->_start_position/*4*/,r2to_string((C)->_value/*8*/));
R=(T0*)n;
}
return R;
}


T2 r178isa_dca_inline_argument(void){
T2 R=0;
/*[IF*/
{/*AT*/R=-(1);
}
/*FI]*/
return R;
}


void r178error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}


void r178make(T178* C,T2 a1,T0* a2){
C->_value=a1;
C->_start_position=a2;
}
/*No:INTEGER_CONSTANT.is_current*/


T2 r178standard_compile_to_jvm_into(T178* C,T0* a1){
T2 R=0;
/*[IRF3.6compile_to_jvm*/{T178* C1=C;
r28opcode_push_integer((T28*)(oBC12code_attribute),(C1)->_value/*8*/);
}/*]*/
R=X52jvm_convert_to(/*(IRF4.4run_type*/((T0*)((T272*)r178result_type()))/*)*/,a1);
return R;
}
/*No:INTEGER_CONSTANT.is_void*/
/*No:INTEGER_CONSTANT.afd_check*/
/*No:TYPE_POINTER.start_position*/


void r274jvm_initialize_local(T2 a1){
/*[IRF3.4opcode_aconst_null*/r28opcode((T28*)(oBC12code_attribute),1,1);
/*]*/
/*[IRF3.6jvm_write_local*/{T2 b1=a1;
r28opcode_astore((T28*)(oBC12code_attribute),b1);
}/*]*/
}
int fBC274used_as_reference=0;


void r274used_as_reference(void){
if (fBC274used_as_reference==0){
fBC274used_as_reference=1;
r274load_ref(((T0*)ms14_12969));
}}
/*No:TYPE_POINTER.is_user_expanded*/
/*No:TYPE_POINTER.id*/
/*No:TYPE_POINTER.is_pointer*/
/*No:TYPE_POINTER.jvm_check_class_invariant*/


T0* r274to_runnable(T274* C,T0* a1){
T0* R=NULL;
R=(T0*)C;
r274check_type(C);
return R;
}


T0* r274run_class(T274* C){
T0* R=NULL;
R=r22run_class((T0*)C);
return R;
}
/*No:TYPE_POINTER.us_item*/
/*No:TYPE_POINTER.is_like_current*/
/*No:TYPE_POINTER.is_bit*/
/*No:TYPE_POINTER.jvm_write_local*/


T0* r274smallest_ancestor(T274* C,T0* a1){
T0* R=NULL;
T0* _rto=NULL;
_rto=X52run_type(a1);
/*[IF*/
if(X52is_pointer(_rto)){
R=(T0*)C;
}
else{
R=r277smallest_ancestor((T277*)(r274type_pointer_ref()),_rto);
}
/*FI]*/
return R;
}


T0* r274run_time_mark(void){
T0* R=NULL;
R=((T0*)ms14_6881);
return R;
}
/*No:TYPE_POINTER.is_expanded*/
/*No:TYPE_POINTER.jvm_if_x_eq*/
/*No:TYPE_POINTER.jvm_xnewarray*/
int fBC12type_pointer_ref=0;
T0*oBC12type_pointer_ref=NULL;


T0* r274type_pointer_ref(void){
if(fBC12type_pointer_ref==0){
T0* _pointer_ref=NULL;
fBC12type_pointer_ref=1;
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,((T0*)ms14_12969),NULL);
_pointer_ref=(T0*)n;
}
{T277*n=malloc(sizeof(*n));
*n=M277;
/*[IRF3.3make*/((((T277*)(n)))->_base_class_name)=(_pointer_ref);
/*]*/
oBC12type_pointer_ref=(T0*)n;
}
}
return oBC12type_pointer_ref;}
/*No:TYPE_POINTER.jvm_push_local*/
/*No:TYPE_POINTER.fz_dot*/
/*No:TYPE_POINTER.is_like_feature*/


T6 r274is_a(T274* C,T0* a1){
T6 R=0;
/*[IF*/
if(X52is_pointer(a1)){
R=1;
}
else{
R=r63is_subclass_of((T63*)(r274base_class(C)),X52base_class(a1));
/*[IF*/
if(R){
r274used_as_reference();
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(!(R)){
r21add_type((T0*)C,((T0*)ms274_24066));
r21add_type(a1,((T0*)ms13_47));
}
/*FI]*/
return R;
}
/*No:TYPE_POINTER.us_pointer*/


T0* r274written_mark(void){
T0* R=NULL;
R=((T0*)ms14_6881);
return R;
}
/*No:TYPE_POINTER.is_character*/


void r274error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}


void r274make(T274* C,T0* a1){
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,((T0*)ms14_6881),a1);
C->_base_class_name=(T0*)n;
}
}


T2 r274jvm_convert_to(T0* a1){
T2 R=0;
/*[IF*/
if(X52is_reference(a1)){
/*[IRF3.2jvm_to_reference*/{T0* _ca=NULL;
T2 _idx=0;
T0* _rc=NULL;
_ca=oBC12code_attribute;
_rc=r277run_class((T277*)(r274type_pointer_ref()));
r23jvm_basic_new(((T23*)_rc));
_idx=r23jvm_constant_pool_index(((T23*)_rc));
/*[IRF3.4opcode_dup_x1*/r28opcode(((T28*)_ca),90,1);
/*]*/
/*[IRF3.4opcode_swap*/r28opcode(((T28*)_ca),95,0);
/*]*/
_idx=r29idx_fieldref4((T29*)(oBC12constant_pool),_idx,((T0*)ms14_1764),((T0*)ms13_28278a));
r28opcode_putfield(((T28*)_ca),_idx,-(2));
}/*]*/
}
/*FI]*/
R=1;
return R;
}


void r274fatal_error_generic_list(T274* C){
r21add_type((T0*)C,((T0*)ms52_29184));
r21print_as_fatal_error((T21*)(oBC12eh));
}
/*No:TYPE_POINTER.is_array*/


T2 r274jvm_push_default(void){
T2 R=0;
/*[IRF3.4opcode_aconst_null*/r28opcode((T28*)(oBC12code_attribute),1,1);
/*]*/
R=1;
return R;
}
/*No:TYPE_POINTER.is_dummy_expanded*/


T0* r274generic_list(T274* C){
T0* R=NULL;
r274fatal_error_generic_list(C);
return R;
}


T0* r274base_class(T274* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=(C)->_base_class_name/*4*/;
/*[IF*/
if((_bcn)!=((void*)(NULL))){
R=r70base_class(((T70*)_bcn));
}
else{
/*[IRF3.6append*/{T0* b1=((T0*)ms52_37098);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21add_type((T0*)C,((T0*)ms13_47));
r21print_as_fatal_error((T21*)(oBC12eh));
}
/*FI]*/
return R;
}
/*No:TYPE_POINTER.jvm_if_x_ne*/
/*No:TYPE_POINTER.base_class_name*/
/*No:TYPE_POINTER.jvm_standard_is_equal*/
/*No:TYPE_POINTER.is_formal_generic*/


T6 r274is_a_in(T274* C,T0* a1,T0* a2){
T6 R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*[IF*/
if((r274written_mark())==((void*)(X52written_mark(a1)))){
R=1;
}
else{
_ct=(((T23*)a2))->_current_type/*0*/;
_t1=r274to_runnable(C,_ct);
_t2=X52to_runnable(a1,_ct);
/*[IF*/
if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
R=1;
}
else{
R=X52is_a(_t1,_t2);
}
/*FI]*/
}
/*FI]*/
return R;
}


T0* r274look_up_for(T274* C,T0* a1,T0* a2){
T0* R=NULL;
R=r63look_up_for((T63*)(r274base_class(C)),a1,a2);
return R;
}
/*No:TYPE_POINTER.jvm_to_reference*/
/*No:TYPE_POINTER.fz_21*/
/*No:TYPE_POINTER.run_type*/


T6 r274has_creation(T274* C,T0* a1){
T6 R=0;
r21add_position(X50start_position(a1));
r274error(/*(IRF4.6start_position*/(((T70*)((C)->_base_class_name/*4*/)))->_start_position/*4*//*)*/,((T0*)ms269_100044));
return R;
}
/*No:TYPE_POINTER.expanded_initializer*/
/*No:TYPE_POINTER.us_pointer_ref*/
/*No:TYPE_POINTER.jvm_method_flags*/
/*No:TYPE_POINTER.is_boolean*/
/*No:TYPE_POINTER.is_generic*/
/*No:TYPE_POINTER.jvm_xaload*/
/*No:TYPE_POINTER.is_real*/
/*No:TYPE_POINTER.is_any*/
/*No:TYPE_POINTER.nb_errors*/
/*No:TYPE_POINTER.is_basic_eiffel_expanded*/
/*No:TYPE_POINTER.jvm_descriptor_in*/
/*No:TYPE_POINTER.is_string*/


T6 r274is_native_array(T274* C){
T6 R=0;
T0* _tna=NULL;
_tna=(T0*)C;
if(NULL!=(_tna))switch(((T0*)_tna)->id) {
case 267: 
break;
default:
_tna=NULL;
};R=(_tna)!=((void*)(NULL));
return R;
}
/*No:TYPE_POINTER.is_integer*/
/*No:TYPE_POINTER.is_anchored*/
/*No:TYPE_POINTER.is_run_type*/
/*No:TYPE_POINTER.is_reference*/
/*No:TYPE_POINTER.is_none*/
/*No:TYPE_POINTER.jvm_return_code*/
/*No:TYPE_POINTER.jvm_target_descriptor_in*/
/*No:TYPE_POINTER.jvm_xastore*/
/*No:TYPE_POINTER.is_like_argument*/


void r274load_ref(T0* a1){
T0* _rf=NULL;
T0* _rc=NULL;
T0* _cn=NULL;
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,a1,NULL);
_cn=(T0*)n;
}
_rc=r63run_class((T63*)(r70base_class(((T70*)_cn))));
r23set_at_run_time(((T23*)_rc));
_rf=r23get_feature_with(((T23*)_rc),((T0*)ms14_1764));
}
int fBC274check_type=0;


void r274check_type(T274* C){
if (fBC274check_type==0){
T0* _rc=NULL;
T0* _bc=NULL;
fBC274check_type=1;
_bc=r274base_class(C);
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
_rc=r274run_class(C);
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if(!((((T63*)_bc))->_is_expanded/*20*/)){
r274error(/*(IRF4.6start_position*/(((T70*)((C)->_base_class_name/*4*/)))->_start_position/*4*//*)*/,((T0*)ms274_38975));
}
/*FI]*/
}
/*FI]*/
}}


T2 r274jvm_stack_space(void){
T2 R=0;
/*[IF*/
/*AF*//*AE*/
R=1;
/*FI]*/
return R;
}
/*No:TYPE_POINTER.is_double*/


T2 r274jvm_expanded_from_reference(T0* a1){
T2 R=0;
T0* _ca=NULL;
T2 _idx=0;
T0* _rc=NULL;
_ca=oBC12code_attribute;
_rc=r277run_class((T277*)(r274type_pointer_ref()));
r23opcode_checkcast(((T23*)_rc));
_idx=r23jvm_constant_pool_index(((T23*)_rc));
_idx=r29idx_fieldref4((T29*)(oBC12constant_pool),_idx,((T0*)ms14_1764),((T0*)ms13_28278a));
r28opcode_getfield(((T28*)_ca),_idx,0);
R=1;
return R;
}
/*No:TYPE_INTEGER.start_position*/


void r272jvm_initialize_local(T2 a1){
/*[IRF3.4opcode_iconst_0*/r28opcode((T28*)(oBC12code_attribute),3,1);
/*]*/
/*[IRF3.6jvm_write_local*/{T2 b1=a1;
r28opcode_istore((T28*)(oBC12code_attribute),b1);
}/*]*/
}
int fBC272used_as_reference=0;


void r272used_as_reference(void){
if (fBC272used_as_reference==0){
fBC272used_as_reference=1;
r272load_ref(((T0*)ms14_12760));
}}
/*No:TYPE_INTEGER.is_user_expanded*/
/*No:TYPE_INTEGER.id*/
/*No:TYPE_INTEGER.is_pointer*/
/*No:TYPE_INTEGER.jvm_check_class_invariant*/


T0* r272to_runnable(T272* C,T0* a1){
T0* R=NULL;
R=(T0*)C;
r272check_type(C);
return R;
}


T0* r272run_class(T272* C){
T0* R=NULL;
R=r22run_class((T0*)C);
return R;
}
/*No:TYPE_INTEGER.us_item*/
/*No:TYPE_INTEGER.is_like_current*/
/*No:TYPE_INTEGER.us_integer*/
/*No:TYPE_INTEGER.is_bit*/
/*No:TYPE_INTEGER.jvm_write_local*/


T0* r272smallest_ancestor(T272* C,T0* a1){
T0* R=NULL;
T0* _rto=NULL;
_rto=X52run_type(a1);
/*[IF*/
if(X52is_integer(_rto)){
R=(T0*)C;
}
 else if(X52is_real(_rto)){
R=a1;
}
 else if(X52is_double(_rto)){
R=a1;
}
else{
R=r277smallest_ancestor((T277*)(r272type_integer_ref()),_rto);
}
/*FI]*/
return R;
}


T0* r272run_time_mark(void){
T0* R=NULL;
R=((T0*)ms14_6748);
return R;
}
/*No:TYPE_INTEGER.is_expanded*/
/*No:TYPE_INTEGER.jvm_if_x_eq*/
/*No:TYPE_INTEGER.jvm_xnewarray*/
int fBC12type_integer_ref=0;
T0*oBC12type_integer_ref=NULL;


T0* r272type_integer_ref(void){
if(fBC12type_integer_ref==0){
T0* _integer_ref=NULL;
fBC12type_integer_ref=1;
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,((T0*)ms14_12760),NULL);
_integer_ref=(T0*)n;
}
{T277*n=malloc(sizeof(*n));
*n=M277;
/*[IRF3.3make*/((((T277*)(n)))->_base_class_name)=(_integer_ref);
/*]*/
oBC12type_integer_ref=(T0*)n;
}
}
return oBC12type_integer_ref;}
/*No:TYPE_INTEGER.jvm_push_local*/
/*No:TYPE_INTEGER.us_integer_ref*/
/*No:TYPE_INTEGER.fz_dot*/
/*No:TYPE_INTEGER.is_like_feature*/


T6 r272is_a(T272* C,T0* a1){
T6 R=0;
/*[IF*/
if(((X52is_integer(a1))||(X52is_double(a1)))||(X52is_real(a1))){
R=1;
}
else{
R=r63is_subclass_of((T63*)(r272base_class(C)),X52base_class(a1));
/*[IF*/
if(R){
r272used_as_reference();
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(!(R)){
r21add_type((T0*)C,((T0*)ms13_17730));
r21add_type(a1,((T0*)ms13_47));
}
/*FI]*/
return R;
}


T0* r272written_mark(void){
T0* R=NULL;
R=((T0*)ms14_6748);
return R;
}
/*No:TYPE_INTEGER.is_character*/


void r272error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}


void r272make(T272* C,T0* a1){
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,((T0*)ms14_6748),a1);
C->_base_class_name=(T0*)n;
}
}


T2 r272jvm_convert_to(T0* a1){
T2 R=0;
/*[IF*/
if(X52is_reference(a1)){
/*[IRF3.2jvm_to_reference*/{T0* _ca=NULL;
T2 _idx=0;
T0* _rc=NULL;
_ca=oBC12code_attribute;
_rc=r277run_class((T277*)(r272type_integer_ref()));
r23jvm_basic_new(((T23*)_rc));
/*[IRF3.4opcode_dup_x1*/r28opcode(((T28*)_ca),90,1);
/*]*/
/*[IRF3.4opcode_swap*/r28opcode(((T28*)_ca),95,0);
/*]*/
_idx=r23jvm_constant_pool_index(((T23*)_rc));
_idx=r29idx_fieldref4((T29*)(oBC12constant_pool),_idx,((T0*)ms14_1764),((T0*)ms13_74));
r28opcode_putfield(((T28*)_ca),_idx,-(2));
}/*]*/
R=1;
}
 else if(X52is_real(a1)){
/*[IRF3.4opcode_i2f*/r28opcode((T28*)(oBC12code_attribute),134,0);
/*]*/
R=1;
}
 else if(X52is_double(a1)){
/*[IRF3.4opcode_i2d*/r28opcode((T28*)(oBC12code_attribute),135,1);
/*]*/
R=2;
}
else{
R=1;
}
/*FI]*/
return R;
}


void r272fatal_error_generic_list(T272* C){
r21add_type((T0*)C,((T0*)ms52_29184));
r21print_as_fatal_error((T21*)(oBC12eh));
}
/*No:TYPE_INTEGER.is_array*/


T2 r272jvm_push_default(void){
T2 R=0;
/*[IRF3.4opcode_iconst_0*/r28opcode((T28*)(oBC12code_attribute),3,1);
/*]*/
R=1;
return R;
}
/*No:TYPE_INTEGER.is_dummy_expanded*/


T0* r272generic_list(T272* C){
T0* R=NULL;
r272fatal_error_generic_list(C);
return R;
}


T0* r272base_class(T272* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=(C)->_base_class_name/*4*/;
/*[IF*/
if((_bcn)!=((void*)(NULL))){
R=r70base_class(((T70*)_bcn));
}
else{
/*[IRF3.6append*/{T0* b1=((T0*)ms52_37098);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21add_type((T0*)C,((T0*)ms13_47));
r21print_as_fatal_error((T21*)(oBC12eh));
}
/*FI]*/
return R;
}
/*No:TYPE_INTEGER.fz_i*/
/*No:TYPE_INTEGER.jvm_if_x_ne*/
/*No:TYPE_INTEGER.base_class_name*/
/*No:TYPE_INTEGER.jvm_standard_is_equal*/
/*No:TYPE_INTEGER.is_formal_generic*/


T6 r272is_a_in(T272* C,T0* a1,T0* a2){
T6 R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*[IF*/
if((r272written_mark())==((void*)(X52written_mark(a1)))){
R=1;
}
else{
_ct=(((T23*)a2))->_current_type/*0*/;
_t1=r272to_runnable(C,_ct);
_t2=X52to_runnable(a1,_ct);
/*[IF*/
if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
R=1;
}
else{
R=X52is_a(_t1,_t2);
}
/*FI]*/
}
/*FI]*/
return R;
}


T0* r272look_up_for(T272* C,T0* a1,T0* a2){
T0* R=NULL;
R=r63look_up_for((T63*)(r272base_class(C)),a1,a2);
return R;
}
/*No:TYPE_INTEGER.jvm_to_reference*/
/*No:TYPE_INTEGER.run_type*/


T6 r272has_creation(T272* C,T0* a1){
T6 R=0;
r21add_position(X50start_position(a1));
r272error(/*(IRF4.6start_position*/(((T70*)((C)->_base_class_name/*4*/)))->_start_position/*4*//*)*/,((T0*)ms269_100044));
return R;
}
/*No:TYPE_INTEGER.expanded_initializer*/
/*No:TYPE_INTEGER.jvm_method_flags*/
/*No:TYPE_INTEGER.is_boolean*/
/*No:TYPE_INTEGER.is_generic*/
/*No:TYPE_INTEGER.jvm_xaload*/
/*No:TYPE_INTEGER.is_real*/
/*No:TYPE_INTEGER.is_any*/
/*No:TYPE_INTEGER.nb_errors*/
/*No:TYPE_INTEGER.is_basic_eiffel_expanded*/
/*No:TYPE_INTEGER.jvm_descriptor_in*/
/*No:TYPE_INTEGER.is_string*/


T6 r272is_native_array(T272* C){
T6 R=0;
T0* _tna=NULL;
_tna=(T0*)C;
if(NULL!=(_tna))switch(((T0*)_tna)->id) {
case 267: 
break;
default:
_tna=NULL;
};R=(_tna)!=((void*)(NULL));
return R;
}
/*No:TYPE_INTEGER.is_integer*/
/*No:TYPE_INTEGER.is_anchored*/
/*No:TYPE_INTEGER.is_run_type*/
/*No:TYPE_INTEGER.is_reference*/
/*No:TYPE_INTEGER.is_none*/
/*No:TYPE_INTEGER.jvm_return_code*/
/*No:TYPE_INTEGER.jvm_target_descriptor_in*/
/*No:TYPE_INTEGER.fz_inako*/
/*No:TYPE_INTEGER.jvm_xastore*/
/*No:TYPE_INTEGER.is_like_argument*/


void r272load_ref(T0* a1){
T0* _rf=NULL;
T0* _rc=NULL;
T0* _cn=NULL;
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,a1,NULL);
_cn=(T0*)n;
}
_rc=r63run_class((T63*)(r70base_class(((T70*)_cn))));
r23set_at_run_time(((T23*)_rc));
_rf=r23get_feature_with(((T23*)_rc),((T0*)ms14_1764));
}
int fBC272check_type=0;


void r272check_type(T272* C){
if (fBC272check_type==0){
T0* _rc=NULL;
T0* _bc=NULL;
fBC272check_type=1;
_bc=r272base_class(C);
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
_rc=r272run_class(C);
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if(!((((T63*)_bc))->_is_expanded/*20*/)){
r272error(/*(IRF4.6start_position*/(((T70*)((C)->_base_class_name/*4*/)))->_start_position/*4*//*)*/,((T0*)ms272_38500));
}
/*FI]*/
}
/*FI]*/
}}


T2 r272jvm_stack_space(void){
T2 R=0;
/*[IF*/
/*AF*//*AE*/
R=1;
/*FI]*/
return R;
}
/*No:TYPE_INTEGER.is_double*/


T2 r272jvm_expanded_from_reference(T0* a1){
T2 R=0;
T0* _ca=NULL;
T2 _idx=0;
T0* _rc=NULL;
_ca=oBC12code_attribute;
_rc=r277run_class((T277*)(r272type_integer_ref()));
r23opcode_checkcast(((T23*)_rc));
_idx=r23jvm_constant_pool_index(((T23*)_rc));
_idx=r29idx_fieldref4((T29*)(oBC12constant_pool),_idx,((T0*)ms14_1764),((T0*)ms13_74));
r28opcode_getfield(((T28*)_ca),_idx,0);
R=1;
return R;
}
/*No:TYPE_BIT_2.start_position*/


void r282jvm_initialize_local(T282* C,T2 a1){
T2 _space=0;
_space=r282jvm_push_default(C);
r28opcode_astore((T28*)(oBC12code_attribute),a1);
}

