/*
-- 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"


T0* r245to_runnable_integer(T245* C,T0* a1){
T0* R=NULL;
T0* _v=NULL;
T0* _ct=NULL;
/*[IF*/
if(((C)->_e_when/*4*/)==((void*)(NULL))){
C->_e_when=a1;
_ct=/*X27current_type*/((T0*)((T26*)(r22top_rf((T22*)(oBC12small_eiffel))))->_current_type/*4*/);
_v=X109to_runnable((C)->_lower/*12*/,_ct);
/*[IF*/
if(((_v)!=((void*)(NULL)))&&(X52is_integer(X109result_type(_v)))){
C->_lower=_v;
C->_lower_value=X109to_integer((C)->_lower/*12*/);
}
else{
r245error(X109start_position((C)->_lower/*12*/),((T0*)ms13_21798));
}
/*FI]*/
_v=X109to_runnable((C)->_upper/*8*/,_ct);
/*[IF*/
if(((_v)!=((void*)(NULL)))&&(X52is_integer(X109result_type(_v)))){
C->_upper=_v;
C->_upper_value=X109to_integer((C)->_upper/*8*/);
}
else{
r245error(X109start_position((C)->_upper/*8*/),((T0*)ms13_21798));
}
/*FI]*/
r237add_when_item_2((T237*)((C)->_e_when/*4*/),(T0*)C);
R=(T0*)C;
}
else{
{T245*n=malloc(sizeof(*n));
*n=M245;
r245make(n,(C)->_lower/*12*/,(C)->_upper/*8*/);
R=(T0*)n;
}
R=r245to_runnable_integer(((T245*)R),a1);
}
/*FI]*/
return R;
}


T0* r245start_position(T245* C){
T0* R=NULL;
R=X109start_position((C)->_lower/*12*/);
return R;
}


T0* r245twin(T245* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T245*)R)=*C;
return R;
}
/*No:WHEN_ITEM_2.lower_value*/
/*No:WHEN_ITEM_2.fz_bcv*/
/*No:WHEN_ITEM_2.lower*/


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


void r245make(T245* C,T0* a1,T0* a2){
C->_lower=a1;
C->_upper=a2;
}
/*No:WHEN_ITEM_2.e_when*/
/*No:WHEN_ITEM_2.upper_value*/
/*No:WHEN_ITEM_2.upper*/
/*No:WHEN_ITEM_2.clear_e_when*/
/*No:WHEN_ITEM_2.fz_biv*/


T0* r245to_runnable_character(T245* C,T0* a1){
T0* R=NULL;
T0* _v=NULL;
T0* _ct=NULL;
/*[IF*/
if(((C)->_e_when/*4*/)==((void*)(NULL))){
C->_e_when=a1;
_ct=/*X27current_type*/((T0*)((T26*)(r22top_rf((T22*)(oBC12small_eiffel))))->_current_type/*4*/);
_v=X109to_runnable((C)->_lower/*12*/,_ct);
/*[IF*/
if(((_v)!=((void*)(NULL)))&&(X52is_character(X109result_type(_v)))){
C->_lower=_v;
C->_lower_value=X109to_integer((C)->_lower/*12*/);
}
else{
r245error(X109start_position((C)->_lower/*12*/),((T0*)ms13_25940));
}
/*FI]*/
_v=X109to_runnable((C)->_upper/*8*/,_ct);
/*[IF*/
if(((_v)!=((void*)(NULL)))&&(X52is_character(X109result_type(_v)))){
C->_upper=_v;
C->_upper_value=X109to_integer((C)->_upper/*8*/);
}
else{
r245error(X109start_position((C)->_upper/*8*/),((T0*)ms13_25940));
}
/*FI]*/
r237add_when_item_2((T237*)((C)->_e_when/*4*/),(T0*)C);
R=(T0*)C;
}
else{
{T245*n=malloc(sizeof(*n));
*n=M245;
r245make(n,(C)->_lower/*12*/,(C)->_upper/*8*/);
R=(T0*)n;
}
R=r245to_runnable_character(((T245*)R),a1);
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_GE.static_value*/
/*No:CALL_INFIX_GE.feature_name*/


T6 r128is_static(T128* C){
T6 R=0;
/*[IF*/
if(X52is_integer(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;
/*[IF*/
if((X109static_value((C)->_target/*4*/))>=(X109static_value(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
C->_static_value_mem=1;
}
else{
C->_static_value_mem=0;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_GE.is_manifest_string*/


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


T0* r128add_comment(T128* 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 r128to_integer(T128* C){
T2 R=0;
r128error(r128start_position(C),((T0*)ms13_45846));
return R;
}


T6 r128use_current(T128* 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;
}


T2 r128jvm_branch_if_true(T128* C){
T2 R=0;
/*[IF*/
if(X52is_integer(r128result_type(C))){
X109compile_to_jvm((C)->_target/*4*/);
X109compile_to_jvm(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
R=r28opcode_if_icmpge((T28*)(oBC12code_attribute));
}
else{
R=r128jvm_standard_branch_if_true(C);
}
/*FI]*/
return R;
}


T0* r128to_runnable(T128* 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=r128runnable_expression((C)->_target/*4*/,a1);
_a=r128runnable_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=r128run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*16*/)==((void*)(NULL))){
C->_target=_t;
C->_arguments=_a;
C->_run_feature=_rf;
r128run_feature_match(C,a1);
R=(T0*)C;
}
 else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
R=(T0*)C;
}
else{
{T128*n=malloc(sizeof(*n));
*n=M128;
r128with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_GE.us_ge*/


T2 r128compile_to_jvm_into(T128* C,T0* a1){
T2 R=0;
R=r128standard_compile_to_jvm_into(C,a1);
return R;
}
/*No:CALL_INFIX_GE.is_pre_computable*/
/*No:CALL_INFIX_GE.fz_bad_argument*/
/*No:CALL_INFIX_GE.fz_iinaiv*/


T0* r128result_type(T128* 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_GE.static_value_mem*/
/*No:CALL_INFIX_GE.run_feature*/


T0* r128runnable_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 r128standard_compile_target_to_jvm(T128* C){
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T128* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
X52jvm_check_class_invariant(r128result_type(C));
}
/*No:CALL_INFIX_GE.compile_to_jvm_assignment*/
/*No:CALL_INFIX_GE.fz_07*/


void r128compile_to_jvm_old(T128* C){
X109compile_to_jvm_old((C)->_target/*4*/);
/*[IF*/
{/*AT*/r152compile_to_jvm_old((T152*)((C)->_arguments/*8*/));
}
/*FI]*/
}
/*No:CALL_INFIX_GE.jvm_assign*/


T2 r128jvm_branch_if_false(T128* C){
T2 R=0;
/*[IF*/
if(X52is_integer(r128result_type(C))){
X109compile_to_jvm((C)->_target/*4*/);
X109compile_to_jvm(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
R=r28opcode_if_icmplt((T28*)(oBC12code_attribute));
}
else{
R=r128jvm_standard_branch_if_false(C);
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_GE.compile_to_jvm*/
/*No:CALL_INFIX_GE.arg_count*/


void r128with(T128* 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;
r128run_feature_match(C,a5);
}
/*No:CALL_INFIX_GE.call_proc_call_c2jvm*/
/*No:CALL_INFIX_GE.is_result*/
/*No:CALL_INFIX_GE.fatal_error*/


void r128run_feature_match(T128* C,T0* a1){
r128run_feature_has_result(C);
r152match_with((T152*)((C)->_arguments/*8*/),(C)->_run_feature/*16*/,a1);
}
/*No:CALL_INFIX_GE.arguments*/


T0* r128runnable_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_GE.can_be_dropped*/
/*No:CALL_INFIX_GE.implicit_cast*/
/*No:CALL_INFIX_GE.compile_target_to_jvm*/
/*No:CALL_INFIX_GE.isa_dca_inline_argument*/
/*No:CALL_INFIX_GE.arg1*/


void r128run_feature_has_result(T128* 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 r128jvm_standard_branch_if_false(T128* C){
T2 R=0;
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T128* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
R=r28opcode_ifeq((T28*)(oBC12code_attribute));
return R;
}


T0* r128run_feature_for(T128* 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_GE.target*/


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


void r128make(T128* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
{T141*n=malloc(sizeof(*n));
*n=M141;
r141make(n,r128operator(),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_GE.is_current*/


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


T0* r128operator(void){
T0* R=NULL;
R=((T0*)ms14_252);
return R;
}


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


void r128afd_check(T128* 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]*/
}
/*No:CALL_INFIX_LE.static_value*/
/*No:CALL_INFIX_LE.feature_name*/


T6 r130is_static(T130* C){
T6 R=0;
/*[IF*/
if(X52is_integer(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;
/*[IF*/
if((X109static_value((C)->_target/*4*/))<=(X109static_value(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
C->_static_value_mem=1;
}
else{
C->_static_value_mem=0;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_LE.is_manifest_string*/


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


T0* r130add_comment(T130* 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 r130to_integer(T130* C){
T2 R=0;
r130error(r130start_position(C),((T0*)ms13_45846));
return R;
}


T6 r130use_current(T130* 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;
}


T2 r130jvm_branch_if_true(T130* C){
T2 R=0;
/*[IF*/
if(X52is_integer(r130result_type(C))){
X109compile_to_jvm((C)->_target/*4*/);
X109compile_to_jvm(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
R=r28opcode_if_icmple((T28*)(oBC12code_attribute));
}
else{
R=r130jvm_standard_branch_if_true(C);
}
/*FI]*/
return R;
}


T0* r130to_runnable(T130* 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=r130runnable_expression((C)->_target/*4*/,a1);
_a=r130runnable_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=r130run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*16*/)==((void*)(NULL))){
C->_target=_t;
C->_arguments=_a;
C->_run_feature=_rf;
r130run_feature_match(C,a1);
R=(T0*)C;
}
 else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
R=(T0*)C;
}
else{
{T130*n=malloc(sizeof(*n));
*n=M130;
r130with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}


T2 r130compile_to_jvm_into(T130* C,T0* a1){
T2 R=0;
R=r130standard_compile_to_jvm_into(C,a1);
return R;
}
/*No:CALL_INFIX_LE.is_pre_computable*/
/*No:CALL_INFIX_LE.fz_bad_argument*/
/*No:CALL_INFIX_LE.fz_iinaiv*/


T0* r130result_type(T130* 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_LE.static_value_mem*/
/*No:CALL_INFIX_LE.run_feature*/


T0* r130runnable_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 r130standard_compile_target_to_jvm(T130* C){
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T130* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
X52jvm_check_class_invariant(r130result_type(C));
}
/*No:CALL_INFIX_LE.compile_to_jvm_assignment*/
/*No:CALL_INFIX_LE.us_le*/
/*No:CALL_INFIX_LE.fz_07*/


void r130compile_to_jvm_old(T130* C){
X109compile_to_jvm_old((C)->_target/*4*/);
/*[IF*/
{/*AT*/r152compile_to_jvm_old((T152*)((C)->_arguments/*8*/));
}
/*FI]*/
}
/*No:CALL_INFIX_LE.jvm_assign*/


T2 r130jvm_branch_if_false(T130* C){
T2 R=0;
/*[IF*/
if(X52is_integer(r130result_type(C))){
X109compile_to_jvm((C)->_target/*4*/);
X109compile_to_jvm(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
R=r28opcode_if_icmpgt((T28*)(oBC12code_attribute));
}
else{
R=r130jvm_standard_branch_if_false(C);
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_LE.compile_to_jvm*/
/*No:CALL_INFIX_LE.arg_count*/


void r130with(T130* 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;
r130run_feature_match(C,a5);
}
/*No:CALL_INFIX_LE.call_proc_call_c2jvm*/
/*No:CALL_INFIX_LE.is_result*/
/*No:CALL_INFIX_LE.fatal_error*/


void r130run_feature_match(T130* C,T0* a1){
r130run_feature_has_result(C);
r152match_with((T152*)((C)->_arguments/*8*/),(C)->_run_feature/*16*/,a1);
}
/*No:CALL_INFIX_LE.arguments*/


T0* r130runnable_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_LE.can_be_dropped*/
/*No:CALL_INFIX_LE.implicit_cast*/
/*No:CALL_INFIX_LE.compile_target_to_jvm*/
/*No:CALL_INFIX_LE.isa_dca_inline_argument*/
/*No:CALL_INFIX_LE.arg1*/


void r130run_feature_has_result(T130* 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 r130jvm_standard_branch_if_false(T130* C){
T2 R=0;
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T130* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
R=r28opcode_ifeq((T28*)(oBC12code_attribute));
return R;
}


T0* r130run_feature_for(T130* 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_LE.target*/


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


void r130make(T130* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
{T141*n=malloc(sizeof(*n));
*n=M141;
r141make(n,r130operator(),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_LE.is_current*/


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


T0* r130operator(void){
T0* R=NULL;
R=((T0*)ms14_248);
return R;
}


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


void r130afd_check(T130* 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]*/
}


T2 r131static_value(T131* C){
T2 R=0;
/*[IF*/
if(X109is_void((C)->_target/*4*/)){
R=r131static_neq_void(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
 else if(X109is_void(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/)){
R=r131static_neq_void((C)->_target/*4*/);
}
 else if((X109is_static((C)->_target/*4*/))&&(X109is_static(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
/*[IF*/
if((X109static_value((C)->_target/*4*/))!=(X109static_value(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
R=1;
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_NEQ.feature_name*/


T6 r131is_static(T131* C){
T6 R=0;
/*[IF*/
if(X109is_void((C)->_target/*4*/)){
R=r131is_static_neq_void(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
 else if(X109is_void(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/)){
R=r131is_static_neq_void((C)->_target/*4*/);
}
 else if((X109is_static((C)->_target/*4*/))&&(X109is_static(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
R=1;
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_NEQ.is_manifest_string*/


void r131jvm_void_cmp(T0* a1){
T0* _ca=NULL;
T2 _space=0;
T2 _point2=0;
T2 _point1=0;
T0* _rt=NULL;
_ca=oBC12code_attribute;
_rt=X52run_type(X109result_type(a1));
/*[IF*/
if(X52is_expanded(_rt)){
X109compile_to_jvm(a1);
_space=X52jvm_stack_space(_rt);
while (!((_space)==(0))) {
/*[IRF3.4opcode_pop*/r28opcode(((T28*)_ca),87,-(1));
/*]*/
_space=(_space)-(1);
}
/*[IRF3.4opcode_iconst_1*/r28opcode(((T28*)_ca),4,1);
/*]*/
}
else{
X109compile_to_jvm(a1);
_point1=r28opcode_ifnonnull(((T28*)_ca));
/*[IRF3.4opcode_iconst_0*/r28opcode(((T28*)_ca),3,1);
/*]*/
_point2=r28opcode_goto(((T28*)_ca));
r28resolve_u2_branch(_point1);
/*[IRF3.4opcode_iconst_1*/r28opcode(((T28*)_ca),4,1);
/*]*/
r28resolve_u2_branch(_point2);
}
/*FI]*/
}


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


void r131error_comparison(T131* C,T0* a1,T0* a2){
r21add_position(((T141*)((C)->_feature_name/*12*/))->_start_position/*8*/);
/*[IRF3.6append*/{T0* b1=((T0*)ms132_9960);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms132_88736);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21add_type(a2,((T0*)ms13_47));
r21print_as_fatal_error((T21*)(oBC12eh));
}


T0* r131add_comment(T131* 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 r131to_integer(T131* C){
T2 R=0;
r131error(r131start_position(C),((T0*)ms13_45846));
return R;
}


T6 r131use_current(T131* C){
T6 R=0;
R=(X109use_current((C)->_target/*4*/))||(X109use_current(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
return R;
}
/*No:CALL_INFIX_NEQ.jvm_branch_if_true*/


T0* r131to_runnable(T131* C,T0* a1){
T0* R=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r131runnable_expression((C)->_target/*4*/,a1);
_a=r131runnable_args((C)->_arguments/*8*/,a1);
/*[IF*/
if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
R=(T0*)C;
}
else{
{T131*n=malloc(sizeof(*n));
*n=M131;
r131with(n,_t,(C)->_feature_name/*12*/,_a);
R=(T0*)n;
}
}
/*FI]*/
r131check_comparison(((T131*)R),a1);
return R;
}


T2 r131compile_to_jvm_into(T131* C,T0* a1){
T2 R=0;
R=r131standard_compile_to_jvm_into(C,a1);
return R;
}


T2 r131static_neq_void(T0* a1){
T2 R=0;
T0* _rt=NULL;
/*[IF*/
if(((X109is_current(a1))||(X109is_manifest_string(a1)))||(r131is_manifest_array(a1))){
R=1;
}
else{
_rt=X52run_type(X109result_type(a1));
/*[IF*/
if(X52is_expanded(_rt)){
R=1;
}
 else if(X109is_static(a1)){
/*[IF*/
if((X109static_value(a1))!=(0)){
R=1;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_NEQ.is_pre_computable*/
/*No:CALL_INFIX_NEQ.fz_bad_argument*/
/*No:CALL_INFIX_NEQ.fz_iinaiv*/
/*No:CALL_INFIX_NEQ.result_type*/
/*No:CALL_INFIX_NEQ.run_feature*/


T6 r131is_static_neq_void(T0* a1){
T6 R=0;
T0* _rt=NULL;
/*[IF*/
if(((X109is_current(a1))||(X109is_manifest_string(a1)))||(r131is_manifest_array(a1))){
R=1;
}
else{
_rt=X52run_type(X109result_type(a1));
/*[IF*/
if(X52is_expanded(_rt)){
R=1;
}
 else if(X109is_static(a1)){
R=1;
}
/*FI]*/
}
/*FI]*/
return R;
}


T0* r131runnable_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 r131standard_compile_target_to_jvm(T131* C){
r131compile_to_jvm(C);
X52jvm_check_class_invariant(/*(IRF4.8result_type*/r131type_boolean()/*)*/);
}
/*No:CALL_INFIX_NEQ.compile_to_jvm_assignment*/


void r131compile_to_jvm_old(T131* C){
X109compile_to_jvm_old((C)->_target/*4*/);
/*[IF*/
{/*AT*/r152compile_to_jvm_old((T152*)((C)->_arguments/*8*/));
}
/*FI]*/
}
/*No:CALL_INFIX_NEQ.jvm_assign*/


void r131check_comparison(T131* C,T0* a1){
T0* _at=NULL;
T0* _tt=NULL;
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
_tt=X52run_type(X109result_type((C)->_target/*4*/));
_at=X52run_type(X109result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
/*[IF*/
if(X52is_none(_tt)){
/*[IF*/
if(X52is_expanded(_at)){
X52used_as_reference(_at);
}
/*FI]*/
}
 else if(X52is_none(_at)){
/*[IF*/
if(X52is_expanded(_tt)){
X52used_as_reference(_tt);
}
/*FI]*/
}
 else if(X52is_reference(_tt)){
/*[IF*/
if(X52is_reference(_at)){
/*[IF*/
if(X52is_a(_tt,_at)){
}
else{
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC21explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T58*)((T58*)(oBC21positions))))->_upper)=(-(1));
/*]*/
/*]*/
/*[IF*/
if(X52is_a(_at,_tt)){
}
else{
r131error_comparison(C,((T0*)ms132_46246),a1);
}
/*FI]*/
}
/*FI]*/
}
 else if(!(X52is_a(_at,_tt))){
r131error_comparison(C,((T0*)ms132_41670),a1);
}
else{
X52used_as_reference(_at);
}
/*FI]*/
}
else{
/*[IF*/
if(X52is_expanded(_at)){
/*[IF*/
if(X52is_basic_eiffel_expanded(_at)){
/*[IF*/
if(X52is_a(_tt,_at)){
}
else{
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC21explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T58*)((T58*)(oBC21positions))))->_upper)=(-(1));
/*]*/
/*]*/
/*[IF*/
if(X52is_a(_at,_tt)){
}
else{
r131error_comparison(C,((T0*)ms132_37791),a1);
}
/*FI]*/
}
/*FI]*/
}
 else if(X52is_bit(_tt)){
r131bit_limitation(C,_tt,_at);
}
 else if(!(X52is_a(_at,_tt))){
r131error_comparison(C,((T0*)ms132_37791a),a1);
}
/*FI]*/
}
 else if(!(X52is_a(_tt,_at))){
r131error_comparison(C,((T0*)ms132_42138),a1);
}
else{
X52used_as_reference(_tt);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*No:CALL_INFIX_NEQ.jvm_branch_if_false*/


void r131bit_limitation(T131* C,T0* a1,T0* a2){
T0* _b2=NULL;
T0* _b1=NULL;
_b1=a1;
if(NULL!=(_b1))switch(((T0*)_b1)->id) {
case 280: case 282: 
break;
default:
_b1=NULL;
};_b2=a2;
if(NULL!=(_b2))switch(((T0*)_b2)->id) {
case 280: case 282: 
break;
default:
_b2=NULL;
};/*[IF*/
if((X281nb(_b1))!=(X281nb(_b2))){
r21add_position(((T141*)((C)->_feature_name/*12*/))->_start_position/*8*/);
/*[IRF3.6append*/{T0* b1=((T0*)ms132_21261);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21add_type(_b1,((T0*)ms132_1930));
r21add_type(_b2,((T0*)ms132_383757));
r21print_as_fatal_error((T21*)(oBC12eh));
}
/*FI]*/
}


void r131compile_to_jvm(T131* C){
T0* _ca=NULL;
T0* _rc=NULL;
T0* _rt=NULL;
T2 _point2=0;
T2 _point1=0;
T2 _space=0;
/*[IF*/
if(X109is_void((C)->_target/*4*/)){
r131jvm_void_cmp(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
 else if(X109is_void(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/)){
r131jvm_void_cmp((C)->_target/*4*/);
}
else{
_ca=oBC12code_attribute;
_rt=X52smallest_ancestor(X109result_type((C)->_target/*4*/),X109result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
_space=X109compile_to_jvm_into((C)->_target/*4*/,_rt);
_space=X109compile_to_jvm_into(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/,_rt);
/*[IF*/
if(X52is_user_expanded(_rt)){
_rc=X52run_class(_rt);
r131jvm_standard_is_neq_aux(_rc,r23writable_attributes(((T23*)_rc)));
}
else{
_point1=X52jvm_if_x_eq(_rt);
/*[IRF3.4opcode_iconst_1*/r28opcode(((T28*)_ca),4,1);
/*]*/
_point2=r28opcode_goto(((T28*)_ca));
r28resolve_u2_branch(_point1);
/*[IRF3.4opcode_iconst_0*/r28opcode(((T28*)_ca),3,1);
/*]*/
r28resolve_u2_branch(_point2);
}
/*FI]*/
}
/*FI]*/
}
/*No:CALL_INFIX_NEQ.arg_count*/


void r131with(T131* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
}


void r131jvm_standard_is_neq_aux(T0* a1,T0* a2){
T2 _i=0;
T2 _space=0;
T2 _idx=0;
T2 _point2=0;
T2 _point1=0;
T0* _rf2=NULL;
T0* _ca=NULL;
_ca=oBC12code_attribute;
/*[IF*/
if((a2)==((void*)(NULL))){
/*[IRF3.4opcode_pop*/r28opcode(((T28*)_ca),87,-(1));
/*]*/
/*[IRF3.4opcode_pop*/r28opcode(((T28*)_ca),87,-(1));
/*]*/
/*[IRF3.4opcode_iconst_0*/r28opcode(((T28*)_ca),3,1);
/*]*/
}
else{
/*[IRF3.3clear*/((((T48*)((T48*)(oBC28branches))))->_upper)=(-(1));
/*]*/
/*[IRF3.4opcode_dup*/r28opcode(((T28*)_ca),89,1);
/*]*/
r23opcode_instanceof(((T23*)a1));
r48add_last((T48*)(oBC28branches),r28opcode_ifeq(((T28*)_ca)));
_i=(((T54*)a2))->_upper/*12*/;
while (!((_i)==(0))) {
_rf2=r54item(((T54*)a2),_i);
_idx=r29idx_fieldref((T29*)(oBC12constant_pool),_rf2);
_space=(X52jvm_stack_space((((T53*)_rf2))->_result_type/*28*/))-(1);
/*[IF*/
if((_i)>(1)){
/*[IRF3.4opcode_dup2*/r28opcode(((T28*)_ca),92,2);
/*]*/
}
/*FI]*/
r28opcode_getfield(((T28*)_ca),_idx,_space);
/*[IF*/
if((_space)==(0)){
/*[IRF3.4opcode_swap*/r28opcode(((T28*)_ca),95,0);
/*]*/
}
else{
/*[IRF3.4opcode_dup2_x1*/r28opcode(((T28*)_ca),93,2);
/*]*/
/*[IRF3.4opcode_pop2*/r28opcode(((T28*)_ca),88,-(2));
/*]*/
}
/*FI]*/
r28opcode_getfield(((T28*)_ca),_idx,_space);
/*[IF*/
if((_i)>(1)){
r48add_last((T48*)(oBC28branches),X52jvm_if_x_ne((((T53*)_rf2))->_result_type/*28*/));
}
else{
_point1=X52jvm_if_x_ne((((T53*)_rf2))->_result_type/*28*/);
}
/*FI]*/
_i=(_i)-(1);
}
/*[IRF3.4opcode_iconst_0*/r28opcode(((T28*)_ca),3,1);
/*]*/
_point2=r28opcode_goto(((T28*)_ca));
/*[IRF3.2resolve_branches*/r28resolve_with(oBC28branches);
/*]*/
/*[IRF3.4opcode_pop*/r28opcode(((T28*)_ca),87,-(1));
/*]*/
/*[IRF3.4opcode_pop*/r28opcode(((T28*)_ca),87,-(1));
/*]*/
r28resolve_u2_branch(_point1);
/*[IRF3.4opcode_iconst_1*/r28opcode(((T28*)_ca),4,1);
/*]*/
r28resolve_u2_branch(_point2);
}
/*FI]*/
}
/*No:CALL_INFIX_NEQ.us_neq*/
/*No:CALL_INFIX_NEQ.is_result*/
/*No:CALL_INFIX_NEQ.fatal_error*/
/*No:CALL_INFIX_NEQ.nb_errors*/


T0* r131type_boolean(void){
if(fBC12type_boolean==0){
fBC12type_boolean=1;
{T268*n=malloc(sizeof(*n));
*n=M268;
r268make(n,NULL);
oBC12type_boolean=(T0*)n;
}
}
return oBC12type_boolean;}
/*No:CALL_INFIX_NEQ.arguments*/


T0* r131runnable_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_NEQ.can_be_dropped*/


T6 r131is_manifest_array(T0* a1){
T6 R=0;
T0* _ma=NULL;
_ma=a1;
if(NULL!=(_ma))switch(((T0*)_ma)->id) {
case 113: 
break;
default:
_ma=NULL;
};R=(_ma)!=((void*)(NULL));
return R;
}
/*No:CALL_INFIX_NEQ.compile_target_to_jvm*/
/*No:CALL_INFIX_NEQ.isa_dca_inline_argument*/
/*No:CALL_INFIX_NEQ.arg1*/
/*No:CALL_INFIX_NEQ.fz_dot*/


T2 r131jvm_standard_branch_if_false(T131* C){
T2 R=0;
r131compile_to_jvm(C);
R=r28opcode_ifeq((T28*)(oBC12code_attribute));
return R;
}
/*No:CALL_INFIX_NEQ.target*/


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


void r131make(T131* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
{T141*n=malloc(sizeof(*n));
*n=M141;
r141make(n,r131operator(),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_NEQ.is_current*/


T2 r131standard_compile_to_jvm_into(T131* C,T0* a1){
T2 R=0;
r131compile_to_jvm(C);
R=X52jvm_convert_to(X52run_type(/*(IRF4.8result_type*/r131type_boolean()/*)*/),a1);
return R;
}
/*No:CALL_INFIX_NEQ.is_void*/


T0* r131operator(void){
T0* R=NULL;
R=((T0*)ms14_222);
return R;
}


T2 r131jvm_standard_branch_if_true(T131* C){
T2 R=0;
r131compile_to_jvm(C);
R=r28opcode_ifne((T28*)(oBC12code_attribute));
return R;
}


void r131afd_check(T131* C){
X109afd_check((C)->_target/*4*/);
X109afd_check(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
/*No:PROCEDURE.rescue_compound*/
/*No:PROCEDURE.use_current_state*/


T0* r307run_require(T0* a1){
T0* R=NULL;
T0* _ct=NULL;
T0* _ar=NULL;
T0* _hc=NULL;
T0* _er=NULL;
T0* _r=NULL;
T2 _i=0;
r365clear((T365*)(oBC95require_collector));
_ct=/*X27current_type*/((T0*)(((T26*)a1))->_current_type/*4*/);
r63collect_for((T63*)(X52base_class(_ct)),1,/*X27name*/((T0*)(((T26*)a1))->_name/*16*/));
/*[IF*/
if(!(r365empty((T365*)(oBC95require_collector)))){
_i=1;
while (!((_i)>(((T365*)(oBC95require_collector))->_upper/*8*/))) {
_er=r365item((T365*)(oBC95require_collector),_i);
_hc=(((T291*)_er))->_header_comment/*4*/;
/*[IF*/
if(!(/*(IRF4.7empty*/((((T291*)_er))->_list/*8*/)==(NULL)/*)*/)){
_r=r307runnable((((T291*)_er))->_list/*8*/,_ct,a1);
/*[IF*/
if((_r)!=((void*)(NULL))){
{T291*n=malloc(sizeof(*n));
*n=M291;
r291make_runnable(n,_r,_ct,a1);
_er=(T0*)n;
}
/*[IRF3.3set_header_comment*/((((T291*)(((T291*)_er))))->_header_comment)=(_hc);
/*]*/
/*[IF*/
if((_ar)==((void*)(NULL))){
_ar=se_ma365(1,
_er);
}
else{
r365add_last(((T365*)_ar),_er);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
_i=(_i)+(1);
}
/*[IF*/
if((_ar)!=((void*)(NULL))){
{T367*n=malloc(sizeof(*n));
*n=M367;
/*[IRF3.3make*/((((T367*)(n)))->_list)=(_ar);
/*]*/
R=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:PROCEDURE.base_class*/
/*No:PROCEDURE.set_rescue_compound*/


T0* r307start_position(T307* C){
T0* R=NULL;
R=X50start_position(/*(IRF4.6first_name*/r87item(((T87*)((C)->_names/*8*/)),1)/*)*/);
return R;
}


T6 r307is_merge_with(T307* C,T0* a1,T0* a2){
T6 R=0;
R=1;
/*[IF*/
if((/*(IRF4.1result_type*/NULL/*)*/)!=((void*)(X95result_type(a1)))){
/*[IF*/
{/*AT*/R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((C)->_arguments/*24*/)!=((void*)(X95arguments(a1)))){
/*[IF*/
if((((C)->_arguments/*24*/)==((void*)(NULL)))||((X95arguments(a1))==((void*)(NULL)))){
R=0;
}
 else if((/*(IRF4.6count*/(((T195*)(((T191*)((C)->_arguments/*24*/))->_flat_list/*8*/)))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T195*)(((T191*)(X95arguments(a1)))->_flat_list/*8*/)))->_upper/*12*//*)*/)){
R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
/*[IF*/
if((R)&&(((C)->_arguments/*24*/)!=((void*)(NULL)))){
R=r191is_a_in((T191*)((C)->_arguments/*24*/),X95arguments(a1),a2);
}
/*FI]*/
/*[IF*/
if(!(R)){
R=1;
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC21explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T58*)((T58*)(oBC21positions))))->_upper)=(-(1));
/*]*/
/*]*/
/*[IF*/
/*AF*//*AE*/
/*FI]*/
/*[IF*/
if((R)&&(((C)->_arguments/*24*/)!=((void*)(NULL)))){
R=r191is_a_in((T191*)(X95arguments(a1)),(C)->_arguments/*24*/,a2);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
r307merge_header_comments(C,a1);
}
/*FI]*/
return R;
}


T0* r307runnable(T0* a1,T0* a2,T0* a3){
T0* R=NULL;
T0* _a=NULL;
T2 _i=0;
/*[IF*/
if(!(r108empty(((T108*)a1)))){
R=r108twin(((T108*)a1));
_i=(((T108*)R))->_upper/*8*/;
while (!((_i)==(0))) {
r22push((T22*)(oBC12small_eiffel),a3);
_a=r105to_runnable((T105*)(r108item(((T108*)R),_i)),a2);
/*[IF*/
if((_a)==((void*)(NULL))){
r307error(r105start_position((T105*)(r108item(((T108*)R),_i))),((T0*)ms13_14266));
}
else{
/*[IRF3.6put*/{T108* C1=((T108*)R);
T0* b1=_a;
T2 b2=_i;
((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
}/*]*/
}
/*FI]*/
r22pop((T22*)(oBC12small_eiffel));
_i=(_i)-(1);
}
}
/*FI]*/
return R;
}
/*No:PROCEDURE.not_computed*/
/*No:PROCEDURE.first_name*/
/*No:PROCEDURE.em1*/
/*No:PROCEDURE.header_comment*/
/*No:PROCEDURE.names*/
/*No:PROCEDURE.fz_03*/
/*No:PROCEDURE.result_type*/
/*No:PROCEDURE.code_require*/
/*No:PROCEDURE.make_e_feature*/


void r307add_into(T307* C,T0* a1){
T0* _fn=NULL;
T2 _i=0;
C->_base_class=r59base_class((T59*)(X50start_position(r87item((T87*)((C)->_names/*8*/),1))));
_i=1;
while (!((_i)>(r87count((T87*)((C)->_names/*8*/))))) {
_fn=r87item((T87*)((C)->_names/*8*/),_i);
/*[IF*/
if(r94has(((T94*)a1),X50to_key(_fn))){
_fn=/*X95first_name*/((T0*)/*(IRF4.6first_name*/r87item(((T87*)(((T203*)(r94at(((T94*)a1),X50to_key(_fn))))->_names/*8*/)),1)/*)*/);
r21add_position(X50start_position(_fn));
r21add_position(X50start_position(r87item((T87*)((C)->_names/*8*/),_i)));
r21error((T21*)(oBC12eh),((T0*)ms95_41905));
/*[IRF3.6append*/{T0* b1=X50to_string(_fn);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21error((T21*)(oBC12eh),((T0*)ms13_47));
}
else{
r94put(((T94*)a1),(T0*)C,X50to_key(_fn));
}
/*FI]*/
_i=(_i)+(1);
}
}


T6 r307can_hide(T307* C,T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if((/*(IRF4.1result_type*/NULL/*)*/)!=((void*)(X95result_type(a1)))){
/*[IF*/
{/*AT*/r21add_position(X95start_position(a1));
r307error(r307start_position(C),((T0*)ms95_64647));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((C)->_arguments/*24*/)!=((void*)(X95arguments(a1)))){
/*[IF*/
if((((C)->_arguments/*24*/)==((void*)(NULL)))||((X95arguments(a1))==((void*)(NULL)))){
r21add_position(X95start_position(a1));
r307error(r307start_position(C),((T0*)ms95_83182));
}
 else if((/*(IRF4.6count*/(((T195*)(((T191*)((C)->_arguments/*24*/))->_flat_list/*8*/)))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T195*)(((T191*)(X95arguments(a1)))->_flat_list/*8*/)))->_upper/*12*//*)*/)){
r21add_position(X95start_position(a1));
r307error(r307start_position(C),((T0*)ms95_67155));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if(((C)->_arguments/*24*/)!=((void*)(NULL))){
/*[IF*/
if(!(r191is_a_in((T191*)((C)->_arguments/*24*/),X95arguments(a1),a2))){
r21add_position(X95start_position(a1));
r21add_position(r307start_position(C));
/*[IRF3.6append*/{T0* b1=((T0*)ms95_54285);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X52run_time_mark((((T23*)a2))->_current_type/*0*/);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21error((T21*)(oBC12eh),((T0*)ms13_47));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
R=(/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0);
/*[IF*/
if(R){
r307merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:PROCEDURE.ensure_assertion*/


T0* r307run_ensure(T0* a1){
T0* R=NULL;
T0* _ct=NULL;
T0* _r=NULL;
r108clear((T108*)(oBC95assertion_collector));
/*[IRF3.3clear*/{T0* _default_item=NULL;
((((T364*)((T364*)(oBC95header_comment_memory))))->_item)=(_default_item);
}/*]*/
_ct=/*X27current_type*/((T0*)(((T26*)a1))->_current_type/*4*/);
r63collect_for((T63*)(X52base_class(_ct)),2,/*X27name*/((T0*)(((T26*)a1))->_name/*16*/));
_r=r307runnable(oBC95assertion_collector,_ct,a1);
/*[IF*/
if((_r)!=((void*)(NULL))){
{T219*n=malloc(sizeof(*n));
*n=M219;
r219make_runnable(n,_r,_ct,a1);
R=(T0*)n;
}
/*[IRF3.3set_header_comment*/((((T219*)(((T219*)R))))->_header_comment)=(((T364*)(oBC95header_comment_memory))->_item/*0*/);
/*]*/
/*[IRF3.3clear*/{T0* _default_item=NULL;
((((T364*)((T364*)(oBC95header_comment_memory))))->_item)=(_default_item);
}/*]*/
}
/*FI]*/
return R;
}


void r307check_obsolete(T307* C){
/*[IF*/
if(!(((T22*)(oBC12small_eiffel))->_short_flag/*8*/)){
/*[IF*/
if(((C)->_obsolete_mark/*28*/)!=((void*)(NULL))){
/*[IRF3.6append*/{T0* b1=((T0*)ms218_39396);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T174*)((C)->_obsolete_mark/*28*/))->_to_string/*8*/;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r307warning(r307start_position(C),((T0*)ms13_166));
}
/*FI]*/
}
/*FI]*/
}


T0* r307try_to_undefine(T307* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _fn2=NULL;
r21add_position(X50start_position(a1));
_fn2=r87feature_name((T87*)((C)->_names/*8*/),X50to_key(a1));
/*[IF*/
if((_fn2)!=((void*)(NULL))){
X50undefine_in(_fn2,a2);
}
/*FI]*/
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC21explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T58*)((T58*)(oBC21positions))))->_upper)=(-(1));
/*]*/
/*]*/
R=r307try_to_undefine_aux(C,a1,a2);
/*[IF*/
if((R)!=((void*)(NULL))){
/*X289set_clients*//*[IRF3.3set_clients*/((((T292*)(((T292*)R))))->_clients)=((C)->_clients/*20*/);
/*]*/
r307merge_header_comments(C,R);
}
else{
r63fatal_undefine(((T63*)a2),a1);
}
/*FI]*/
return R;
}
/*No:PROCEDURE.is_deferred*/
/*No:PROCEDURE.set_clients*/
/*No:PROCEDURE.nb_errors*/
/*No:PROCEDURE.code_ensure*/


void r307make_routine(T307* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
/*[IRF3.3make_e_feature*/((((T307*)(C)))->_names)=(a1);
/*]*/
C->_header_comment=a4;
C->_arguments=a2;
C->_obsolete_mark=a3;
C->_require_assertion=a5;
}


T0* r307to_run_feature(T307* C,T0* a1,T0* a2){
T0* R=NULL;
r307check_obsolete(C);
{T26*n=malloc(sizeof(*n));
*n=M26;
r26make(n,a1,a2,(T0*)C);
R=(T0*)n;
}
return R;
}


void r307merge_header_comments(T307* C,T0* a1){
/*[IF*/
if(((T22*)(oBC12small_eiffel))->_short_flag/*8*/){
/*[IF*/
if(((C)->_header_comment/*12*/)==((void*)(NULL))){
C->_header_comment=/*X95header_comment*/((T0*)(((T203*)a1))->_header_comment/*12*/);
}
 else if((/*X95header_comment*/((T0*)(((T203*)a1))->_header_comment/*12*/))==((void*)(NULL))){
X95set_header_comment(a1,(C)->_header_comment/*12*/);
}
/*FI]*/
}
/*FI]*/
}
/*No:PROCEDURE.arguments*/
/*No:PROCEDURE.require_assertion*/


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


T0* r307try_to_undefine_aux(T307* C,T0* a1,T0* a2){
T0* R=NULL;
{T290*n=malloc(sizeof(*n));
*n=M290;
r290from_effective(n,a1,(C)->_arguments/*24*/,(C)->_require_assertion/*32*/,(C)->_ensure_assertion/*36*/,a2);
R=(T0*)n;
}
return R;
}
/*No:PROCEDURE.set_ensure_assertion*/
/*No:PROCEDURE.fz_bad_assertion*/
/*No:PROCEDURE.fz_dot*/


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


void r307make(T307* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){
r307make_routine(C,a1,a2,a3,a4,a5);
C->_local_vars=a6;
C->_routine_body=a7;
C->_use_current_state=25;
}
/*No:PROCEDURE.routine_body*/
/*No:PROCEDURE.end_comment*/


void r307collect_for(T307* C,T2 a1){
T0* _er=NULL;
/*[IF*/
if((a1)==(1)){
_er=(C)->_require_assertion/*32*/;
/*[IF*/
if((_er)!=((void*)(NULL))){
/*[IF*/
if(!(r365fast_has((T365*)(oBC95require_collector),_er))){
r365add_last((T365*)(oBC95require_collector),_er);
}
/*FI]*/
}
/*FI]*/
}
else{
/*[IF*/
if(((C)->_ensure_assertion/*36*/)!=((void*)(NULL))){
/*[IRF3.3set_item*/((((T364*)((T364*)(oBC95header_comment_memory))))->_item)=(((T219*)((C)->_ensure_assertion/*36*/))->_header_comment/*4*/);
/*]*/
r219add_into((T219*)((C)->_ensure_assertion/*36*/),oBC95assertion_collector);
}
/*FI]*/
}
/*FI]*/
}
/*No:PROCEDURE.local_vars*/


void r307set_header_comment(T307* C,T0* a1){
/*[IF*/
if(((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)>(1))){
C->_end_comment=a1;
}
/*FI]*/
}
/*No:PROCEDURE.clients*/
/*No:PROCEDURE.obsolete_mark*/
/*No:TYPE_BIT_REF.type_bit*/


T0* r380jvm_root_class(void){
if(fBC12jvm_root_class==0){
fBC12jvm_root_class=1;
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,12);
oBC12jvm_root_class=(T0*)n;
}
r7copy(((T7*)oBC12jvm_root_class),((T24*)(oBC12jvm))->_output_name/*0*/);
r7extend(((T7*)oBC12jvm_root_class),'\57');
r7append(((T7*)oBC12jvm_root_class),((T0*)ms13_1732));
}
return oBC12jvm_root_class;}
/*No:TYPE_BIT_REF.start_position*/
/*No:TYPE_BIT_REF.jvm_initialize_local*/
/*No:TYPE_BIT_REF.used_as_reference*/
/*No:TYPE_BIT_REF.is_user_expanded*/


T2 r380id(T380* C){
T2 R=0;
R=((T23*)(r380run_class(C)))->_id/*4*/;
return R;
}
/*No:TYPE_BIT_REF.is_pointer*/
/*No:TYPE_BIT_REF.jvm_check_class_invariant*/
/*No:TYPE_BIT_REF.to_runnable*/


T0* r380run_class(T380* C){
T0* R=NULL;
R=r22run_class(/*(IRF4.4run_type*/((T0*)(C))/*)*/);
return R;
}
/*No:TYPE_BIT_REF.is_like_current*/
/*No:TYPE_BIT_REF.is_bit*/


T0* r380smallest_ancestor(T380* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((C)->_run_time_mark/*12*/)==((void*)(X52run_time_mark(a1)))){
R=(T0*)C;
}
else{
R=r380type_any();
}
/*FI]*/
return R;
}
/*No:TYPE_BIT_REF.jvm_write_local*/
/*No:TYPE_BIT_REF.us_bit_n_ref*/
/*No:TYPE_BIT_REF.run_time_mark*/
/*No:TYPE_BIT_REF.is_expanded*/
/*No:TYPE_BIT_REF.jvm_if_x_eq*/
/*No:TYPE_BIT_REF.jvm_xnewarray*/
/*No:TYPE_BIT_REF.jvm_push_local*/
/*No:TYPE_BIT_REF.fz_dot*/
/*No:TYPE_BIT_REF.is_like_feature*/


T6 r380is_a(T380* C,T0* a1){
T6 R=0;
/*[IF*/
if(((C)->_run_time_mark/*12*/)==((void*)(X52run_time_mark(a1)))){
R=1;
}
else{
R=r63is_subclass_of((T63*)(r380base_class(C)),X52base_class(a1));
/*[IF*/
if(!(R)){
r21add_type((T0*)C,((T0*)ms13_17730));
r21add_type(a1,((T0*)ms13_47));
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:TYPE_BIT_REF.written_mark*/
/*No:TYPE_BIT_REF.is_character*/


void r380make(T380* C,T0* a1){
C->_type_bit=a1;
C->_run_time_mark=((T0*)ms380_1060);
r2append_in(X281nb((C)->_type_bit/*4*/),(C)->_run_time_mark/*12*/);
r7append((T7*)((C)->_run_time_mark/*12*/),((T0*)ms380_1052));
C->_run_time_mark=r86item((C)->_run_time_mark/*12*/);
C->_written_mark=(C)->_run_time_mark/*12*/;
}


T2 r380jvm_convert_to(T380* C,T0* a1){
T2 R=0;
/*[IF*/
if(X52is_expanded(a1)){
R=X52jvm_expanded_from_reference(a1,(T0*)C);
}
else{
R=1;
}
/*FI]*/
return R;
}


void r380fatal_error_generic_list(T380* C){
r21add_type((T0*)C,((T0*)ms52_29184));
r21print_as_fatal_error((T21*)(oBC12eh));
}
/*No:TYPE_BIT_REF.is_array*/
/*No:TYPE_BIT_REF.jvm_push_default*/
/*No:TYPE_BIT_REF.is_dummy_expanded*/


T0* r380generic_list(T380* C){
T0* R=NULL;
r380fatal_error_generic_list(C);
return R;
}


T0* r380base_class(T380* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=r380base_class_name();
/*[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_BIT_REF.jvm_if_x_ne*/
int fBC380base_class_name=0;
T0*oBC380base_class_name=NULL;


T0* r380base_class_name(void){
if(fBC380base_class_name==0){
fBC380base_class_name=1;
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,((T0*)ms14_9369),NULL);
oBC380base_class_name=(T0*)n;
}
}
return oBC380base_class_name;}
/*No:TYPE_BIT_REF.fz_jvm_root*/


void r380jvm_standard_is_equal(T380* C){
T0* _wa=NULL;
T0* _rc=NULL;
_rc=r380run_class(C);
_wa=r23writable_attributes(((T23*)_rc));
r24std_is_equal(_rc,_wa);
}
/*No:TYPE_BIT_REF.is_formal_generic*/


T6 r380is_a_in(T380* C,T0* a1,T0* a2){
T6 R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*[IF*/
if(((C)->_written_mark/*8*/)==((void*)(X52written_mark(a1)))){
R=1;
}
else{
_ct=(((T23*)a2))->_current_type/*0*/;
_t1=/*(IRF4.4to_runnable*/((T0*)(C))/*)*/;
_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* r380look_up_for(T380* C,T0* a1,T0* a2){
T0* R=NULL;
R=r63look_up_for((T63*)(r380base_class(C)),a1,a2);
return R;
}
/*No:TYPE_BIT_REF.run_type*/
/*No:TYPE_BIT_REF.expanded_initializer*/
/*No:TYPE_BIT_REF.has_creation*/
/*No:TYPE_BIT_REF.jvm_method_flags*/
/*No:TYPE_BIT_REF.is_boolean*/
/*No:TYPE_BIT_REF.is_generic*/
/*No:TYPE_BIT_REF.jvm_xaload*/
/*No:TYPE_BIT_REF.is_real*/


T0* r380jvm_root_descriptor(void){
if(fBC12jvm_root_descriptor==0){
fBC12jvm_root_descriptor=1;
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,12);
oBC12jvm_root_descriptor=(T0*)n;
}
r7extend(((T7*)oBC12jvm_root_descriptor),'L');
r7append(((T7*)oBC12jvm_root_descriptor),r380jvm_root_class());
r7extend(((T7*)oBC12jvm_root_descriptor),'\73');
}
return oBC12jvm_root_descriptor;}
/*No:TYPE_BIT_REF.is_any*/
/*No:TYPE_BIT_REF.is_basic_eiffel_expanded*/
/*No:TYPE_BIT_REF.jvm_descriptor_in*/


T0* r380type_any(void){
if(fBC12type_any==0){
fBC12type_any=1;
{T263*n=malloc(sizeof(*n));
*n=M263;
r263make(n,NULL);
oBC12type_any=(T0*)n;
}
}
return oBC12type_any;}
/*No:TYPE_BIT_REF.is_string*/


T6 r380is_native_array(T380* 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_BIT_REF.is_integer*/
/*No:TYPE_BIT_REF.is_anchored*/
/*No:TYPE_BIT_REF.is_run_type*/
/*No:TYPE_BIT_REF.is_reference*/
/*No:TYPE_BIT_REF.is_none*/
/*No:TYPE_BIT_REF.jvm_return_code*/
/*No:TYPE_BIT_REF.jvm_target_descriptor_in*/
/*No:TYPE_BIT_REF.fz_inako*/
/*No:TYPE_BIT_REF.jvm_xastore*/
/*No:TYPE_BIT_REF.is_like_argument*/


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


T2 r380jvm_expanded_from_reference(T0* a1){
T2 R=0;
return R;
}


T0* r354jvm_root_class(void){
if(fBC12jvm_root_class==0){
fBC12jvm_root_class=1;
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,12);
oBC12jvm_root_class=(T0*)n;
}
r7copy(((T7*)oBC12jvm_root_class),((T24*)(oBC12jvm))->_output_name/*0*/);
r7extend(((T7*)oBC12jvm_root_class),'\57');
r7append(((T7*)oBC12jvm_root_class),((T0*)ms13_1732));
}
return oBC12jvm_root_class;}
/*No:TYPE_REF_TO_EXP.start_position*/


void r354jvm_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);
}/*]*/
}
/*No:TYPE_REF_TO_EXP.used_as_reference*/
/*No:TYPE_REF_TO_EXP.is_user_expanded*/
/*No:TYPE_REF_TO_EXP.id*/
/*No:TYPE_REF_TO_EXP.is_pointer*/
/*No:TYPE_REF_TO_EXP.jvm_check_class_invariant*/
/*No:TYPE_REF_TO_EXP.to_runnable*/
/*No:TYPE_REF_TO_EXP.run_class*/


void r354standard_jvm_check_class_invariant(T354* C){
/*[IF*/
if(r76invariant_check((T76*)(oBC12run_control))){
r23jvm_check_class_invariant((T23*)((C)->_run_class/*4*/));
}
/*FI]*/
}
/*No:TYPE_REF_TO_EXP.us_item*/
/*No:TYPE_REF_TO_EXP.is_like_current*/
/*No:TYPE_REF_TO_EXP.is_bit*/


T0* r354smallest_ancestor(T0* a1){
T0* R=NULL;
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms354_87172);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
return R;
}
/*No:TYPE_REF_TO_EXP.jvm_write_local*/
/*No:TYPE_REF_TO_EXP.expanded_type*/
/*No:TYPE_REF_TO_EXP.fatal_error*/
/*No:TYPE_REF_TO_EXP.run_time_mark*/
/*No:TYPE_REF_TO_EXP.is_expanded*/
/*No:TYPE_REF_TO_EXP.jvm_if_x_eq*/
/*No:TYPE_REF_TO_EXP.jvm_xnewarray*/
/*No:TYPE_REF_TO_EXP.jvm_push_local*/
/*No:TYPE_REF_TO_EXP.fz_dot*/
/*No:TYPE_REF_TO_EXP.is_like_feature*/


T6 r354is_a(T354* C,T0* a1){
T6 R=0;
/*[IF*/
if((X52run_time_mark(a1))!=((void*)(X52run_time_mark((C)->_expanded_type/*12*/)))){
R=X52is_a((C)->_expanded_type/*12*/,a1);
}
else{
r21add_type((T0*)C,((T0*)ms13_17730));
r21add_type(a1,((T0*)ms13_47));
}
/*FI]*/
return R;
}
/*No:TYPE_REF_TO_EXP.written_mark*/
/*No:TYPE_REF_TO_EXP.is_character*/


void r354make(T354* C,T0* a1){
C->_expanded_type=a1;
r7copy((T7*)(((T0*)ms52_785024)),((T0*)ms354_2610));
r7append((T7*)(((T0*)ms52_785024)),X52run_time_mark(a1));
C->_written_mark=r86item(((T0*)ms52_785024));
C->_run_class=r22run_class((T0*)C);
r23set_at_run_time((T23*)((C)->_run_class/*4*/));
}


T2 r354jvm_convert_to(T0* a1){
T2 R=0;
R=1;
return R;
}
/*No:TYPE_REF_TO_EXP.is_array*/

