/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82)      --
-- 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_GT.arguments*/
T0* r57add_comment(T57* C,T0* a1){
T0* R=NULL;
/*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
R=(T0*)C;
}
else {
{T529*n=malloc(sizeof(*n));
*n=M529;
r529make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI*/return R;
}
int r57to_integer(T57* C){
int R=0;
r57error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T57*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
return R;
}
int r57is_a(T57* C,T0* a1){
int R=0;
R=X291is_a(X291run_type((((T57*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
/*IF*/if (!(R)) {
r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T57*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/);
r57error(X662start_position(a1),((T0*)ms4_662));
}
/*FI*/return R;
}
/*No:CALL_INFIX_GT.is_current*/
int r57jvm_branch_if_false(T57* C){
int R=0;
/*IF*/if (X291is_integer((((T57*)C))->_current_type/*8*/)) {
X662compile_to_jvm((((T57*)C))->_target/*12*/);
X662compile_to_jvm(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*24*/)))/*)*/);
R=r256opcode_if_icmple(((T256*)(oBC364code_attribute)));
}
else {
R=r57jvm_standard_branch_if_false(C);
}
/*FI*/return R;
}
/*No:CALL_INFIX_GT.static_value*/
void r57make(T57* C,T0* a1,T0* a2,T0* a3){
T0* _eal=NULL;
/*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
r683add_position(a2);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/{T454*n=malloc(sizeof(*n));
*n=M454;
r454make(n,r57operator(),a2);
C->_feature_name=(T0*)n;
}
{T431*n=malloc(sizeof(*n));
*n=M431;
/*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
/*]*/
_eal=(T0*)n;
}
r57make_call_1(C,a1,(((T57*)C))->_feature_name/*28*/,_eal);
}
/*No:CALL_INFIX_GT.nb_errors*/
/*No:CALL_INFIX_GT.feature_name*/
/*No:CALL_INFIX_GT.compile_to_jvm_assignment*/
/*No:CALL_INFIX_GT.fz_iinaiv*/
/*No:CALL_INFIX_GT.arg_count*/
int r57jvm_branch_if_true(T57* C){
int R=0;
/*IF*/if (X291is_integer((((T57*)C))->_current_type/*8*/)) {
X662compile_to_jvm((((T57*)C))->_target/*12*/);
X662compile_to_jvm(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*24*/)))/*)*/);
R=r256opcode_if_icmpgt(((T256*)(oBC364code_attribute)));
}
else {
R=r57jvm_standard_branch_if_true(C);
}
/*FI*/return R;
}
/*No:CALL_INFIX_GT.run_feature*/
/*No:CALL_INFIX_GT.start_position*/
void r57compile_to_jvm_old(T57* C){
X662compile_to_jvm_old((((T57*)C))->_target/*12*/);
/*IF*/{/*AT*/r431compile_to_jvm_old(((T431*)((((T57*)C))->_arguments/*24*/)));
}
/*FI*/}
/*No:CALL_INFIX_GT.target*/
T0* r57to_runnable(T57* C,T0* a1){
T0* R=NULL;
T0* _tla=NULL;
T0* _a=NULL;
/*IF*/if (((((T57*)C))->_current_type/*8*/)==((void*)(NULL))) {
r57to_runnable_0(C,a1);
_a=r431to_runnable(((T431*)((((T57*)C))->_arguments/*24*/)),a1);
/*IF*/if ((_a)==((void*)(NULL))) {
r57error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*24*/)))/*)*/),((T0*)ms55_470));
}
else {
C->_arguments=_a;
}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
r431match_with(((T431*)((((T57*)C))->_arguments/*24*/)),(((T57*)C))->_run_feature/*16*/);
}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
_tla=(((T57*)C))->_result_type/*20*/;
if(NULL!=(_tla))switch(((T0*)_tla)->id) {
case 239: 
break;
default:
_tla=NULL;
};/*IF*/if ((_tla)!=((void*)(NULL))) {
C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*24*/)))/*)*/));
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
R=(T0*)C;
}
/*FI*/}
else {
R=r57twin(C);
/*[IRF3.3set_current_type*/((((T57*)(((T57*)R))))->_current_type)=(NULL);
/*]*/
R=r57to_runnable(((T57*)R),a1);
}
/*FI*/return R;
}
/*No:CALL_INFIX_GT.result_type*/
/*No:CALL_INFIX_GT.is_result*/
T0* r57twin(T57* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T57*)R)=*C;
return R;
}
/*No:CALL_INFIX_GT.set_current_type*/
T0* r57operator(void){
T0* R=NULL;
R=((T0*)ms33_473);
return R;
}
int r57is_static(T57* C){
int R=0;
/*IF*/if (X291is_integer(X662result_type((((T57*)C))->_target/*12*/))) {
/*IF*/if ((X662is_static((((T57*)C))->_target/*12*/))&&(X662is_static(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*24*/)))/*)*/))) {
R=1;
/*IF*/if ((X662static_value((((T57*)C))->_target/*12*/))>(X662static_value(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*24*/)))/*)*/))) {
C->_static_value_mem=1;
}
else {
C->_static_value_mem=0;
}
/*FI*/}
/*FI*/}
/*FI*/return R;
}
void r57standard_compile_target_to_jvm(T57* C){
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T57* C1=C;
r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1);
}/*]*/
/*]*/
X291jvm_check_class_invariant((((T57*)C))->_result_type/*20*/);
}
int r57compile_to_jvm_into(T57* C,T0* a1){
int R=0;
R=r57standard_compile_to_jvm_into(C,a1);
return R;
}
/*No:CALL_INFIX_GT.compile_target_to_jvm*/
/*No:CALL_INFIX_GT.fz_07*/
/*No:CALL_INFIX_GT.can_be_dropped*/
/*No:CALL_INFIX_GT.current_type*/
/*No:CALL_INFIX_GT.jvm_assign*/
/*No:CALL_INFIX_GT.static_value_mem*/
void r57make_call_1(T57* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
}
/*No:CALL_INFIX_GT.is_manifest_string*/
/*No:CALL_INFIX_GT.is_void*/
int r57jvm_standard_branch_if_false(T57* C){
int R=0;
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T57* C1=C;
r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1);
}/*]*/
/*]*/
R=r256opcode_ifeq(((T256*)(oBC364code_attribute)));
return R;
}
/*No:CALL_INFIX_GT.compile_to_jvm*/
void r57to_runnable_0(T57* C,T0* a1){
C->_current_type=a1;
r57cpc_to_runnable(C,a1);
C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T57*)C))->_run_feature/*16*/))))->_result_type/*24*/);
/*IF*/if (((((T57*)C))->_result_type/*20*/)==((void*)(NULL))) {
r683add_position(X496start_position((((T57*)C))->_run_feature/*16*/));
r57error((((T454*)((T454*)((((T57*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295));
}
 else if (X291is_like_current((((T57*)C))->_result_type/*20*/)) {
C->_result_type=X662result_type((((T57*)C))->_target/*12*/);
}
/*FI*/}
/*No:CALL_INFIX_GT.is_pre_computable*/
int r57jvm_standard_branch_if_true(T57* C){
int R=0;
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T57* C1=C;
r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1);
}/*]*/
/*]*/
R=r256opcode_ifne(((T256*)(oBC364code_attribute)));
return R;
}
int r57use_current(T57* C){
int R=0;
/*IF*/{/*AT*/R=r431use_current(((T431*)((((T57*)C))->_arguments/*24*/)));
}
/*FI*//*IF*/if (R) {
}
 else if (X662is_current((((T57*)C))->_target/*12*/)) {
R=X496use_current((((T57*)C))->_run_feature/*16*/);
}
else {
R=X662use_current((((T57*)C))->_target/*12*/);
}
/*FI*/return R;
}
void r57cpc_to_runnable(T57* C,T0* a1){
T0* _rc=NULL;
T0* _t=NULL;
_t=X662to_runnable((((T57*)C))->_target/*12*/,a1);
/*IF*/if ((_t)==((void*)(NULL))) {
r683add_position(X662start_position((((T57*)C))->_target/*12*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/C->_target=_t;
_rc=X291run_class(X662result_type((((T57*)C))->_target/*12*/));
C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
r576update((((T57*)C))->_target/*12*/,(((T57*)C))->_run_feature/*16*/);
}
void r57error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:CALL_INFIX_GT.isa_dca_inline_argument*/
/*No:CALL_INFIX_GT.us_gt*/
/*No:CALL_INFIX_GT.fatal_error*/
/*No:CALL_INFIX_GT.fz_bad_argument*/
/*No:CALL_INFIX_GT.arg1*/
int r57standard_compile_to_jvm_into(T57* C,T0* a1){
int R=0;
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T57* C1=C;
r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1);
}/*]*/
/*]*/
R=X291jvm_convert_to(X291run_type((((T57*)C))->_result_type/*20*/),a1);
return R;
}
/*No:CALL_INFIX_GT.call_proc_call_c2jvm*/
void r57afd_check(T57* C){
T0* _running=NULL;
T0* _rc=NULL;
_rc=X291run_class(X662result_type((((T57*)C))->_target/*12*/));
_running=(((T355*)((T355*)_rc)))->_running/*12*/;
/*IF*/if ((_running)==((void*)(NULL))) {
r683add_position(X662start_position((((T57*)C))->_target/*12*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms1_135);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms141_470);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683print_as_warning(((T683*)(oBC364eh)));
r355set_at_run_time(((T355*)_rc));
}
 else if ((r396count(((T396*)_running)))>(0)) {
r576update((((T57*)C))->_target/*12*/,(((T57*)C))->_run_feature/*16*/);
}
/*FI*/X662afd_check((((T57*)C))->_target/*12*/);
/*IF*/{/*AT*/r431afd_check(((T431*)((((T57*)C))->_arguments/*24*/)));
}
/*FI*/}
/*No:CALL_INFIX_AND.arguments*/
T0* r313add_comment(T313* C,T0* a1){
T0* R=NULL;
/*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
R=(T0*)C;
}
else {
{T529*n=malloc(sizeof(*n));
*n=M529;
r529make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI*/return R;
}
int r313to_integer(T313* C){
int R=0;
r313error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T313*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
return R;
}
int r313is_a(T313* C,T0* a1){
int R=0;
R=X291is_a(X291run_type((((T313*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
/*IF*/if (!(R)) {
r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T313*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/);
r313error(X662start_position(a1),((T0*)ms4_662));
}
/*FI*/return R;
}
/*No:CALL_INFIX_AND.is_current*/
/*No:CALL_INFIX_AND.jvm_branch_if_false*/
/*No:CALL_INFIX_AND.us_and*/
/*No:CALL_INFIX_AND.static_value*/
void r313make(T313* C,T0* a1,T0* a2,T0* a3){
T0* _eal=NULL;
/*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
r683add_position(a2);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/{T454*n=malloc(sizeof(*n));
*n=M454;
r454make(n,r313operator(),a2);
C->_feature_name=(T0*)n;
}
{T431*n=malloc(sizeof(*n));
*n=M431;
/*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
/*]*/
_eal=(T0*)n;
}
r313make_call_1(C,a1,(((T313*)C))->_feature_name/*28*/,_eal);
}
/*No:CALL_INFIX_AND.nb_errors*/
/*No:CALL_INFIX_AND.feature_name*/
/*No:CALL_INFIX_AND.compile_to_jvm_assignment*/
/*No:CALL_INFIX_AND.fz_iinaiv*/
/*No:CALL_INFIX_AND.arg_count*/
/*No:CALL_INFIX_AND.jvm_branch_if_true*/
/*No:CALL_INFIX_AND.run_feature*/
/*No:CALL_INFIX_AND.start_position*/
void r313compile_to_jvm_old(T313* C){
X662compile_to_jvm_old((((T313*)C))->_target/*12*/);
/*IF*/{/*AT*/r431compile_to_jvm_old(((T431*)((((T313*)C))->_arguments/*24*/)));
}
/*FI*/}
/*No:CALL_INFIX_AND.target*/
T0* r313to_runnable(T313* C,T0* a1){
T0* R=NULL;
T0* _tla=NULL;
T0* _a=NULL;
/*IF*/if (((((T313*)C))->_current_type/*8*/)==((void*)(NULL))) {
r313to_runnable_0(C,a1);
_a=r431to_runnable(((T431*)((((T313*)C))->_arguments/*24*/)),a1);
/*IF*/if ((_a)==((void*)(NULL))) {
r313error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T313*)C))->_arguments/*24*/)))/*)*/),((T0*)ms55_470));
}
else {
C->_arguments=_a;
}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
r431match_with(((T431*)((((T313*)C))->_arguments/*24*/)),(((T313*)C))->_run_feature/*16*/);
}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
_tla=(((T313*)C))->_result_type/*20*/;
if(NULL!=(_tla))switch(((T0*)_tla)->id) {
case 239: 
break;
default:
_tla=NULL;
};/*IF*/if ((_tla)!=((void*)(NULL))) {
C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T313*)C))->_arguments/*24*/)))/*)*/));
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
R=(T0*)C;
}
/*FI*/}
else {
R=r313twin(C);
/*[IRF3.3set_current_type*/((((T313*)(((T313*)R))))->_current_type)=(NULL);
/*]*/
R=r313to_runnable(((T313*)R),a1);
}
/*FI*/return R;
}
/*No:CALL_INFIX_AND.result_type*/
/*No:CALL_INFIX_AND.is_result*/
T0* r313twin(T313* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T313*)R)=*C;
return R;
}
/*No:CALL_INFIX_AND.set_current_type*/
T0* r313operator(void){
T0* R=NULL;
R=((T0*)ms27_473);
return R;
}
int r313is_static(T313* C){
int R=0;
/*IF*/if (X291is_boolean(X662result_type((((T313*)C))->_target/*12*/))) {
/*IF*/if ((X662is_static((((T313*)C))->_target/*12*/))&&(X662is_static(/*(IRF4.6arg1*/r431first(((T431*)((((T313*)C))->_arguments/*24*/)))/*)*/))) {
R=1;
C->_static_value_mem=(X662static_value((((T313*)C))->_target/*12*/))+(X662static_value(/*(IRF4.6arg1*/r431first(((T431*)((((T313*)C))->_arguments/*24*/)))/*)*/));
/*IF*/if (((((T313*)C))->_static_value_mem/*4*/)==(2)) {
C->_static_value_mem=1;
}
else {
C->_static_value_mem=0;
}
/*FI*/}
/*FI*/}
/*FI*/return R;
}
void r313standard_compile_target_to_jvm(T313* C){
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T313* C1=C;
r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1);
}/*]*/
/*]*/
X291jvm_check_class_invariant((((T313*)C))->_result_type/*20*/);
}
int r313compile_to_jvm_into(T313* C,T0* a1){
int R=0;
R=r313standard_compile_to_jvm_into(C,a1);
return R;
}
/*No:CALL_INFIX_AND.compile_target_to_jvm*/
/*No:CALL_INFIX_AND.fz_07*/
/*No:CALL_INFIX_AND.can_be_dropped*/
/*No:CALL_INFIX_AND.current_type*/
/*No:CALL_INFIX_AND.jvm_assign*/
/*No:CALL_INFIX_AND.static_value_mem*/
void r313make_call_1(T313* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
}
/*No:CALL_INFIX_AND.is_manifest_string*/
/*No:CALL_INFIX_AND.is_void*/
int r313jvm_standard_branch_if_false(T313* C){
int R=0;
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T313* C1=C;
r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1);
}/*]*/
/*]*/
R=r256opcode_ifeq(((T256*)(oBC364code_attribute)));
return R;
}
/*No:CALL_INFIX_AND.compile_to_jvm*/
void r313to_runnable_0(T313* C,T0* a1){
C->_current_type=a1;
r313cpc_to_runnable(C,a1);
C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T313*)C))->_run_feature/*16*/))))->_result_type/*24*/);
/*IF*/if (((((T313*)C))->_result_type/*20*/)==((void*)(NULL))) {
r683add_position(X496start_position((((T313*)C))->_run_feature/*16*/));
r313error((((T454*)((T454*)((((T313*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295));
}
 else if (X291is_like_current((((T313*)C))->_result_type/*20*/)) {
C->_result_type=X662result_type((((T313*)C))->_target/*12*/);
}
/*FI*/}
/*No:CALL_INFIX_AND.is_pre_computable*/
int r313jvm_standard_branch_if_true(T313* C){
int R=0;
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T313* C1=C;
r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1);
}/*]*/
/*]*/
R=r256opcode_ifne(((T256*)(oBC364code_attribute)));
return R;
}
int r313use_current(T313* C){
int R=0;
/*IF*/{/*AT*/R=r431use_current(((T431*)((((T313*)C))->_arguments/*24*/)));
}
/*FI*//*IF*/if (R) {
}
 else if (X662is_current((((T313*)C))->_target/*12*/)) {
R=X496use_current((((T313*)C))->_run_feature/*16*/);
}
else {
R=X662use_current((((T313*)C))->_target/*12*/);
}
/*FI*/return R;
}
void r313cpc_to_runnable(T313* C,T0* a1){
T0* _rc=NULL;
T0* _t=NULL;
_t=X662to_runnable((((T313*)C))->_target/*12*/,a1);
/*IF*/if ((_t)==((void*)(NULL))) {
r683add_position(X662start_position((((T313*)C))->_target/*12*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/C->_target=_t;
_rc=X291run_class(X662result_type((((T313*)C))->_target/*12*/));
C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
r576update((((T313*)C))->_target/*12*/,(((T313*)C))->_run_feature/*16*/);
}
void r313error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:CALL_INFIX_AND.isa_dca_inline_argument*/
/*No:CALL_INFIX_AND.fatal_error*/
/*No:CALL_INFIX_AND.fz_bad_argument*/
/*No:CALL_INFIX_AND.arg1*/
int r313standard_compile_to_jvm_into(T313* C,T0* a1){
int R=0;
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T313* C1=C;
r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1);
}/*]*/
/*]*/
R=X291jvm_convert_to(X291run_type((((T313*)C))->_result_type/*20*/),a1);
return R;
}
/*No:CALL_INFIX_AND.call_proc_call_c2jvm*/
void r313afd_check(T313* C){
T0* _running=NULL;
T0* _rc=NULL;
_rc=X291run_class(X662result_type((((T313*)C))->_target/*12*/));
_running=(((T355*)((T355*)_rc)))->_running/*12*/;
/*IF*/if ((_running)==((void*)(NULL))) {
r683add_position(X662start_position((((T313*)C))->_target/*12*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms1_135);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms141_470);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683print_as_warning(((T683*)(oBC364eh)));
r355set_at_run_time(((T355*)_rc));
}
 else if ((r396count(((T396*)_running)))>(0)) {
r576update((((T313*)C))->_target/*12*/,(((T313*)C))->_run_feature/*16*/);
}
/*FI*/X662afd_check((((T313*)C))->_target/*12*/);
/*IF*/{/*AT*/r431afd_check(((T431*)((((T313*)C))->_arguments/*24*/)));
}
/*FI*/}
/*No:WRITABLE_ATTRIBUTE.arguments*/
T0* r106try_to_undefine(T106* C,T0* a1,T0* a2){
T0* R=NULL;
X776undefine_in(a1,a2);
R=r106try_to_undefine_aux(C,a1,a2);
/*IF*/if ((R)!=((void*)(NULL))) {
/*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T106*)C))->_clients/*20*/);
/*]*/
}
else {
r605fatal_undefine(((T605*)a2),a1);
}
/*FI*/return R;
}
/*No:WRITABLE_ATTRIBUTE.is_deferred*/
void r106add_into(T106* C,T0* a1){
T0* _fn=NULL;
int _i=0;
C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T106*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
_i=1;
while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T106*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
_fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T106*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/;
/*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) {
_fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
r683add_position(X776start_position(_fn));
r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T106*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/));
r683error(((T683*)(oBC364eh)),((T0*)ms11_359));
/*[IRF3.6append*/{T0* b1=X776to_string(_fn);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
}
else {
r237put(((T237*)a1),(T0*)C,X776to_key(_fn));
}
/*FI*/_i=(_i)+(1);
}
}
T0* r106try_to_undefine_aux(T106* C,T0* a1,T0* a2){
T0* R=NULL;
r683add_position(r106start_position(C));
r106error(X776start_position(a1),((T0*)ms1_321));
r605fatal_undefine(((T605*)a2),a1);
return R;
}
void r106make(T106* C,T0* a1,T0* a2){
C->_names=a1;
C->_result_type=a2;
}
/*No:WRITABLE_ATTRIBUTE.nb_errors*/
/*No:WRITABLE_ATTRIBUTE.set_header_comment*/
T0* r106start_position(T106* C){
T0* R=NULL;
R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T106*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
return R;
}
T0* r106to_run_feature(T106* C,T0* a1,T0* a2){
T0* R=NULL;
{T820*n=malloc(sizeof(*n));
*n=M820;
r820make(n,a1,a2,(T0*)C);
R=(T0*)n;
}
return R;
}
/*No:WRITABLE_ATTRIBUTE.ensure_assertion*/
/*No:WRITABLE_ATTRIBUTE.code_require*/
/*No:WRITABLE_ATTRIBUTE.result_type*/
/*No:WRITABLE_ATTRIBUTE.em1*/
/*No:WRITABLE_ATTRIBUTE.set_clients*/
/*No:WRITABLE_ATTRIBUTE.em2*/
/*No:WRITABLE_ATTRIBUTE.require_assertion*/
/*No:WRITABLE_ATTRIBUTE.names*/
int r106can_hide(T106* C,T0* a1,T0* a2){
int R=0;
/*IF*/if (((((T106*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
/*IF*/if ((((((T106*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
r683add_position(X359start_position(a1));
r106error(r106start_position(C),((T0*)ms5_359));
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
/*IF*/{/*AT*/r683add_position(X359start_position(a1));
r106error(r106start_position(C),((T0*)ms6_359));
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
/*IF*/if (((((T106*)C))->_result_type/*12*/)!=((void*)(NULL))) {
/*IF*/if (!(X291is_a_in((((T106*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
/*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
/*IF*//*AF*//*AE*/
/*FI*/}
/*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
return R;
}
/*No:WRITABLE_ATTRIBUTE.header_comment*/
int r106is_merge_with(T106* C,T0* a1,T0* a2){
int R=0;
/*IF*/if (((((T106*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
/*IF*/if ((((((T106*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
r683add_position(X359start_position(a1));
r106error(r106start_position(C),((T0*)ms2_359));
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
/*IF*/{/*AT*/r683add_position(X359start_position(a1));
r106error(r106start_position(C),((T0*)ms3_359));
}
/*FI*/}
/*FI*//*IF*/if (((((T106*)C))->_result_type/*12*/)!=((void*)(NULL))) {
/*IF*/if (!(X291is_a_in((((T106*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
}
/*FI*/}
/*FI*//*IF*//*AF*//*AE*/
/*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
return R;
}
/*No:WRITABLE_ATTRIBUTE.fz_dot*/
/*No:WRITABLE_ATTRIBUTE.first_name*/
/*No:WRITABLE_ATTRIBUTE.clients*/
void r106collect_for(int a1){
/*IF*/if ((a1)==(1001)) {
/*IF*//*AF*//*AE*/
/*FI*/}
else {
/*IF*//*AF*//*AE*/
/*FI*/}
/*FI*/}
void r106error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:WRITABLE_ATTRIBUTE.base_class*/
/*No:PROC_CALL_0.arguments*/
T0* r268add_comment(T268* C,T0* a1){
T0* R=NULL;
/*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
R=(T0*)C;
}
/*AF*/else {
{T46*n=malloc(sizeof(*n));
*n=M46;
r46make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI*/return R;
}
void r268make(T268* C,T0* a1,T0* a2){
C->_target=a1;
C->_feature_name=a2;
}
/*No:PROC_CALL_0.nb_errors*/
/*No:PROC_CALL_0.feature_name*/
/*No:PROC_CALL_0.arg_count*/
/*No:PROC_CALL_0.run_feature*/
/*No:PROC_CALL_0.set_run_compound*/
T0* r268start_position(T268* C){
T0* R=NULL;
R=X776start_position((((T268*)C))->_feature_name/*12*/);
return R;
}
/*No:PROC_CALL_0.target*/
/*No:PROC_CALL_0.set_run_feature*/
T0* r268to_runnable(T268* C,T0* a1){
T0* R=NULL;
/*IF*/if (((((T268*)C))->_run_compound/*4*/)==((void*)(NULL))) {
r268to_runnable_0(C,a1);
/*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&((X496arg_count((((T268*)C))->_run_feature/*16*/))>(0))) {
r683add_position(X776start_position((((T268*)C))->_feature_name/*12*/));
r268error(X496start_position((((T268*)C))->_run_feature/*16*/),((T0*)ms1_268));
}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
R=(T0*)C;
}
/*FI*/}
else {
{T268*n=malloc(sizeof(*n));
*n=M268;
r268make(n,(((T268*)C))->_target/*8*/,(((T268*)C))->_feature_name/*12*/);
R=(T0*)n;
}
R=r268to_runnable(((T268*)R),a1);
}
/*FI*/return R;
}
/*No:PROC_CALL_0.fz_07*/
T0* r268current_type(T268* C){
T0* R=NULL;
/*IF*/if (((((T268*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
R=(((T592*)((T592*)((((T268*)C))->_run_compound/*4*/))))->_current_type/*4*/;
}
/*FI*/return R;
}
/*No:PROC_CALL_0.run_compound*/
/*No:PROC_CALL_0.compile_to_jvm*/
void r268to_runnable_0(T268* C,T0* a1){
C->_run_compound=a1;
r268cpc_to_runnable(C,r268current_type(C));
/*IF*/if ((/*X496*/((T0*)(((T832*)((T832*)((((T268*)C))->_run_feature/*16*/))))->_result_type/*24*/))!=((void*)(NULL))) {
r683add_position(X496start_position((((T268*)C))->_run_feature/*16*/));
r268error(X776start_position((((T268*)C))->_feature_name/*12*/),((T0*)ms1_173));
}
/*FI*/}
/*No:PROC_CALL_0.is_pre_computable*/
int r268use_current(T268* C){
int R=0;
/*IF*//*AF*//*AE*/
/*FI*//*IF*/if (R) {
}
 else if (X662is_current((((T268*)C))->_target/*8*/)) {
R=X496use_current((((T268*)C))->_run_feature/*16*/);
}
else {
R=X662use_current((((T268*)C))->_target/*8*/);
}
/*FI*/return R;
}
void r268cpc_to_runnable(T268* C,T0* a1){
T0* _rc=NULL;
T0* _t=NULL;
_t=X662to_runnable((((T268*)C))->_target/*8*/,a1);
/*IF*/if ((_t)==((void*)(NULL))) {
r683add_position(X662start_position((((T268*)C))->_target/*8*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/C->_target=_t;
_rc=X291run_class(X662result_type((((T268*)C))->_target/*8*/));
C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
r576update((((T268*)C))->_target/*8*/,(((T268*)C))->_run_feature/*16*/);
}
void r268error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:PROC_CALL_0.fatal_error*/
/*No:PROC_CALL_0.end_mark_comment*/
/*No:PROC_CALL_0.call_proc_call_c2jvm*/
void r268afd_check(T268* C){
T0* _running=NULL;
T0* _rc=NULL;
_rc=X291run_class(X662result_type((((T268*)C))->_target/*8*/));
_running=(((T355*)((T355*)_rc)))->_running/*12*/;
/*IF*/if ((_running)==((void*)(NULL))) {
r683add_position(X662start_position((((T268*)C))->_target/*8*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms1_135);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms141_470);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683print_as_warning(((T683*)(oBC364eh)));
r355set_at_run_time(((T355*)_rc));
}
 else if ((r396count(((T396*)_running)))>(0)) {
r576update((((T268*)C))->_target/*8*/,(((T268*)C))->_run_feature/*16*/);
}
/*FI*/X662afd_check((((T268*)C))->_target/*8*/);
/*IF*//*AF*//*AE*/
/*FI*/}
T0* r268make_runnable(T268* C,T0* a1,T0* a2,T0* a3,T0* a4){
T0* R=NULL;
/*IF*/if (((((T268*)C))->_run_compound/*4*/)==((void*)(NULL))) {
R=(T0*)C;
r268make(((T268*)R),a2,(((T268*)C))->_feature_name/*12*/);
C->_run_compound=a1;
C->_run_feature=a4;
}
else {
{T268*n=malloc(sizeof(*n));
*n=M268;
r268make(n,a2,(((T268*)C))->_feature_name/*12*/);
R=(T0*)n;
}
/*[IRF3.3set_run_compound*/((((T268*)(((T268*)R))))->_run_compound)=(a1);
/*]*/
/*[IRF3.3set_run_feature*/((((T268*)(((T268*)R))))->_run_feature)=(a4);
/*]*/
}
/*FI*/return R;
}
T0* r39add_comment(T39* C,T0* a1){
T0* R=NULL;
/*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
R=(T0*)C;
}
else {
{T529*n=malloc(sizeof(*n));
*n=M529;
r529make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI*/return R;
}
int r39to_integer(T39* C){
int R=0;
r39error((((T39*)C))->_start_position/*16*/,((T0*)ms69_470));
return R;
}
int r39is_a(T39* C,T0* a1){
int R=0;
R=X291is_a(X291run_type((((T39*)C))->_result_type/*24*/),X291run_type(X662result_type(a1)));
/*IF*/if (!(R)) {
r683add_position((((T39*)C))->_start_position/*16*/);
r39error(X662start_position(a1),((T0*)ms4_662));
}
/*FI*/return R;
}
/*No:LOCAL_NAME1.set_is_used*/
void r39name_clash(T39* C){
T0* _rf=NULL;
T0* _rc=NULL;
/*IF*/if (r605has_feature(((T605*)(r39base_class_written(C))),(((T39*)C))->_to_string/*12*/)) {
_rc=X291run_class((((T39*)C))->_current_type/*8*/);
_rf=r355get_feature_with(((T355*)_rc),(((T39*)C))->_to_string/*12*/);
/*IF*/if ((_rf)!=((void*)(NULL))) {
r683add_position(X496start_position(_rf));
}
/*FI*/r683add_position((((T39*)C))->_start_position/*16*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_447);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/}
/*No:LOCAL_NAME1.is_current*/
int r39jvm_branch_if_false(T39* C){
int R=0;
r39compile_to_jvm(C);
R=r256opcode_ifeq(((T256*)(oBC364code_attribute)));
return R;
}
T0* r39written_in(T39* C){
T0* R=NULL;
T0* _sp=NULL;
_sp=(((T39*)C))->_start_position/*16*/;
/*IF*/if ((_sp)!=((void*)(NULL))) {
R=(((T627*)((T627*)_sp)))->_base_class_name/*0*/;
}
/*FI*/return R;
}
/*No:LOCAL_NAME1.static_value*/
void r39make(T39* C,T0* a1,T0* a2){
C->_start_position=a1;
C->_to_string=r902item(a2);
}
/*No:LOCAL_NAME1.to_string*/
void r39compile_to_jvm_assignment(T39* C,T0* a1){
int _jvm_offset=0;
int _space=0;
_jvm_offset=r228local_offset_of(((T228*)(oBC364jvm)),(T0*)C);
_space=X662compile_to_jvm_into((((T629*)((T629*)a1)))->_right_side/*12*/,X291run_type((((T39*)C))->_result_type/*24*/));
X291jvm_write_local(X291run_type((((T39*)C))->_result_type/*24*/),_jvm_offset);
}
/*No:LOCAL_NAME1.fz_iinaiv*/
int r39jvm_branch_if_true(T39* C){
int R=0;
r39compile_to_jvm(C);
R=r256opcode_ifne(((T256*)(oBC364code_attribute)));
return R;
}
/*No:LOCAL_NAME1.em_bl*/
/*No:LOCAL_NAME1.set_result_type*/
/*No:LOCAL_NAME1.start_position*/
/*No:LOCAL_NAME1.compile_to_jvm_old*/
/*No:LOCAL_NAME1.set_rank*/
T0* r39to_runnable(T39* C,T0* a1){
T0* R=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
_t1=(((T39*)C))->_result_type/*24*/;
_t2=X291to_runnable(_t1,a1);
/*IF*/if ((_t2)==((void*)(NULL))) {
r683add_position(X291start_position(_t1));
r39error((((T39*)C))->_start_position/*16*/,((T0*)ms6_361));
}
/*FI*//*IF*/if (((((T39*)C))->_current_type/*8*/)==((void*)(NULL))) {
C->_current_type=a1;
C->_result_type=_t2;
R=(T0*)C;
}
else {
{T39*n=malloc(sizeof(*n));
*n=M39;
r39make_runnable(n,(T0*)C,a1,_t2);
R=(T0*)n;
}
}
/*FI*/return R;
}
/*No:LOCAL_NAME1.rank*/
/*No:LOCAL_NAME1.result_type*/
/*No:LOCAL_NAME1.is_result*/
/*No:LOCAL_NAME1.is_static*/
void r39standard_compile_target_to_jvm(T39* C){
r39compile_to_jvm(C);
X291jvm_check_class_invariant((((T39*)C))->_result_type/*24*/);
}
int r39compile_to_jvm_into(T39* C,T0* a1){
int R=0;
R=r39standard_compile_to_jvm_into(C,a1);
return R;
}
/*No:LOCAL_NAME1.compile_target_to_jvm*/
T0* r39base_class_written(T39* C){
T0* R=NULL;
R=r451base_class(((T451*)(r39written_in(C))));
return R;
}
/*No:LOCAL_NAME1.can_be_dropped*/
/*No:LOCAL_NAME1.current_type*/
void r39jvm_assign(T39* C){
int _jvm_offset=0;
_jvm_offset=r228local_offset_of(((T228*)(oBC364jvm)),(T0*)C);
X291jvm_write_local(X291run_type((((T39*)C))->_result_type/*24*/),_jvm_offset);
}
/*No:LOCAL_NAME1.static_value_mem*/
/*No:LOCAL_NAME1.is_used*/
/*No:LOCAL_NAME1.is_manifest_string*/
/*No:LOCAL_NAME1.is_void*/
void r39compile_to_jvm(T39* C){
int _jvm_offset=0;
_jvm_offset=r228local_offset_of(((T228*)(oBC364jvm)),(T0*)C);
X291jvm_push_local(X291run_type((((T39*)C))->_result_type/*24*/),_jvm_offset);
}
/*No:LOCAL_NAME1.is_pre_computable*/
/*No:LOCAL_NAME1.use_current*/
void r39error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:LOCAL_NAME1.isa_dca_inline_argument*/
/*No:LOCAL_NAME1.fatal_error*/
int r39standard_compile_to_jvm_into(T39* C,T0* a1){
int R=0;
r39compile_to_jvm(C);
R=X291jvm_convert_to(X291run_type((((T39*)C))->_result_type/*24*/),a1);
return R;
}
/*No:LOCAL_NAME1.afd_check*/
void r39make_runnable(T39* C,T0* a1,T0* a2,T0* a3){
*((T39*)(C))=*((T39*)(a1));
C->_current_type=a2;
C->_result_type=a3;
}
/*No:DEFERRED_PROCEDURE.arguments*/
T0* r853try_to_undefine(T853* C,T0* a1,T0* a2){
T0* R=NULL;
X776undefine_in(a1,a2);
R=/*(IRF4.4try_to_undefine_aux*/((T0*)(C))/*)*/;
/*IF*/if ((R)!=((void*)(NULL))) {
/*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T853*)C))->_clients/*20*/);
/*]*/
}
else {
r605fatal_undefine(((T605*)a2),a1);
}
/*FI*/return R;
}
/*No:DEFERRED_PROCEDURE.is_deferred*/
/*No:DEFERRED_PROCEDURE.rescue_compound*/
void r853add_into(T853* C,T0* a1){
T0* _fn=NULL;
int _i=0;
C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T853*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
_i=1;
while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T853*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
_fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T853*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/;
/*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) {
_fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
r683add_position(X776start_position(_fn));
r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T853*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/));
r683error(((T683*)(oBC364eh)),((T0*)ms11_359));
/*[IRF3.6append*/{T0* b1=X776to_string(_fn);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
}
else {
r237put(((T237*)a1),(T0*)C,X776to_key(_fn));
}
/*FI*/_i=(_i)+(1);
}
}
/*No:DEFERRED_PROCEDURE.end_comment*/
/*No:DEFERRED_PROCEDURE.try_to_undefine_aux*/
/*No:DEFERRED_PROCEDURE.make*/
/*No:DEFERRED_PROCEDURE.nb_errors*/
void r853make_routine(T853* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
r853make_e_feature(C,a1,NULL);
C->_header_comment=a4;
C->_arguments=a2;
C->_obsolete_mark=a3;
C->_require_assertion=a5;
}
void r853set_header_comment(T853* C,T0* a1){
/*IF*/if (((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)>(1))) {
C->_end_comment=a1;
}
/*FI*/}
T0* r853start_position(T853* C){
T0* R=NULL;
R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T853*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
return R;
}
T0* r853to_run_feature(T853* C,T0* a1,T0* a2){
T0* R=NULL;
r853check_obsolete(C);
{T904*n=malloc(sizeof(*n));
*n=M904;
r904make(n,a1,a2,(T0*)C);
R=(T0*)n;
}
return R;
}
/*No:DEFERRED_PROCEDURE.ensure_assertion*/
/*No:DEFERRED_PROCEDURE.code_require*/
/*No:DEFERRED_PROCEDURE.result_type*/
/*No:DEFERRED_PROCEDURE.fz_03*/
/*No:DEFERRED_PROCEDURE.em1*/
/*No:DEFERRED_PROCEDURE.obsolete_mark*/
/*No:DEFERRED_PROCEDURE.em2*/
/*No:DEFERRED_PROCEDURE.set_clients*/
/*No:DEFERRED_PROCEDURE.names*/
/*No:DEFERRED_PROCEDURE.require_assertion*/
void r853from_effective(T853* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
{T953*n=malloc(sizeof(*n));
*n=M953;
r953make(n,se_ma855(1,a1));
C->_names=(T0*)n;
}
r853make_routine(C,(((T853*)C))->_names/*8*/,a2,NULL,NULL,a3);
/*[IRF3.3set_ensure_assertion*/((((T853*)(C)))->_ensure_assertion)=(a4);
/*]*/
C->_base_class=a5;
}
void r853set_rescue_compound(T853* C,T0* a1){
/*IF*/if (((a1)!=((void*)(NULL)))&&(/*(IRF4.2is_deferred*/(1)/*)*/)) {
r853error(r853start_position(C),((T0*)ms6_368));
}
/*FI*/C->_rescue_compound=a1;
}
int r853can_hide(T853* C,T0* a1,T0* a2){
int R=0;
/*IF*/if (((((T853*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
/*IF*/if ((((((T853*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
r683add_position(X359start_position(a1));
r853error(r853start_position(C),((T0*)ms5_359));
}
/*FI*/}
/*FI*//*IF*/if (((((T853*)C))->_arguments/*24*/)!=((void*)(X359arguments(a1)))) {
/*IF*/if ((((((T853*)C))->_arguments/*24*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) {
r683add_position(X359start_position(a1));
r853error(r853start_position(C),((T0*)ms6_359));
}
 else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T853*)C))->_arguments/*24*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) {
r683add_position(X359start_position(a1));
r853error(r853start_position(C),((T0*)ms7_359));
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
/*IF*/if (((((T853*)C))->_result_type/*12*/)!=((void*)(NULL))) {
/*IF*/if (!(X291is_a_in((((T853*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
/*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
/*IF*/if (((((T853*)C))->_arguments/*24*/)!=((void*)(NULL))) {
/*IF*/if (!(r31is_a_in(((T31*)((((T853*)C))->_arguments/*24*/)),X359arguments(a1),a2))) {
r683add_position(X359start_position(a1));
r683add_position(r853start_position(C));
/*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
}
/*FI*/}
/*FI*/}
/*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
return R;
}
/*No:DEFERRED_PROCEDURE.header_comment*/
int r853is_merge_with(T853* C,T0* a1,T0* a2){
int R=0;
/*IF*/if (((((T853*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
/*IF*/if ((((((T853*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
r683add_position(X359start_position(a1));
r853error(r853start_position(C),((T0*)ms2_359));
}
/*FI*/}
/*FI*//*IF*/if (((((T853*)C))->_arguments/*24*/)!=((void*)(X359arguments(a1)))) {
/*IF*/if ((((((T853*)C))->_arguments/*24*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) {
r683add_position(X359start_position(a1));
r853error(r853start_position(C),((T0*)ms3_359));
}
 else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T853*)C))->_arguments/*24*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) {
r683add_position(X359start_position(a1));
r853error(r853start_position(C),((T0*)ms4_359));
}
/*FI*/}
/*FI*//*IF*/if (((((T853*)C))->_result_type/*12*/)!=((void*)(NULL))) {
/*IF*/if (!(X291is_a_in((((T853*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
}
/*FI*/}
/*FI*//*IF*/if (((((T853*)C))->_arguments/*24*/)!=((void*)(NULL))) {
/*IF*/if (!(r31is_a_in(((T31*)((((T853*)C))->_arguments/*24*/)),X359arguments(a1),a2))) {
r683add_position(X359start_position(a1));
r853error(r853start_position(C),((T0*)ms12_359));
}
/*FI*/}
/*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
return R;
}
/*No:DEFERRED_PROCEDURE.fz_dot*/
/*No:DEFERRED_PROCEDURE.set_ensure_assertion*/
/*No:DEFERRED_PROCEDURE.first_name*/
/*No:DEFERRED_PROCEDURE.clients*/
void r853collect_for(T853* C,int a1){
/*IF*/if ((a1)==(1001)) {
/*IF*/if (((((T853*)C))->_require_assertion/*32*/)!=((void*)(NULL))) {
/*IF*/if (!(r522fast_has(((T522*)(oBC359require_collector)),(((T853*)C))->_require_assertion/*32*/))) {
r522add_last(((T522*)(oBC359require_collector)),(((T853*)C))->_require_assertion/*32*/);
}
/*FI*/}
/*FI*/}
else {
/*IF*/if (((((T853*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) {
/*[IRF3.3set_item*/((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=((((T633*)((T633*)((((T853*)C))->_ensure_assertion/*36*/))))->_header_comment/*4*/);
/*]*/
r633add_into(((T633*)((((T853*)C))->_ensure_assertion/*36*/)),oBC359assertion_collector);
}
/*FI*/}
/*FI*/}
void r853error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:DEFERRED_PROCEDURE.base_class*/
void r853make_e_feature(T853* C,T0* a1,T0* a2){
C->_names=a1;
C->_result_type=a2;
}
void r853check_obsolete(T853* C){
/*IF*/if (!((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/)) {
/*IF*/if (((((T853*)C))->_obsolete_mark/*28*/)!=((void*)(NULL))) {
/*[IRF3.6append*/{T0* b1=((T0*)ms7_368);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=(((T805*)((T805*)((((T853*)C))->_obsolete_mark/*28*/))))->_to_string/*16*/;
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r853warning(r853start_position(C),((T0*)ms137_470));
}
/*FI*/}
/*FI*/}
void r853warning(T0* a1,T0* a2){
r683add_position(a1);
r683warning(((T683*)(oBC364eh)),a2);
}
void r782add_index_value(T782* C,T0* a1){
/*IF*/if (((((T782*)C))->_list/*4*/)==((void*)(NULL))) {
C->_list=se_ma96(1,a1);
}
else {
X96add_last((((T782*)C))->_list/*4*/,a1);
}
/*FI*/}
/*No:INDEX_CLAUSE.make*/
/*No:INDEX_CLAUSE.list*/
/*No:INDEX_CLAUSE.index*/
/*No:RUN_FEATURE_1.arguments*/
/*No:RUN_FEATURE_1.ucs_true*/
/*No:RUN_FEATURE_1.actuals_clients*/
T0* r808jvm_descriptor(void){
T0* R=NULL;
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC496tmp_jvm_descriptor)))))->_count)=(0);
/*]*/
/*[IRF3.1update_tmp_jvm_descriptor*//*]*/
R=oBC496tmp_jvm_descriptor;
return R;
}
/*No:RUN_FEATURE_1.ucs_in_computation*/
void r808make(T808* C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
r199put(((T199*)((((T355*)((T355*)(r808run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2));
r604incr_magic_count(((T604*)(oBC364small_eiffel)));
C->_use_current_state=1005;
r604push(((T604*)(oBC364small_eiffel)),(T0*)C);
r808initialize(C);
r604pop(((T604*)(oBC364small_eiffel)));
}
void r808std_compute_use_current(T808* C){
/*IF*/if (((((T808*)C))->_use_current_state/*40*/)==(1006)) {
/*IF*/if (((((T808*)C))->_require_assertion/*28*/)!=((void*)(NULL))) {
/*IF*/if (r567use_current(((T567*)((((T808*)C))->_require_assertion/*28*/)))) {
C->_use_current_state=1004;
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((((T808*)C))->_use_current_state/*40*/)==(1006)) {
/*IF*/if (((((T808*)C))->_routine_body/*32*/)!=((void*)(NULL))) {
/*IF*/if (r592use_current(((T592*)((((T808*)C))->_routine_body/*32*/)))) {
C->_use_current_state=1004;
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((((T808*)C))->_use_current_state/*40*/)==(1006)) {
/*IF*/if (((((T808*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) {
/*IF*/if (r633use_current(((T633*)((((T808*)C))->_ensure_assertion/*36*/)))) {
C->_use_current_state=1004;
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((((T808*)C))->_use_current_state/*40*/)==(1006)) {
C->_use_current_state=1003;
}
/*FI*/}
/*No:RUN_FEATURE_1.name*/
int r808arg_count(T808* C){
int R=0;
/*IF*/if (((((T808*)C))->_arguments/*20*/)!=((void*)(NULL))) {
R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T808*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/;
}
/*FI*/return R;
}
/*No:RUN_FEATURE_1.local_vars*/
/*No:RUN_FEATURE_1.base_feature*/
T0* r808start_position(T808* C){
T0* R=NULL;
R=X418start_position((((T808*)C))->_base_feature/*44*/);
return R;
}
int r808jvm_max_locals(T808* C){
int R=0;
R=X291jvm_stack_space((((T808*)C))->_current_type/*4*/);
/*IF*/if (((((T808*)C))->_arguments/*20*/)!=((void*)(NULL))) {
R=(R)+(r31jvm_stack_space(((T31*)((((T808*)C))->_arguments/*20*/))));
}
/*FI*//*IF*//*AF*//*AE*/
/*FI*//*IF*/if (((((T808*)C))->_result_type/*24*/)!=((void*)(NULL))) {
R=(R)+(X291jvm_stack_space((((T808*)C))->_result_type/*24*/));
}
/*FI*/return R;
}
/*No:RUN_FEATURE_1.ensure_assertion*/
int r808jvm_result_offset(T808* C){
int R=0;
R=X291jvm_stack_space((((T808*)C))->_current_type/*4*/);
/*IF*/if (((((T808*)C))->_arguments/*20*/)!=((void*)(NULL))) {
R=(R)+(r31jvm_stack_space(((T31*)((((T808*)C))->_arguments/*20*/))));
}
/*FI*//*IF*//*AF*//*AE*/
/*FI*/return R;
}
int r808is_exported_in(T808* C,T0* a1){
int R=0;
R=r636gives_permission_to(((T636*)(r808clients(C))),a1);
return R;
}
/*No:RUN_FEATURE_1.compute_use_current*/
/*No:RUN_FEATURE_1.result_type*/
/*No:RUN_FEATURE_1.jvm_field_or_method*/
int r808jvm_argument_offset(T808* C,T0* a1){
int R=0;
R=X291jvm_stack_space((((T808*)C))->_current_type/*4*/);
R=(R)+(r31jvm_offset_of(((T31*)((((T808*)C))->_arguments/*20*/)),a1));
return R;
}
int r808is_static(T808* C){
int R=0;
R=X662is_static((((T808*)C))->_value/*48*/);
return R;
}
void r808add_client(T808* C,T0* a1){
int _i=0;
/*IF*/if (((((T808*)C))->_actuals_clients/*12*/)==((void*)(NULL))) {
{T187*n=malloc(sizeof(*n));
*n=M187;
r187with_capacity(n,4);
C->_actuals_clients=(T0*)n;
}
r187add_last(((T187*)((((T808*)C))->_actuals_clients/*12*/)),a1);
}
else {
_i=r187fast_index_of(((T187*)((((T808*)C))->_actuals_clients/*12*/)),a1);
/*IF*/if ((_i)>((((T187*)((T187*)((((T808*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) {
r187add_last(((T187*)((((T808*)C))->_actuals_clients/*12*/)),a1);
}
/*FI*/}
/*FI*/r355add_client(((T355*)(r808run_class(C))),a1);
}
/*No:RUN_FEATURE_1.require_assertion*/
/*No:RUN_FEATURE_1.value*/
/*No:RUN_FEATURE_1.use_current_state*/
/*No:RUN_FEATURE_1.can_be_dropped*/
void r808mapping_jvm(T808* C){
int _space=0;
r228drop_target(((T228*)(oBC364jvm)));
_space=X662compile_to_jvm_into((((T808*)C))->_value/*48*/,(((T808*)C))->_result_type/*24*/);
}
/*No:RUN_FEATURE_1.current_type*/
T0* r808run_class(T808* C){
T0* R=NULL;
R=X291run_class((((T808*)C))->_current_type/*4*/);
return R;
}
int r808static_value_mem(T808* C){
int R=0;
R=X662static_value((((T808*)C))->_value/*48*/);
return R;
}
/*No:RUN_FEATURE_1.ucs_not_computed*/
/*No:RUN_FEATURE_1.routine_body*/
void r808fall_down(T808* C){
T0* _rf=NULL;
T0* _sub_name=NULL;
T0* _sub_bc=NULL;
T0* _current_bc=NULL;
T0* _sub_rc=NULL;
T0* _current_rc=NULL;
int _i=0;
T0* _running=NULL;
_current_rc=X291run_class((((T808*)C))->_current_type/*4*/);
_running=(((T355*)((T355*)_current_rc)))->_running/*12*/;
/*IF*/if ((_running)!=((void*)(NULL))) {
_current_bc=X291base_class((((T808*)C))->_current_type/*4*/);
_i=(((T396*)((T396*)_running)))->_lower/*12*/;
while (!((_i)>((((T396*)((T396*)_running)))->_upper/*8*/))) {
_sub_rc=r396item(((T396*)_running),_i);
/*IF*/if ((_sub_rc)!=((void*)(_current_rc))) {
_sub_bc=X291base_class((((T355*)((T355*)_sub_rc)))->_current_type/*0*/);
_sub_name=r605new_name_of(((T605*)_sub_bc),_current_bc,(((T808*)C))->_name/*16*/);
_rf=r355get_feature(((T355*)_sub_rc),_sub_name);
}
/*FI*/_i=(_i)+(1);
}
}
/*FI*/}
/*No:RUN_FEATURE_1.ucs_false*/
/*No:RUN_FEATURE_1.is_pre_computable*/
T0* r808clients(T808* C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
/*IF*/if (((((T808*)C))->_clients_memory/*8*/)==((void*)(NULL))) {
_bc=X291base_class((((T808*)C))->_current_type/*4*/);
_bfbc=/*X418*/((T0*)(((T380*)((T380*)((((T808*)C))->_base_feature/*44*/))))->_base_class/*4*/);
/*IF*/if ((_bc)==((void*)(_bfbc))) {
R=/*X418*/((T0*)(((T380*)((T380*)((((T808*)C))->_base_feature/*44*/))))->_clients/*20*/);
}
else {
R=r605clients_for(((T605*)_bc),(((T808*)C))->_name/*16*/);
}
/*FI*/C->_clients_memory=R;
}
else {
R=(((T808*)C))->_clients_memory/*8*/;
}
/*FI*/return R;
}
int r808use_current(T808* C){
int R=0;
{int z1=(((T808*)C))->_use_current_state/*40*/;

if((1004==z1)){
R=1;
}
 else 
if((1003==z1)){
}
 else 
if((1005==z1)){
C->_use_current_state=1006;
/*[IRF3.4compute_use_current*/r808std_compute_use_current(C);
/*]*/
R=r808use_current(C);
}
 else {R=1;
}}
return R;
}
/*No:RUN_FEATURE_1.jvm_define*/
int r808jvm_local_variable_offset(T808* C,T0* a1){
int R=0;
R=X291jvm_stack_space((((T808*)C))->_current_type/*4*/);
/*IF*/if (((((T808*)C))->_arguments/*20*/)!=((void*)(NULL))) {
R=(R)+(r31jvm_stack_space(((T31*)((((T808*)C))->_arguments/*20*/))));
}
/*FI*/R=(R)+(r620jvm_offset_of(((T620*)(/*(IRF4.1local_vars*/NULL/*)*/)),a1));
return R;
}
/*No:RUN_FEATURE_1.clients_memory*/
void r808initialize(T808* C){
int _i=0;
_i=r953index_of(((T953*)(/*X418*/((T0*)(((T380*)((T380*)((((T808*)C))->_base_feature/*44*/))))->_names/*8*/))),(((T808*)C))->_name/*16*/);
C->_value=X418value((((T808*)C))->_base_feature/*44*/,_i);
C->_value=X662to_runnable((((T808*)C))->_value/*48*/,(((T808*)C))->_current_type/*4*/);
C->_result_type=X291to_runnable(/*X418*/((T0*)(((T380*)((T380*)((((T808*)C))->_base_feature/*44*/))))->_result_type/*12*/),(((T808*)C))->_current_type/*4*/);
}
/*No:RUN_FEATURE_1.afd_check*/
/*No:RUN_FEATURE_1.update_tmp_jvm_descriptor*/
/*No:NATIVE_WITH_CURRENT.jvm_add_method_for_procedure*/
/*No:NATIVE_WITH_CURRENT.jvm_add_method_for_function*/
/*No:NATIVE_WITH_CURRENT.jvm_mapping_procedure*/
/*No:NATIVE_WITH_CURRENT.jvm_define_procedure*/
/*No:NATIVE_WITH_CURRENT.use_current*/
/*No:NATIVE_WITH_CURRENT.jvm_define_function*/
/*No:NATIVE_WITH_CURRENT.fatal_error*/
void r893fe_c2jvm(T0* a1){
r683add_position(r228target_position(((T228*)(oBC364jvm))));
r683add_position(X496start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_845);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*No:NATIVE_WITH_CURRENT.jvm_mapping_function*/
void r881make(T881* C,T0* a1,T0* a2){
T0* _fga=NULL;
int _i=0;
int _rank=0;
C->_start_position=a1;
C->_list=a2;
_i=(((T681*)((T681*)a2)))->_upper/*8*/;
while (!((_i)==(0))) {
_fga=r681item(((T681*)a2),_i);
_rank=r881index_of(C,(((T59*)((T59*)_fga)))->_name/*0*/);
/*IF*/if ((_rank)!=(_i)) {
r683add_position(/*(IRF4.6start_position*/(((T451*)((T451*)((((T59*)((T59*)(r681item(((T681*)a2),_rank)))))->_name/*0*/))))->_start_position/*4*//*)*/);
r683add_position(/*(IRF4.6start_position*/(((T451*)((T451*)((((T59*)((T59*)_fga)))->_name/*0*/))))->_start_position/*4*//*)*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_881);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/_i=(_i)-(1);
}
}
/*No:FORMAL_GENERIC_LIST.start_position*/
/*No:FORMAL_GENERIC_LIST.item*/
/*No:FORMAL_GENERIC_LIST.list*/
/*No:FORMAL_GENERIC_LIST.count*/
/*No:FORMAL_GENERIC_LIST.fatal_error*/
int r881index_of(T881* C,T0* a1){
int R=0;
T0* _to_string=NULL;
_to_string=(((T451*)((T451*)a1)))->_to_string/*0*/;
R=(((T681*)((T681*)((((T881*)C))->_list/*4*/))))->_upper/*8*/;
while (!(((R)==(0))||((_to_string)==((void*)((((T451*)((T451*)((((T59*)((T59*)(r681item(((T681*)((((T881*)C))->_list/*4*/)),R)))))->_name/*0*/))))->_to_string/*0*/))))) {
R=(R)-(1);
}
return R;
}

