/*
-- 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"
/*No:CALL_INFIX_TIMES.static_value*/
/*No:CALL_INFIX_TIMES.feature_name*/
/*No:CALL_INFIX_TIMES.us_muls*/


T6 r139is_static(T139* C){
T6 R=0;
/*[IF*/
if(X52is_integer(r139result_type(C))){
/*[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*//*)*//*)*/));
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_TIMES.is_manifest_string*/


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


T0* r139add_comment(T139* 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 r139to_integer(T139* C){
T2 R=0;
r139error(r139start_position(C),((T0*)ms13_45846));
return R;
}


T6 r139use_current(T139* 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_TIMES.jvm_branch_if_true*/


T0* r139to_runnable(T139* 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=r139runnable_expression((C)->_target/*4*/,a1);
_a=r139runnable_args((C)->_arguments/*8*/,a1);
_tt=X109result_type(_t);
_at=X109result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
/*[IF*/
{/*AT*//*[IF*/
if(X52is_real(_at)){
/*[IF*/
if(X52is_integer(_tt)){
_tbee=X52run_type(_at);
if(NULL!=(_tbee))switch(((T0*)_tbee)->id) {
case 274: case 272: case 270: case 271: case 275: case 268: 
break;
default:
_tbee=NULL;
};{T379*n=malloc(sizeof(*n));
*n=M379;
r379make(n,_t,_tbee);
_t=(T0*)n;
}
}
/*FI]*/
}
 else if(X52is_double(_at)){
/*[IF*/
if((X52is_integer(_tt))||(X52is_real(_tt))){
_tbee=X52run_type(_at);
if(NULL!=(_tbee))switch(((T0*)_tbee)->id) {
case 274: case 272: case 270: case 271: case 275: case 268: 
break;
default:
_tbee=NULL;
};{T379*n=malloc(sizeof(*n));
*n=M379;
r379make(n,_t,_tbee);
_t=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
_rf=r139run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*16*/)==((void*)(NULL))){
C->_target=_t;
C->_arguments=_a;
C->_run_feature=_rf;
r139run_feature_match(C,a1);
R=(T0*)C;
}
 else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
R=(T0*)C;
}
else{
{T139*n=malloc(sizeof(*n));
*n=M139;
r139with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}


T2 r139compile_to_jvm_into(T139* C,T0* a1){
T2 R=0;
R=r139standard_compile_to_jvm_into(C,a1);
return R;
}
/*No:CALL_INFIX_TIMES.is_pre_computable*/
/*No:CALL_INFIX_TIMES.fz_bad_argument*/
/*No:CALL_INFIX_TIMES.fz_iinaiv*/


T0* r139result_type(T139* 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_TIMES.static_value_mem*/
/*No:CALL_INFIX_TIMES.run_feature*/


T0* r139runnable_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 r139standard_compile_target_to_jvm(T139* C){
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T139* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
X52jvm_check_class_invariant(r139result_type(C));
}
/*No:CALL_INFIX_TIMES.compile_to_jvm_assignment*/
/*No:CALL_INFIX_TIMES.fz_07*/


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


void r139with(T139* 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;
r139run_feature_match(C,a5);
}
/*No:CALL_INFIX_TIMES.call_proc_call_c2jvm*/
/*No:CALL_INFIX_TIMES.is_result*/
/*No:CALL_INFIX_TIMES.fatal_error*/


void r139run_feature_match(T139* C,T0* a1){
r139run_feature_has_result(C);
r152match_with((T152*)((C)->_arguments/*8*/),(C)->_run_feature/*16*/,a1);
}
/*No:CALL_INFIX_TIMES.arguments*/


T0* r139runnable_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_TIMES.can_be_dropped*/
/*No:CALL_INFIX_TIMES.implicit_cast*/
/*No:CALL_INFIX_TIMES.compile_target_to_jvm*/
/*No:CALL_INFIX_TIMES.isa_dca_inline_argument*/
/*No:CALL_INFIX_TIMES.arg1*/


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


T0* r139run_feature_for(T139* 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_TIMES.target*/


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


void r139make(T139* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
{T141*n=malloc(sizeof(*n));
*n=M141;
r141make(n,r139operator(),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_TIMES.is_current*/


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


T0* r139operator(void){
T0* R=NULL;
R=((T0*)ms14_43);
return R;
}


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


void r139afd_check(T139* 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:ADDRESS_OF.static_value*/
/*No:ADDRESS_OF.feature_name*/
/*No:ADDRESS_OF.is_static*/
/*No:ADDRESS_OF.is_manifest_string*/


T0* r163start_position(T163* C){
T0* R=NULL;
R=X50start_position((C)->_feature_name/*4*/);
return R;
}


T0* r163add_comment(T163* 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 r163to_integer(T163* C){
T2 R=0;
r163error(r163start_position(C),((T0*)ms13_45846));
return R;
}
/*No:ADDRESS_OF.use_current*/
/*No:ADDRESS_OF.jvm_branch_if_true*/


T0* r163to_runnable(T163* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((C)->_current_type/*8*/)==((void*)(NULL))){
C->_current_type=a1;
C->_run_feature=r23get_rf_with((T23*)(X52run_class(a1)),(C)->_feature_name/*4*/);
/*[IF*/
if(((C)->_run_feature/*12*/)==((void*)(NULL))){
r163error(r163start_position(C),((T0*)ms163_24192));
}
else{
r376register_for((T0*)C);
}
/*FI]*/
R=(T0*)C;
}
else{
{T163*n=malloc(sizeof(*n));
*n=M163;
/*[IRF3.3make*/((((T163*)(n)))->_feature_name)=((C)->_feature_name/*4*/);
/*]*/
R=(T0*)n;
}
R=r163to_runnable(((T163*)R),a1);
}
/*FI]*/
return R;
}
/*No:ADDRESS_OF.compile_to_jvm_into*/
/*No:ADDRESS_OF.is_pre_computable*/
/*No:ADDRESS_OF.fz_iinaiv*/
/*No:ADDRESS_OF.result_type*/
/*No:ADDRESS_OF.run_feature*/
/*No:ADDRESS_OF.compile_to_jvm_assignment*/
/*No:ADDRESS_OF.fz_jvm_error*/
/*No:ADDRESS_OF.compile_to_jvm_old*/
/*No:ADDRESS_OF.jvm_assign*/
/*No:ADDRESS_OF.jvm_branch_if_false*/


void r163compile_to_jvm(T163* C){
r21add_position(r163start_position(C));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_63648);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*No:ADDRESS_OF.is_result*/
/*No:ADDRESS_OF.fatal_error*/
int fBC12type_pointer=0;
T0*oBC12type_pointer=NULL;


T0* r163type_pointer(void){
if(fBC12type_pointer==0){
fBC12type_pointer=1;
{T274*n=malloc(sizeof(*n));
*n=M274;
r274make(n,NULL);
oBC12type_pointer=(T0*)n;
}
}
return oBC12type_pointer;}
/*No:ADDRESS_OF.can_be_dropped*/


void r163compile_target_to_jvm(T163* C){
r21add_position(r163start_position(C));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_63648);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*No:ADDRESS_OF.isa_dca_inline_argument*/
T0*oBC12address_of_pool=NULL;
/*No:ADDRESS_OF.current_type*/


void r163error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
/*No:ADDRESS_OF.make*/
/*No:ADDRESS_OF.is_current*/
/*No:ADDRESS_OF.is_void*/
/*No:ADDRESS_OF.afd_check*/
/*No:CST_ATT_CHARACTER.base_class*/
/*No:CST_ATT_CHARACTER.value_mem*/


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


T6 r210is_merge_with(T210* C,T0* a1,T0* a2){
T6 R=0;
R=1;
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(X95result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X95result_type(a1))==((void*)(NULL)))){
R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X95arguments(a1)))){
/*[IF*/
{/*AT*/R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
R=X52is_a_in((C)->_result_type/*20*/,X95result_type(a1),a2);
}
/*FI]*/
/*[IF*/
if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
R=r191is_a_in((T191*)(/*(IRF4.1arguments*/NULL/*)*/),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*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
R=X52is_a_in(X95result_type(a1),(C)->_result_type/*20*/,a2);
}
/*FI]*/
/*[IF*/
if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
R=r191is_a_in((T191*)(X95arguments(a1)),/*(IRF4.1arguments*/NULL/*)*/,a2);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
r210merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_CHARACTER.first_name*/
/*No:CST_ATT_CHARACTER.em1*/
/*No:CST_ATT_CHARACTER.header_comment*/
/*No:CST_ATT_CHARACTER.names*/
/*No:CST_ATT_CHARACTER.result_type*/
/*No:CST_ATT_CHARACTER.code_require*/
/*No:CST_ATT_CHARACTER.make_e_feature*/


void r210add_into(T210* 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 r210can_hide(T210* C,T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(X95result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X95result_type(a1))==((void*)(NULL)))){
r21add_position(X95start_position(a1));
r210error(r210start_position(C),((T0*)ms95_64647));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X95arguments(a1)))){
/*[IF*/
{/*AT*/r21add_position(X95start_position(a1));
r210error(r210start_position(C),((T0*)ms95_83182));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
/*[IF*/
if(!(X52is_a_in((C)->_result_type/*20*/,X95result_type(a1),a2))){
/*[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]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
R=(/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0);
/*[IF*/
if(R){
r210merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_CHARACTER.ensure_assertion*/


T0* r210try_to_undefine(T210* 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=r210try_to_undefine_aux(C,a1,a2);
/*[IF*/
if((R)!=((void*)(NULL))){
/*X289set_clients*//*[IRF3.3set_clients*/((((T292*)(((T292*)R))))->_clients)=((C)->_clients/*16*/);
/*]*/
r210merge_header_comments(C,R);
}
else{
r63fatal_undefine(((T63*)a2),a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_CHARACTER.is_deferred*/
/*No:CST_ATT_CHARACTER.set_clients*/
/*No:CST_ATT_CHARACTER.value*/
/*No:CST_ATT_CHARACTER.nb_errors*/


T0* r210to_run_feature(T210* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X52run_class(a1);
R=r23at(((T23*)_rc),a2);
if(NULL!=(R))switch(((T0*)R)->id) {
case 372: 
break;
default:
R=NULL;
};/*[IF*/
if((R)==((void*)(NULL))){
{T372*n=malloc(sizeof(*n));
*n=M372;
r372make(n,a1,a2,(T0*)C);
R=(T0*)n;
}
}
/*FI]*/
return R;
}


void r210merge_header_comments(T210* 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:CST_ATT_CHARACTER.arguments*/
/*No:CST_ATT_CHARACTER.require_assertion*/


T0* r210try_to_undefine_aux(T210* C,T0* a1,T0* a2){
T0* R=NULL;
r21add_position(r210start_position(C));
r210error(X50start_position(a1),((T0*)ms205_99414));
r63fatal_undefine(((T63*)a2),a1);
return R;
}
/*No:CST_ATT_CHARACTER.fz_dot*/


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


void r210make(T210* C,T0* a1,T0* a2,T0* a3){
/*[IRF3.3make_e_feature*/((((T210*)(C)))->_names)=(a1);
/*]*/
C->_result_type=a2;
C->_value_mem=a3;
}


void r210collect_for(T2 a1){
T0* _er=NULL;
/*[IF*/
if((a1)==(1)){
_er=/*(IRF4.1require_assertion*/NULL/*)*/;
/*[IF*/
if((_er)!=((void*)(NULL))){
/*[IF*/
if(!(r365fast_has((T365*)(oBC95require_collector),_er))){
r365add_last((T365*)(oBC95require_collector),_er);
}
/*FI]*/
}
/*FI]*/
}
else{
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
}
/*No:CST_ATT_CHARACTER.set_header_comment*/
/*No:CST_ATT_CHARACTER.clients*/


T0* r263jvm_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_ANY.start_position*/


void r263jvm_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_ANY.used_as_reference*/
/*No:TYPE_ANY.is_user_expanded*/


T2 r263id(T263* C){
T2 R=0;
R=((T63*)(r263base_class(C)))->_id/*0*/;
return R;
}
/*No:TYPE_ANY.is_pointer*/
/*No:TYPE_ANY.jvm_check_class_invariant*/


T0* r263to_runnable(T263* C,T0* a1){
T0* R=NULL;
R=(T0*)C;
r263check_type(C);
return R;
}


T0* r263run_class(T263* C){
T0* R=NULL;
R=r22run_class((T0*)C);
return R;
}
/*No:TYPE_ANY.is_like_current*/
/*No:TYPE_ANY.is_bit*/
/*No:TYPE_ANY.jvm_write_local*/
/*No:TYPE_ANY.smallest_ancestor*/


T0* r263run_time_mark(void){
T0* R=NULL;
R=((T0*)ms14_714);
return R;
}
/*No:TYPE_ANY.is_expanded*/
/*No:TYPE_ANY.jvm_if_x_eq*/
/*No:TYPE_ANY.jvm_xnewarray*/
/*No:TYPE_ANY.jvm_push_local*/
/*No:TYPE_ANY.fz_dot*/
/*No:TYPE_ANY.is_like_feature*/


T6 r263is_a(T263* C,T0* a1){
T6 R=0;
/*[IF*/
if(X52is_any(a1)){
R=1;
}
 else if(X52is_none(a1)){
}
else{
R=r63is_subclass_of((T63*)(r263base_class(C)),X52base_class(a1));
}
/*FI]*/
/*[IF*/
if(!(R)){
r21add_type((T0*)C,((T0*)ms13_17730));
r21add_type(a1,((T0*)ms13_47));
}
/*FI]*/
return R;
}


T0* r263written_mark(void){
T0* R=NULL;
R=((T0*)ms14_714);
return R;
}
/*No:TYPE_ANY.is_character*/


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


void r263make(T263* C,T0* a1){
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make(n,((T0*)ms14_714),a1);
C->_base_class_name=(T0*)n;
}
}


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


void r263fatal_error_generic_list(T263* C){
r21add_type((T0*)C,((T0*)ms52_29184));
r21print_as_fatal_error((T21*)(oBC12eh));
}
/*No:TYPE_ANY.is_array*/


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


T0* r263generic_list(T263* C){
T0* R=NULL;
r263fatal_error_generic_list(C);
return R;
}


T0* r263base_class(T263* 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_ANY.jvm_if_x_ne*/
/*No:TYPE_ANY.base_class_name*/
/*No:TYPE_ANY.fz_jvm_root*/


void r263jvm_standard_is_equal(T263* C){
T0* _wa=NULL;
T0* _rc=NULL;
_rc=r263run_class(C);
_wa=r23writable_attributes(((T23*)_rc));
r24std_is_equal(_rc,_wa);
}
/*No:TYPE_ANY.is_formal_generic*/


T6 r263is_a_in(T263* C,T0* a1,T0* a2){
T6 R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*[IF*/
if((r263written_mark())==((void*)(X52written_mark(a1)))){
R=1;
}
else{
_ct=(((T23*)a2))->_current_type/*0*/;
_t1=r263to_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* r263look_up_for(T263* C,T0* a1,T0* a2){
T0* R=NULL;
R=r63look_up_for((T63*)(r263base_class(C)),a1,a2);
return R;
}
/*No:TYPE_ANY.run_type*/
/*No:TYPE_ANY.expanded_initializer*/


T6 r263has_creation(T263* C,T0* a1){
T6 R=0;
r21add_position(X50start_position(a1));
r263error(/*(IRF4.6start_position*/(((T70*)((C)->_base_class_name/*4*/)))->_start_position/*4*//*)*/,((T0*)ms263_27380));
return R;
}
/*No:TYPE_ANY.jvm_method_flags*/
/*No:TYPE_ANY.is_boolean*/
/*No:TYPE_ANY.is_generic*/
/*No:TYPE_ANY.jvm_xaload*/
/*No:TYPE_ANY.is_real*/


T0* r263jvm_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),r263jvm_root_class());
r7extend(((T7*)oBC12jvm_root_descriptor),'\73');
}
return oBC12jvm_root_descriptor;}
/*No:TYPE_ANY.is_any*/
/*No:TYPE_ANY.nb_errors*/
/*No:TYPE_ANY.is_basic_eiffel_expanded*/
/*No:TYPE_ANY.jvm_descriptor_in*/
/*No:TYPE_ANY.is_string*/


T6 r263is_native_array(T263* 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_ANY.is_integer*/
/*No:TYPE_ANY.is_anchored*/
/*No:TYPE_ANY.is_run_type*/
/*No:TYPE_ANY.is_reference*/
/*No:TYPE_ANY.us_any*/
/*No:TYPE_ANY.is_none*/
/*No:TYPE_ANY.jvm_return_code*/
/*No:TYPE_ANY.jvm_target_descriptor_in*/
/*No:TYPE_ANY.fz_inako*/
/*No:TYPE_ANY.jvm_xastore*/
/*No:TYPE_ANY.is_like_argument*/
int fBC263check_type=0;


void r263check_type(T263* C){
if (fBC263check_type==0){
T0* _rc=NULL;
T0* _bc=NULL;
fBC263check_type=1;
_bc=r263base_class(C);
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
_rc=r263run_class(C);
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if((((T63*)_bc))->_is_expanded/*20*/){
r263error(/*(IRF4.6start_position*/(((T70*)((C)->_base_class_name/*4*/)))->_start_position/*4*//*)*/,((T0*)ms263_38450));
}
/*FI]*/
}
/*FI]*/
}}


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


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


T6 r63is_general(T63* C){
T6 R=0;
R=(((T0*)ms14_6412))==((void*)(((T70*)((C)->_name/*24*/))->_to_string/*0*/));
return R;
}


T0* r63root_procedure(T63* C,T0* a1){
T0* R=NULL;
T0* _f=NULL;
T0* _rc=NULL;
/*[IF*/
if(/*(IRF4.7is_generic*/((C)->_formal_generic_list/*28*/)!=(NULL)/*)*/){
/*[IRF3.6append*/{T0* b1=((T70*)((C)->_name/*24*/))->_to_string/*0*/;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms63_148460);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_fatal_error((T21*)(oBC12eh));
}
/*FI]*/
/*[IF*/
if((C)->_is_deferred/*16*/){
/*[IRF3.6append*/{T0* b1=((T70*)((C)->_name/*24*/))->_to_string/*0*/;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms63_153753);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_warning((T21*)(oBC12eh));
}
/*FI]*/
_rc=r63run_class(C);
r23set_at_run_time(((T23*)_rc));
_f=r63look_up_for(C,_rc,a1);
/*[IF*/
if((_f)==((void*)(NULL))){
r21add_position((((T151*)a1))->_start_position/*8*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms63_40425);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
R=_f;
if(NULL!=(R))switch(((T0*)R)->id) {
case 307: 
break;
default:
R=NULL;
};/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(X95start_position(_f));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms63_60357);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}


void r63fatal_undefine(T63* C,T0* a1){
/*[IRF3.6append*/{T0* b1=((T0*)ms63_36660);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X50to_string(a1);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms63_3192);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T70*)((C)->_name/*24*/))->_to_string/*0*/;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms63_166);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}


T0* r63going_up(T63* C,T0* a1,T0* a2,T0* a3){
T0* R=NULL;
/*[IF*/
if(((C)->_parent_list/*40*/)==((void*)(NULL))){
R=r63going_up((T63*)(r63class_any()),a1,a2,a3);
}
else{
R=r81going_up((T81*)((C)->_parent_list/*40*/),a1,a2,a3);
}
/*FI]*/
return R;
}
/*No:BASE_CLASS.creation_clause_list*/
/*No:BASE_CLASS.set_obsolete_type_string*/


void r63add_feature_clause(T63* C,T0* a1){
/*[IF*/
if(((C)->_feature_clause_list/*48*/)==((void*)(NULL))){
{T97*n=malloc(sizeof(*n));
*n=M97;
/*[IRF3.3make*/((((T97*)(n)))->_list)=(se_ma99(1,
a1));
/*]*/
C->_feature_clause_list=(T0*)n;
}
}
else{
/*[IRF3.5add_last*/r99add_last(((T99*)(((T97*)((C)->_feature_clause_list/*48*/))->_list/*0*/)),a1);
/*]*/
}
/*FI]*/
}
/*No:BASE_CLASS.id*/
/*No:BASE_CLASS.heading_comment2*/


void r63get_started(T63* C){
C->_id=r104item((T104*)(r63id_provider()),((T70*)((C)->_name/*24*/))->_to_string/*0*/);
/*[IF*/
if(((C)->_feature_clause_list/*48*/)!=((void*)(NULL))){
r97get_started((T97*)((C)->_feature_clause_list/*48*/),(C)->_feature_dictionary/*60*/);
}
/*FI]*/
/*[IF*/
if(((C)->_parent_list/*40*/)!=((void*)(NULL))){
r81get_started((T81*)((C)->_parent_list/*40*/));
}
/*FI]*/
/*[IF*/
if(((C)->_end_comment/*56*/)!=((void*)(NULL))){
r85good_end((T85*)((C)->_end_comment/*56*/),(C)->_name/*24*/);
}
/*FI]*/
/*[IF*/
if(((C)->_parent_list/*40*/)!=((void*)(NULL))){
/*[IRF3.3clear*/((((T66*)((T66*)(oBC63visited))))->_upper)=(-(1));
/*]*/
r66add_last((T66*)(oBC63visited),(T0*)C);
r81inherit_cycle_check((T81*)((C)->_parent_list/*40*/));
}
/*FI]*/
/*[IF*/
if(((r76all_check((T76*)(oBC12run_control)))&&((C)->_is_deferred/*16*/))&&(((C)->_creation_clause_list/*44*/)!=((void*)(NULL)))){
r21add_position(((T70*)((C)->_name/*24*/))->_start_position/*4*/);
r63warning(r77start_position((T77*)((C)->_creation_clause_list/*44*/)),((T0*)ms63_172312));
}
/*FI]*/
}


T0* r63new_name_of_original(T63* C,T0* a1,T0* a2){
T0* R=NULL;
/*[IF*/
if((C)==((void*)(a1))){
R=a2;
}
 else if(r63is_general(C)){
R=a2;
}
else{
/*[IF*/
if(((C)->_parent_list/*40*/)==((void*)(NULL))){
R=r63new_name_of((T63*)(r63class_any()),a1,a2);
}
else{
/*[IRF3.3clear*/((((T344*)((T344*)(oBC63going_up_trace))))->_upper)=(-(1));
/*]*/
R=r81going_up((T81*)((C)->_parent_list/*40*/),oBC63going_up_trace,a1,a2);
}
/*FI]*/
}
/*FI]*/
return R;
}


T0* r63run_class(T63* C){
T0* R=NULL;
T0* _type=NULL;
T0* _n=NULL;
T0* _rcd=NULL;
_n=((T70*)((C)->_name/*24*/))->_to_string/*0*/;
_rcd=oBC22run_class_dictionary;
/*[IF*/
if(r342has(((T342*)_rcd),_n)){
R=r342at(((T342*)_rcd),_n);
}
else{
{T277*n=malloc(sizeof(*n));
*n=M277;
/*[IRF3.3make*/((((T277*)(n)))->_base_class_name)=((C)->_name/*24*/);
/*]*/
_type=(T0*)n;
}
R=r277run_class(((T277*)_type));
}
/*FI]*/
return R;
}
/*No:BASE_CLASS.feature_clause_list*/
/*No:BASE_CLASS.formal_generic_list*/
/*No:BASE_CLASS.set_end_comment*/


T0* r63get_copy(T63* C){
T0* R=NULL;
R=r94at((T94*)((C)->_feature_dictionary/*60*/),((T0*)ms14_1812));
return R;
}


T0* r63super_look_up_for(T63* C,T0* a1,T0* a2){
T0* R=NULL;
/*[IF*/
if(((C)->_parent_list/*40*/)==((void*)(NULL))){
/*[IF*/
if(r63is_general(C)){
R=NULL;
}
else{
R=r63look_up_for((T63*)(r63class_any()),a1,a2);
}
/*FI]*/
}
else{
R=r81look_up_for((T81*)((C)->_parent_list/*40*/),a1,a2);
}
/*FI]*/
return R;
}
T0*oBC63visited=NULL;
/*No:BASE_CLASS.fatal_error*/
/*No:BASE_CLASS.parent_list*/
/*No:BASE_CLASS.is_expanded*/


void r63collect_invariant(T63* C,T0* a1){
/*[IF*/
if(((C)->_parent_list/*40*/)!=((void*)(NULL))){
r81collect_invariant((T81*)((C)->_parent_list/*40*/),a1);
}
/*FI]*/
/*[IF*/
if(((C)->_class_invariant/*52*/)!=((void*)(NULL))){
/*[IRF3.6collect_invariant*/{T0* b1=(C)->_class_invariant/*52*/;
r106add_into(((T106*)b1),oBC23ci_collector);
}/*]*/
}
/*FI]*/
}


void r63fatal_error_vdrd6(T0* a1,T0* a2,T0* a3){
r21add_position(X95start_position(a1));
r21add_position(X95start_position(a2));
/*[IRF3.6append*/{T0* b1=((T0*)ms63_18000);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=a3;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_fatal_error((T21*)(oBC12eh));
}


T0* r63clients_for(T63* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(r63proper_has(C,a1)){
R=X95clients(r94at((T94*)((C)->_feature_dictionary/*60*/),X50to_key(a1)));
}
 else if(r63is_general(C)){
}
 else if(((C)->_parent_list/*40*/)==((void*)(NULL))){
R=r63clients_for((T63*)(r63class_any()),a1);
}
else{
R=r81clients_for((T81*)((C)->_parent_list/*40*/),a1);
}
/*FI]*/
return R;
}
/*No:BASE_CLASS.us_general*/


void r63warning(T0* a1,T0* a2){
r21add_position(a1);
r21warning((T21*)(oBC12eh),a2);
}
/*No:BASE_CLASS.obsolete_type_string*/


T0* r63class_with(T0* a1){
T0* R=NULL;
R=r22get_class(a1);
return R;
}
/*No:BASE_CLASS.set_formal_generic_list*/
/*No:BASE_CLASS.fz_dot*/
int fBC12class_any=0;
T0*oBC12class_any=NULL;


T0* r63class_any(void){
if(fBC12class_any==0){
fBC12class_any=1;
oBC12class_any=r63class_with(((T0*)ms14_714));
}
return oBC12class_any;}


void r63error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
/*No:BASE_CLASS.class_invariant*/


void r63make(T63* C){
{T66*n=malloc(sizeof(*n));
*n=M66;
r66with_capacity(n,16);
C->_isom=(T0*)n;
}
C->_path=r86item(((T74*)(oBC12parser_buffer))->_path/*0*/);
{T70*n=malloc(sizeof(*n));
*n=M70;
r70make_unknown(n);
C->_name=(T0*)n;
}
{T94*n=malloc(sizeof(*n));
*n=M94;
/*[IRF3.4make*/r94with_capacity(n,32);
/*]*/
C->_feature_dictionary=(T0*)n;
}
}
/*No:BASE_CLASS.heading_comment1*/


T0* r63id_provider(void){
if(fBC12id_provider==0){
fBC12id_provider=1;
{T104*n=malloc(sizeof(*n));
*n=M104;
r104make(n);
oBC12id_provider=(T0*)n;
}
}
return oBC12id_provider;}


void r63collect_for(T63* C,T2 a1,T0* a2){
T0* _fn_key=NULL;
_fn_key=X50to_key(a2);
/*[IF*/
if(r94has((T94*)((C)->_feature_dictionary/*60*/),_fn_key)){
X95collect_for(r94at((T94*)((C)->_feature_dictionary/*60*/),_fn_key),a1);
}
/*FI]*/
/*[IF*/
if(((C)->_parent_list/*40*/)==((void*)(NULL))){
/*[IF*/
if(r63is_general(C)){
}
else{
r63collect_for((T63*)(r63class_any()),a1,a2);
}
/*FI]*/
}
else{
r81collect_for((T81*)((C)->_parent_list/*40*/),a1,a2);
}
/*FI]*/
}
/*No:BASE_CLASS.end_comment*/
/*No:BASE_CLASS.name*/
/*No:BASE_CLASS.set_heading_comment1*/
T0*oBC63going_up_trace=NULL;
/*No:BASE_CLASS.us_copy*/


T6 r63has(T63* C,T0* a1){
T6 R=0;
/*[IF*/
if(r94has((T94*)((C)->_feature_dictionary/*60*/),X50to_key(a1))){
R=1;
}
else{
R=r63super_has(C,a1);
}
/*FI]*/
return R;
}
/*No:BASE_CLASS.set_heading_comment2*/


void r63vdrd6(T0* a1,T0* a2,T0* a3){
T0* _rt2=NULL;
T0* _rt1=NULL;
T0* _ct=NULL;
T0* _writable_attribute=NULL;
_writable_attribute=a2;
if(NULL!=(_writable_attribute))switch(((T0*)_writable_attribute)->id) {
case 319: 
break;
default:
_writable_attribute=NULL;
};/*[IF*/
if((_writable_attribute)!=((void*)(NULL))){
_writable_attribute=a3;
if(NULL!=(_writable_attribute))switch(((T0*)_writable_attribute)->id) {
case 319: 
break;
default:
_writable_attribute=NULL;
};/*[IF*/
if((_writable_attribute)==((void*)(NULL))){
r63fatal_error_vdrd6(a2,a3,((T0*)ms63_197701));
}
else{
/*[IRF3.3set_isa_redefinition*/((((T319*)(((T319*)_writable_attribute))))->_isa_redefinition)=(1);
/*]*/
_ct=(((T23*)a1))->_current_type/*0*/;
_rt1=X52to_runnable(X95result_type(a2),_ct);
_rt2=X52to_runnable(X95result_type(a3),_ct);
/*[IF*/
if(X52is_reference(_rt1)){
/*[IF*/
if(X52is_reference(_rt2)){
}
else{
r63fatal_error_vdrd6(a2,a3,((T0*)ms63_229320));
}
/*FI]*/
}
 else if(X52is_reference(_rt2)){
r63fatal_error_vdrd6(a2,a3,((T0*)ms63_229320));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}


T6 r63has_simple_feature_name(T63* C,T0* a1){
T6 R=0;
r151make((T151*)(r63mem_fn()),a1,NULL);
R=r63has(C,r63mem_fn());
return R;
}


T6 r63is_subclass_of(T63* C,T0* a1){
T6 R=0;
/*[IF*/
if(r66fast_has((T66*)((C)->_isom/*64*/),a1)){
R=1;
}
else{
/*[IF*/
if(r63is_any(((T63*)a1))){
R=1;
}
else{
/*[IRF3.3clear*/((((T66*)((T66*)(oBC63visited))))->_upper)=(-(1));
/*]*/
R=r63is_subclass_of_aux(C,a1);
}
/*FI]*/
/*[IF*/
if(R){
r66add_last((T66*)((C)->_isom/*64*/),a1);
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:BASE_CLASS.next_parent_for*/
/*No:BASE_CLASS.index_list*/


void r63set_invariant(T63* C,T0* a1,T0* a2,T0* a3){
/*[IF*/
if(((a2)!=((void*)(NULL)))||((a3)!=((void*)(NULL)))){
{T106*n=malloc(sizeof(*n));
*n=M106;
r106make(n,a1,a2,a3);
C->_class_invariant=(T0*)n;
}
}
/*FI]*/
}
/*No:BASE_CLASS.path*/
/*No:BASE_CLASS.vdrd6_types*/


T0* r63look_up_for(T63* C,T0* a1,T0* a2){
T0* R=NULL;
T2 _i=0;
T0* _super_fn=NULL;
T0* _fnl=NULL;
T0* _cst_att=NULL;
T0* _fn_key=NULL;
T0* _super=NULL;
_fn_key=X50to_key(a2);
/*[IF*/
if(r94has((T94*)((C)->_feature_dictionary/*60*/),_fn_key)){
R=r94at((T94*)((C)->_feature_dictionary/*60*/),_fn_key);
_super=r63super_look_up_for(C,a1,a2);
/*[IF*/
if(((_super)!=((void*)(NULL)))&&((_super)!=((void*)(R)))){
r63vdrd6(a1,_super,R);
_cst_att=_super;
if(NULL!=(_cst_att))switch(((T0*)_cst_att)->id) {
case 217: case 215: case 209: case 216: case 203: case 214: case 211: case 210: 
break;
default:
_cst_att=NULL;
};/*[IF*/
if((_cst_att)!=((void*)(NULL))){
r21add_position(X95start_position(_super));
r21add_position(X95start_position(R));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms63_82732);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
_fnl=/*X95names*/((T0*)(((T203*)_super))->_names/*8*/);
_i=r87count(((T87*)_fnl));
while (!((_i)<(1))) {
_super_fn=r87item(((T87*)_fnl),_i);
/*[IF*/
if(X50is_frozen(_super_fn)){
/*[IF*/
if((X50to_key(_super_fn))==((void*)(_fn_key))){
r21add_position(X50start_position(_super_fn));
r21add_position(X95start_position(R));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms63_66924);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}
/*FI]*/
_i=(_i)-(1);
}
/*[IF*/
if(!(X95can_hide(R,_super,a1))){
r21add_position(X95start_position(_super));
r21add_position(X95start_position(R));
/*[IRF3.6append*/{T0* b1=((T0*)ms63_90129);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_warning((T21*)(oBC12eh));
}
/*FI]*/
/*[IF*/
if(X95is_deferred(_super)){
}
 else if(r63has_redefine(C,a2)){
}
else{
r21add_position(X95start_position(R));
r21add_position(X95start_position(_super));
/*[IRF3.6append*/{T0* b1=((T0*)ms63_30936);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T70*)((C)->_name/*24*/))->_to_string/*0*/;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms63_33000);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_error((T21*)(oBC12eh));
}
/*FI]*/
}
/*FI]*/
}
else{
R=r63super_look_up_for(C,a1,a2);
}
/*FI]*/
return R;
}


T6 r63is_subclass_of_aux(T63* C,T0* a1){
T6 R=0;
/*[IF*/
if(r66fast_has((T66*)(oBC63visited),(T0*)C)){
}
else{
r66add_last((T66*)(oBC63visited),(T0*)C);
/*[IF*/
if(((C)->_parent_list/*40*/)!=((void*)(NULL))){
R=r81has_parent((T81*)((C)->_parent_list/*40*/),a1);
}
 else if(!(r66fast_has((T66*)(oBC63visited),r63class_any()))){
R=r63is_subclass_of_aux((T63*)(r63class_any()),a1);
}
/*FI]*/
}
/*FI]*/
return R;
}
int fBC63mem_fn=0;
T0*oBC63mem_fn=NULL;


T0* r63mem_fn(void){
if(fBC63mem_fn==0){
fBC63mem_fn=1;
{T151*n=malloc(sizeof(*n));
*n=M151;
r151make(n,((T0*)ms63_5012),NULL);
oBC63mem_fn=(T0*)n;
}
}
return oBC63mem_fn;}


void r63set_parent_list(T63* C,T0* a1,T0* a2,T0* a3){
{T81*n=malloc(sizeof(*n));
*n=M81;
r81make(n,(T0*)C,a1,a2,a3);
C->_parent_list=(T0*)n;
}
}
/*No:BASE_CLASS.first_parent_for*/


T6 r63has_creation(T63* C,T0* a1){
T6 R=0;
T0* _cn=NULL;
T0* _bc=NULL;
T0* _cc=NULL;
/*[IF*/
if(((C)->_creation_clause_list/*44*/)==((void*)(NULL))){
/*[IRF3.6append*/{T0* b1=((T70*)((C)->_name/*24*/))->_to_string/*0*/;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms63_35976);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21add_position(X50start_position(a1));
r21print_as_error((T21*)(oBC12eh));
}
else{
_cc=r77get_clause((T77*)((C)->_creation_clause_list/*44*/),a1);
/*[IF*/
if((_cc)==((void*)(NULL))){
/*[IRF3.6append*/{T0* b1=((T0*)ms13_7398);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X50to_string(a1);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms63_72954);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T70*)((C)->_name/*24*/))->_to_string/*0*/;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r63error(X50start_position(a1),((T0*)ms13_47));
}
else{
R=1;
_bc=X50origin_base_class(a1);
/*[IF*/
if((_bc)!=((void*)(NULL))){
_cn=(((T63*)_bc))->_name/*24*/;
R=r103gives_permission_to((T103*)((((T78*)_cc))->_clients/*4*/),_cn);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(!(R)){
r63error(X50start_position(a1),((T0*)ms63_44356));
}
/*FI]*/
return R;
}


T0* r63expanded_initializer(T63* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((C)->_creation_clause_list/*44*/)!=((void*)(NULL))){
R=r77expanded_initializer((T77*)((C)->_creation_clause_list/*44*/),a1);
}
/*FI]*/
return R;
}


T6 r63proper_has(T63* C,T0* a1){
T6 R=0;
R=r94has((T94*)((C)->_feature_dictionary/*60*/),X50to_key(a1));
return R;
}


void r63add_index_clause(T63* C,T0* a1){
/*[IF*/
if(((C)->_index_list/*8*/)==((void*)(NULL))){
{T326*n=malloc(sizeof(*n));
*n=M326;
/*[IRF3.3make*/((((T326*)(n)))->_list)=(se_ma327(1,
a1));
/*]*/
C->_index_list=(T0*)n;
}
}
else{
/*[IRF3.5add_last*/r327add_last(((T327*)(((T326*)((C)->_index_list/*8*/))->_list/*0*/)),a1);
/*]*/
}
/*FI]*/
}
/*No:BASE_CLASS.is_generic*/
/*No:BASE_CLASS.isom*/


T6 r63super_has(T63* C,T0* a1){
T6 R=0;
/*[IF*/
if(((C)->_parent_list/*40*/)==((void*)(NULL))){
/*[IF*/
if(r63is_general(C)){
R=0;
}
else{
R=r63has((T63*)(r63class_any()),a1);
}
/*FI]*/
}
else{
R=r81has((T81*)((C)->_parent_list/*40*/),a1);
}
/*FI]*/
return R;
}
/*No:BASE_CLASS.fz_09*/
/*No:BASE_CLASS.is_deferred*/


T6 r63is_any(T63* C){
T6 R=0;
R=(((T0*)ms14_714))==((void*)(((T70*)((C)->_name/*24*/))->_to_string/*0*/));
return R;
}
/*No:BASE_CLASS.error_vtec1*/


void r63check_expanded_with(T63* C,T0* a1){
T0* _rf=NULL;
/*[IF*/
if((C)->_is_deferred/*16*/){
r21add_type(a1,((T0*)ms13_11472));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms63_122544);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
/*[IF*/
if(((C)->_creation_clause_list/*44*/)!=((void*)(NULL))){
r77check_expanded_with((T77*)((C)->_creation_clause_list/*44*/),a1);
}
/*FI]*/
_rf=r63expanded_initializer(C,a1);
}


T6 r63has_redefine(T63* C,T0* a1){
T6 R=0;
/*[IF*/
if(((C)->_parent_list/*40*/)!=((void*)(NULL))){
R=r81has_redefine((T81*)((C)->_parent_list/*40*/),a1);
}
/*FI]*/
return R;
}


void r63inherit_cycle_check(T63* C){
T2 _i=0;
r66add_last((T66*)(oBC63visited),(T0*)C);
/*[IF*/
if((/*(IRF4.5first*//*(IRF4.6item*/(((T66*)(oBC63visited))->_storage/*0*/)[0]/*)*//*)*/)==((void*)(C))){
/*[IRF3.6append*/{T0* b1=((T0*)ms63_37233);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
_i=0;
while (!((_i)>(((T66*)(oBC63visited))->_upper/*8*/))) {
/*[IRF3.6append*/{T0* b1=((T70*)(((T63*)(/*(IRF4.6item*/(((T66*)(oBC63visited))->_storage/*0*/)[_i]/*)*/))->_name/*24*/))->_to_string/*0*/;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IF*/
if((_i)<(((T66*)(oBC63visited))->_upper/*8*/)){
/*[IRF3.6append*/{T0* b1=((T0*)ms63_158);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
}
/*FI]*/
_i=(_i)+(1);
}
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms63_1145);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
 else if(((C)->_parent_list/*40*/)!=((void*)(NULL))){
r81inherit_cycle_check((T81*)((C)->_parent_list/*40*/));
}
/*FI]*/
}


T0* r63root_procedure_name(T63* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((C)->_creation_clause_list/*44*/)==((void*)(NULL))){
r21add_position(((T70*)((C)->_name/*24*/))->_start_position/*4*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms63_141270);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
else{
R=r77root_procedure_name((T77*)((C)->_creation_clause_list/*44*/),a1);
/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(((T70*)((C)->_name/*24*/))->_start_position/*4*/);
/*[IRF3.6append*/{T0* b1=((T0*)ms63_34008);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms63_108135);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}
/*FI]*/
return R;
}


T0* r63up_to_original(T63* C,T0* a1,T0* a2){
T0* R=NULL;
/*[IF*/
if(r63proper_has(C,a2)){
/*[IF*/
if(((C)->_parent_list/*40*/)==((void*)(NULL))){
R=r63new_name_of_original(((T63*)a1),(T0*)C,a2);
}
else{
R=r81up_to_original((T81*)((C)->_parent_list/*40*/),a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
R=r63new_name_of_original(((T63*)a1),(T0*)C,a2);
}
/*FI]*/
}
/*FI]*/
}
 else if(((C)->_parent_list/*40*/)!=((void*)(NULL))){
R=r81up_to_original((T81*)((C)->_parent_list/*40*/),a1,a2);
}
 else if(r63is_general(C)){
}
else{
R=r63up_to_original((T63*)(r63class_any()),a1,a2);
}
/*FI]*/
return R;
}
/*No:BASE_CLASS.fz_is_invalid*/
/*No:BASE_CLASS.feature_dictionary*/


T0* r63new_name_of(T63* C,T0* a1,T0* a2){
T0* R=NULL;
/*[IF*/
if((C)==((void*)(a1))){
R=a2;
}
else{
R=r63up_to_original(((T63*)a1),(T0*)C,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(X50start_position(a2));
/*[IRF3.6append*/{T0* b1=((T0*)ms13_7398);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X50to_string(a2);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms63_5440);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T70*)((((T63*)a1))->_name/*24*/))->_to_string/*0*/;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms63_15392);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T70*)((C)->_name/*24*/))->_to_string/*0*/;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms63_166a);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:BASE_CLASS.us_any*/
/*No:BASE_CLASS.has_creation_clause*/


T6 r63is_a_vncg(T63* C,T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if(((C)->_parent_list/*40*/)!=((void*)(NULL))){
R=r81is_a_vncg((T81*)((C)->_parent_list/*40*/),X52run_type(a1),X52run_type(a2));
}
/*FI]*/
return R;
}


void r63set_is_expanded(T63* C){
/*[IF*/
if((C)->_is_deferred/*16*/){
/*[IRF3.6error_vtec1*/{T63* C1=C;
r63error(((T70*)((C1)->_name/*24*/))->_start_position/*4*/,((T0*)ms63_130830));
}/*]*/
}
/*FI]*/
C->_is_expanded=1;
}


void r63set_is_deferred(T63* C){
/*[IF*/
if((C)->_is_expanded/*20*/){
/*[IRF3.6error_vtec1*/{T63* C1=C;
r63error(((T70*)((C1)->_name/*24*/))->_start_position/*4*/,((T0*)ms63_130830));
}/*]*/
}
/*FI]*/
C->_is_deferred=1;
}


void r63add_creation_clause(T63* C,T0* a1){
/*[IF*/
if(((C)->_creation_clause_list/*44*/)==((void*)(NULL))){
{T77*n=malloc(sizeof(*n));
*n=M77;
/*[IRF3.3make*/((((T77*)(n)))->_list)=(se_ma79(1,
a1));
/*]*/
C->_creation_clause_list=(T0*)n;
}
}
else{
/*[IRF3.5add_last*/r79add_last(((T79*)(((T77*)((C)->_creation_clause_list/*44*/))->_list/*0*/)),a1);
/*]*/
}
/*FI]*/
}
/*No:IFTHENLIST.static_false*/
/*No:IFTHENLIST.nb_errors*/
/*No:IFTHENLIST.non_static*/
/*No:IFTHENLIST.add_last*/


T6 r231use_current(T231* C){
T6 R=0;
T2 _i=0;
_i=1;
while (!(((_i)>(((T232*)((C)->_list/*0*/))->_upper/*8*/))||(R))) {
R=r230use_current((T230*)(r232item((T232*)((C)->_list/*0*/),_i)));
_i=(_i)+(1);
}
return R;
}


T0* r231to_runnable(T231* C,T0* a1){
T0* R=NULL;
T2 _i=0;
/*[IF*/
if(((C)->_current_type/*4*/)!=((void*)(NULL))){
{T231*n=malloc(sizeof(*n));
*n=M231;
/*[IRF3.3make*/((((T231*)(n)))->_list)=(r232twin((T232*)((C)->_list/*0*/)));
/*]*/
R=(T0*)n;
}
R=r231to_runnable(((T231*)R),a1);
}
else{
C->_current_type=a1;
_i=1;
while (!(((_i)>(((T232*)((C)->_list/*0*/))->_upper/*8*/))||((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)>(0)))) {
/*[IRF3.6put*/{T232* C1=(T232*)((C)->_list/*0*/);
T0* b1=r230to_runnable((T230*)(r232item((T232*)((C)->_list/*0*/),_i)),a1);
T2 b2=_i;
((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
}/*]*/
_i=(_i)+(1);
}
R=(T0*)C;
}
/*FI]*/
return R;
}
/*No:IFTHENLIST.current_type*/


void r231compile_to_jvm_resolve_branch(T231* C){
T2 _static=0;
T2 _i=0;
_i=1;
_static=19;
while (!(((_static)==(17))||((_i)>(((T232*)((C)->_list/*0*/))->_upper/*8*/)))) {
_static=r230compile_to_jvm_resolve_branch((T230*)(r232item((T232*)((C)->_list/*0*/),_i)));
_i=(_i)+(1);
}
}
/*No:IFTHENLIST.make*/


T2 r231compile_to_jvm(T231* C){
T2 R=0;
T2 _i=0;
R=r230compile_to_jvm((T230*)(r232item((T232*)((C)->_list/*0*/),1)));
_i=2;
while (!(((R)==(17))||((_i)>(((T232*)((C)->_list/*0*/))->_upper/*8*/)))) {
{int z1=r230compile_to_jvm((T230*)(r232item((T232*)((C)->_list/*0*/),_i)));

if((17==z1)){
R=17;
}
 else 
if((18==z1)){
/*[IF*/
if((R)==(18)){
}
else{
R=19;
}
/*FI]*/
}
 else{R=19;
}}
_i=(_i)+(1);
}
return R;
}


void r231afd_check(T231* C){
T2 _i=0;
_i=((T232*)((C)->_list/*0*/))->_upper/*8*/;
while (!((_i)==(0))) {
r230afd_check((T230*)(r232item((T232*)((C)->_list/*0*/),_i)));
_i=(_i)-(1);
}
}
/*No:IFTHENLIST.list*/
/*No:IFTHENLIST.static_true*/


T2 r234static_value(T234* C){
T2 R=0;
R=X109static_value((C)->_expression/*4*/);
return R;
}


T6 r234is_static(T234* C){
T6 R=0;
R=X109is_static((C)->_expression/*4*/);
return R;
}


T6 r234can_be_dropped(T234* C){
T6 R=0;
R=X109can_be_dropped((C)->_expression/*4*/);
return R;
}


T6 r234is_manifest_string(T234* C){
T6 R=0;
R=X109is_manifest_string((C)->_expression/*4*/);
return R;
}


T0* r234start_position(T234* C){
T0* R=NULL;
R=X109start_position((C)->_expression/*4*/);
return R;
}


T0* r234add_comment(T234* 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:EXPRESSION_WITH_COMMENT.expression*/


void r234compile_target_to_jvm(T234* C){
X109compile_target_to_jvm((C)->_expression/*4*/);
}


T2 r234to_integer(T234* C){
T2 R=0;
r234error(r234start_position(C),((T0*)ms13_45846));
return R;
}


T6 r234use_current(T234* C){
T6 R=0;
R=X109use_current((C)->_expression/*4*/);
return R;
}


T2 r234jvm_branch_if_true(T234* C){
T2 R=0;
R=X109jvm_branch_if_true((C)->_expression/*4*/);
return R;
}


T0* r234to_runnable(T234* C,T0* a1){
T0* R=NULL;
T0* _e=NULL;
_e=X109to_runnable((C)->_expression/*4*/,a1);
/*[IF*/
if(((C)->_expression/*4*/)==((void*)(_e))){
R=(T0*)C;
}
else{
{T234*n=malloc(sizeof(*n));
*n=M234;
r234make(n,_e,(C)->_comment/*8*/);
R=(T0*)n;
}
}
/*FI]*/
return R;
}


T2 r234compile_to_jvm_into(T234* C,T0* a1){
T2 R=0;
R=X109compile_to_jvm_into((C)->_expression/*4*/,a1);
return R;
}


T2 r234isa_dca_inline_argument(T234* C){
T2 R=0;
R=X109isa_dca_inline_argument((C)->_expression/*4*/);
return R;
}


T6 r234is_pre_computable(T234* C){
T6 R=0;
R=X109is_pre_computable((C)->_expression/*4*/);
return R;
}
/*No:EXPRESSION_WITH_COMMENT.fz_iinaiv*/

