home *** CD-ROM | disk | FTP | other *** search
- /*
- -- 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"
- T0* r940add_comment(T940* 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 r940to_integer(T940* C){
- int R=0;
- r940error((((T940*)C))->_start_position/*12*/,((T0*)ms69_470));
- return R;
- }
- int r940is_a(T940* C,T0* a1){
- int R=0;
- R=X609is_a(/*(IRF4.4run_type*/((T0*)((T549*)(((T940*)C))->_result_type/*20*/))/*)*/,X291run_type(X662result_type(a1)));
- /*IF*/if (!(R)) {
- r683add_position((((T940*)C))->_start_position/*12*/);
- r940error(X662start_position(a1),((T0*)ms4_662));
- }
- /*FI*/return R;
- }
- /*No:BIT_CONSTANT.is_current*/
- /*No:BIT_CONSTANT.jvm_branch_if_false*/
- /*No:BIT_CONSTANT.static_value*/
- void r940make(T940* C,T0* a1,T0* a2){
- C->_start_position=a1;
- C->_value=a2;
- }
- /*No:BIT_CONSTANT.compile_to_jvm_assignment*/
- /*No:BIT_CONSTANT.fz_iinaiv*/
- /*No:BIT_CONSTANT.jvm_branch_if_true*/
- /*No:BIT_CONSTANT.start_position*/
- /*No:BIT_CONSTANT.compile_to_jvm_old*/
- T0* r940to_runnable(T940* C,T0* a1){
- T0* R=NULL;
- T0* _ic=NULL;
- /*IF*/if (((((T940*)C))->_current_type/*8*/)==((void*)(NULL))) {
- C->_current_type=a1;
- /*IF*/if (((((T940*)C))->_result_type/*20*/)==((void*)(NULL))) {
- {T342*n=malloc(sizeof(*n));
- *n=M342;
- r342make(n,(((T7*)((T7*)((((T940*)C))->_value/*16*/))))->_count/*4*/,(((T940*)C))->_start_position/*12*/);
- _ic=(T0*)n;
- }
- {T549*n=malloc(sizeof(*n));
- *n=M549;
- r549make(n,(((T940*)C))->_start_position/*12*/,_ic);
- C->_result_type=(T0*)n;
- }
- r355set_at_run_time(((T355*)(r549run_class(((T549*)((((T940*)C))->_result_type/*20*/))))));
- }
- /*FI*/R=(T0*)C;
- }
- else {
- R=r940twin(C);
- /*[IRF3.3set_current_type*/((((T940*)(((T940*)R))))->_current_type)=(NULL);
- /*]*/
- R=r940to_runnable(((T940*)R),a1);
- }
- /*FI*/return R;
- }
- /*No:BIT_CONSTANT.result_type*/
- /*No:BIT_CONSTANT.is_result*/
- T0* r940twin(T940* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T940*)R)=*C;
- return R;
- }
- /*No:BIT_CONSTANT.set_current_type*/
- /*No:BIT_CONSTANT.is_static*/
- /*No:BIT_CONSTANT.fz_a0*/
- int r940compile_to_jvm_into(T940* C,T0* a1){
- int R=0;
- R=r940standard_compile_to_jvm_into(C,a1);
- return R;
- }
- void r940compile_target_to_jvm(T940* C){
- T0* _cp=NULL;
- T0* _ca=NULL;
- int _idx=0;
- int _i=0;
- _ca=oBC364code_attribute;
- _cp=oBC364constant_pool;
- _idx=r95idx_class2(((T95*)_cp),((T0*)ms226_470));
- r256opcode_new(((T256*)_ca),_idx);
- /*[IRF3.4opcode_dup*/r256opcode(((T256*)_ca),89,1);
- /*]*/
- r256opcode_push_integer(((T256*)_ca),(((T7*)((T7*)((((T940*)C))->_value/*16*/))))->_count/*4*/);
- _idx=r95idx_methodref3(((T95*)_cp),((T0*)ms226_470),((T0*)ms167_470),((T0*)ms159_470));
- r256opcode_invokespecial(((T256*)_ca),_idx,0);
- _i=(((T7*)((T7*)((((T940*)C))->_value/*16*/))))->_count/*4*/;
- while (!((_i)==(0))) {
- /*IF*/if ((/*(IRF4.6item*/((((T7*)((T7*)((((T940*)C))->_value/*16*/))))->_storage/*0*/)[(_i)-(1)]/*)*/)==('1')) {
- /*[IRF3.4opcode_dup*/r256opcode(((T256*)_ca),89,1);
- /*]*/
- r256opcode_push_integer(((T256*)_ca),(_i)-(1));
- _idx=r95idx_methodref3(((T95*)_cp),((T0*)ms226_470),((T0*)ms230_470),((T0*)ms159_470));
- r256opcode_invokevirtual(((T256*)_ca),_idx,-(2));
- }
- /*FI*/_i=(_i)-(1);
- }
- }
- /*No:BIT_CONSTANT.value*/
- /*No:BIT_CONSTANT.fz_35*/
- /*No:BIT_CONSTANT.can_be_dropped*/
- /*No:BIT_CONSTANT.current_type*/
- /*No:BIT_CONSTANT.fz_27*/
- /*No:BIT_CONSTANT.jvm_assign*/
- /*No:BIT_CONSTANT.fz_a4*/
- /*No:BIT_CONSTANT.static_value_mem*/
- /*No:BIT_CONSTANT.is_manifest_string*/
- /*No:BIT_CONSTANT.is_void*/
- void r940compile_to_jvm(T940* C){
- T0* _cp=NULL;
- T0* _ca=NULL;
- int _idx=0;
- int _i=0;
- _ca=oBC364code_attribute;
- _cp=oBC364constant_pool;
- _idx=r95idx_class2(((T95*)_cp),((T0*)ms226_470));
- r256opcode_new(((T256*)_ca),_idx);
- /*[IRF3.4opcode_dup*/r256opcode(((T256*)_ca),89,1);
- /*]*/
- r256opcode_push_integer(((T256*)_ca),(((T7*)((T7*)((((T940*)C))->_value/*16*/))))->_count/*4*/);
- _idx=r95idx_methodref3(((T95*)_cp),((T0*)ms226_470),((T0*)ms167_470),((T0*)ms159_470));
- r256opcode_invokespecial(((T256*)_ca),_idx,0);
- _i=(((T7*)((T7*)((((T940*)C))->_value/*16*/))))->_count/*4*/;
- while (!((_i)==(0))) {
- /*IF*/if ((/*(IRF4.6item*/((((T7*)((T7*)((((T940*)C))->_value/*16*/))))->_storage/*0*/)[(_i)-(1)]/*)*/)==('1')) {
- /*[IRF3.4opcode_dup*/r256opcode(((T256*)_ca),89,1);
- /*]*/
- r256opcode_push_integer(((T256*)_ca),(_i)-(1));
- _idx=r95idx_methodref3(((T95*)_cp),((T0*)ms226_470),((T0*)ms230_470),((T0*)ms159_470));
- r256opcode_invokevirtual(((T256*)_ca),_idx,-(2));
- }
- /*FI*/_i=(_i)-(1);
- }
- }
- /*No:BIT_CONSTANT.is_pre_computable*/
- /*No:BIT_CONSTANT.use_current*/
- void r940error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- /*No:BIT_CONSTANT.isa_dca_inline_argument*/
- int r940standard_compile_to_jvm_into(T940* C,T0* a1){
- int R=0;
- r940compile_to_jvm(C);
- R=X609jvm_convert_to(/*(IRF4.4run_type*/((T0*)((T549*)(((T940*)C))->_result_type/*20*/))/*)*/,a1);
- return R;
- }
- /*No:BIT_CONSTANT.afd_check*/
- T0* r367add_comment(T367* 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;
- }
- /*No:E_FALSE.to_integer*/
- int r367is_a(T367* C,T0* a1){
- int R=0;
- R=X291is_a(/*(IRF4.4run_type*/((T0*)((T707*)/*(IRF4.8result_type*/r367type_boolean()/*)*/))/*)*/,X291run_type(X662result_type(a1)));
- /*IF*/if (!(R)) {
- r683add_position((((T367*)C))->_start_position/*12*/);
- r367error(X662start_position(a1),((T0*)ms4_662));
- }
- /*FI*/return R;
- }
- /*No:E_FALSE.is_current*/
- /*No:E_FALSE.jvm_branch_if_false*/
- T0* r367type_boolean(void){
- if (fBC364type_boolean==0){
- T0* R=NULL;
- fBC364type_boolean=1;
- {T707*n=malloc(sizeof(*n));
- *n=M707;
- r707make(n,NULL);
- R=(T0*)n;
- }
- oBC364type_boolean=R;}
- return oBC364type_boolean;}
- /*No:E_FALSE.static_value*/
- /*No:E_FALSE.make*/
- /*No:E_FALSE.compile_to_jvm_assignment*/
- /*No:E_FALSE.fz_iinaiv*/
- int r367jvm_branch_if_true(void){
- int R=0;
- /*[IRF3.4opcode_iconst_0*/r256opcode(((T256*)(oBC364code_attribute)),3,1);
- /*]*/
- R=r256opcode_ifeq(((T256*)(oBC364code_attribute)));
- return R;
- }
- /*No:E_FALSE.start_position*/
- /*No:E_FALSE.compile_to_jvm_old*/
- T0* r367to_runnable(T367* C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((((T367*)C))->_current_type/*8*/)==((void*)(NULL))) {
- C->_current_type=a1;
- R=(T0*)C;
- }
- else {
- R=r367twin(C);
- /*[IRF3.3set_current_type*/((((T367*)(((T367*)R))))->_current_type)=(a1);
- /*]*/
- }
- /*FI*/return R;
- }
- /*No:E_FALSE.result_type*/
- /*No:E_FALSE.is_result*/
- T0* r367twin(T367* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T367*)R)=*C;
- return R;
- }
- /*No:E_FALSE.set_current_type*/
- /*No:E_FALSE.is_static*/
- int r367compile_to_jvm_into(T0* a1){
- int R=0;
- R=r367standard_compile_to_jvm_into(a1);
- return R;
- }
- /*No:E_FALSE.compile_target_to_jvm*/
- /*No:E_FALSE.can_be_dropped*/
- /*No:E_FALSE.current_type*/
- /*No:E_FALSE.jvm_assign*/
- /*No:E_FALSE.static_value_mem*/
- /*No:E_FALSE.is_manifest_string*/
- /*No:E_FALSE.is_void*/
- /*No:E_FALSE.compile_to_jvm*/
- /*No:E_FALSE.is_pre_computable*/
- /*No:E_FALSE.use_current*/
- void r367error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- int r367isa_dca_inline_argument(void){
- int R=0;
- /*IF*/{/*AT*/R=-(1);
- }
- /*FI*/return R;
- }
- int r367standard_compile_to_jvm_into(T0* a1){
- int R=0;
- /*[IRF3.2compile_to_jvm*//*[IRF3.4opcode_iconst_0*/r256opcode(((T256*)(oBC364code_attribute)),3,1);
- /*]*/
- /*]*/
- R=X291jvm_convert_to(/*(IRF4.4run_type*/((T0*)((T707*)/*(IRF4.8result_type*/r367type_boolean()/*)*/))/*)*/,a1);
- return R;
- }
- /*No:E_FALSE.afd_check*/
- /*No:CLASS_NAME.us_none*/
- int r451is_subclass_of(T451* C,T0* a1){
- int R=0;
- /*IF*/if ((((T0*)ms1_473))==((void*)((((T451*)((T451*)a1)))->_to_string/*0*/))) {
- R=1;
- }
- else if ((((T0*)ms19_473))==((void*)((((T451*)((T451*)a1)))->_to_string/*0*/))) {
- }
- else {
- R=r605is_subclass_of(((T605*)(r451base_class(C))),r451base_class(((T451*)a1)));
- }
- /*FI*/return R;
- }
- void r451make(T451* C,T0* a1,T0* a2){
- C->_start_position=a2;
- C->_to_string=r902item(a1);
- }
- /*No:CLASS_NAME.to_string*/
- void r451make_unknown(T451* C){
- {T627*n=malloc(sizeof(*n));
- *n=M627;
- r627with(n,1,1,(T0*)C);
- C->_start_position=(T0*)n;
- }
- C->_to_string=((T0*)ms3_451);
- }
- /*No:CLASS_NAME.start_position*/
- /*No:CLASS_NAME.unknown_name*/
- T0* r451base_class(T451* C){
- T0* R=NULL;
- R=r604base_class(((T604*)(oBC364small_eiffel)),(T0*)C);
- return R;
- }
- void r451identify(T451* C,T0* a1){
- C->_to_string=r902item(a1);
- }
- /*No:CLASS_NAME.us_any*/
- T0* r260add_comment(T260* 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;
- }
- /*No:CHARACTER_CONSTANT.to_integer*/
- int r260is_a(T260* C,T0* a1){
- int R=0;
- R=X291is_a(/*(IRF4.4run_type*/((T0*)((T252*)r260result_type()))/*)*/,X291run_type(X662result_type(a1)));
- /*IF*/if (!(R)) {
- r683add_position((((T260*)C))->_start_position/*12*/);
- r260error(X662start_position(a1),((T0*)ms4_662));
- }
- /*FI*/return R;
- }
- /*No:CHARACTER_CONSTANT.is_current*/
- /*No:CHARACTER_CONSTANT.jvm_branch_if_false*/
- /*No:CHARACTER_CONSTANT.static_value*/
- void r260make(T260* C,T0* a1,char a2,int a3){
- C->_start_position=a1;
- C->_value=a2;
- /*[IRF3.3set_pretty_print_mode*/((((T260*)(C)))->_pretty_print_mode)=(a3);
- /*]*/
- }
- /*No:CHARACTER_CONSTANT.compile_to_jvm_assignment*/
- /*No:CHARACTER_CONSTANT.fz_iinaiv*/
- /*No:CHARACTER_CONSTANT.set_pretty_print_mode*/
- /*No:CHARACTER_CONSTANT.jvm_branch_if_true*/
- /*No:CHARACTER_CONSTANT.start_position*/
- /*No:CHARACTER_CONSTANT.compile_to_jvm_old*/
- T0* r260to_runnable(T260* C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((((T260*)C))->_current_type/*8*/)==((void*)(NULL))) {
- C->_current_type=a1;
- R=(T0*)C;
- }
- else {
- R=r260twin(C);
- /*[IRF3.3set_current_type*/((((T260*)(((T260*)R))))->_current_type)=(a1);
- /*]*/
- }
- /*FI*/return R;
- }
- int fBC260result_type=0;
- T0*oBC260result_type=NULL;
- T0* r260result_type(void){
- if (fBC260result_type==0){
- T0* R=NULL;
- fBC260result_type=1;
- {T252*n=malloc(sizeof(*n));
- *n=M252;
- r252make(n,NULL);
- R=(T0*)n;
- }
- oBC260result_type=R;}
- return oBC260result_type;}
- /*No:CHARACTER_CONSTANT.is_result*/
- T0* r260twin(T260* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T260*)R)=*C;
- return R;
- }
- /*No:CHARACTER_CONSTANT.set_current_type*/
- int r260is_static(T260* C){
- int R=0;
- R=1;
- C->_static_value_mem=/*(IRF4.6to_integer*/((unsigned char)(((T260*)C))->_value/*16*/)/*)*/;
- return R;
- }
- int r260compile_to_jvm_into(T260* C,T0* a1){
- int R=0;
- R=r260standard_compile_to_jvm_into(C,a1);
- return R;
- }
- /*No:CHARACTER_CONSTANT.compile_target_to_jvm*/
- /*No:CHARACTER_CONSTANT.value*/
- /*No:CHARACTER_CONSTANT.can_be_dropped*/
- /*No:CHARACTER_CONSTANT.current_type*/
- /*No:CHARACTER_CONSTANT.jvm_assign*/
- /*No:CHARACTER_CONSTANT.static_value_mem*/
- /*No:CHARACTER_CONSTANT.is_manifest_string*/
- /*No:CHARACTER_CONSTANT.is_void*/
- /*No:CHARACTER_CONSTANT.pretty_print_mode*/
- /*No:CHARACTER_CONSTANT.compile_to_jvm*/
- /*No:CHARACTER_CONSTANT.is_pre_computable*/
- /*No:CHARACTER_CONSTANT.use_current*/
- void r260error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- int r260isa_dca_inline_argument(T260* C){
- int R=0;
- /*IF*/if (r260is_static(C)) {
- R=-(1);
- }
- /*FI*/return R;
- }
- int r260standard_compile_to_jvm_into(T260* C,T0* a1){
- int R=0;
- /*[IRF3.6compile_to_jvm*/{T260* C1=C;
- r256opcode_bipush(((T256*)(oBC364code_attribute)),((unsigned char)(((T260*)C1))->_value/*16*/));
- }/*]*/
- R=X291jvm_convert_to(/*(IRF4.4run_type*/((T0*)((T252*)r260result_type()))/*)*/,a1);
- return R;
- }
- /*No:CHARACTER_CONSTANT.afd_check*/
- /*No:LOOP_INVARIANT.fz_bad_assertion*/
- T0* r213runnable(T0* a1,T0* a2,T0* a3){
- T0* R=NULL;
- T0* _a=NULL;
- int _i=0;
- /*IF*/if (!(r608empty(((T608*)a1)))) {
- R=r608twin(((T608*)a1));
- _i=(((T608*)((T608*)R)))->_upper/*8*/;
- while (!((_i)==(0))) {
- r604push(((T604*)(oBC364small_eiffel)),a3);
- _a=r348to_runnable(((T348*)(r608item(((T608*)R),_i))),a2);
- /*IF*/if ((_a)==((void*)(NULL))) {
- r213error(r348start_position(((T348*)(r608item(((T608*)R),_i)))),((T0*)ms57_470));
- }
- else {
- /*[IRF3.6put*/{T608* C1=((T608*)R);
- T0* b1=_a;
- int b2=_i;
- ((((T608*)C1))->_storage/*0*/)[(b2)-((((T608*)C1))->_lower/*12*/)]=(b1);
- }/*]*/
- }
- /*FI*/r604pop(((T604*)(oBC364small_eiffel)));
- _i=(_i)-(1);
- }
- }
- /*FI*/return R;
- }
- void r213make(T213* C,T0* a1,T0* a2,T0* a3){
- C->_start_position=a1;
- C->_header_comment=a2;
- C->_list=a3;
- }
- /*No:LOOP_INVARIANT.nb_errors*/
- /*No:LOOP_INVARIANT.start_position*/
- T0* r213to_runnable(T213* C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((((T213*)C))->_current_type/*12*/)==((void*)(NULL))) {
- C->_current_type=a1;
- /*IF*/if (((((T213*)C))->_list/*8*/)!=((void*)(NULL))) {
- C->_list=r213runnable((((T213*)C))->_list/*8*/,a1,r604top_rf(((T604*)(oBC364small_eiffel))));
- }
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- R=(T0*)C;
- }
- /*FI*/}
- else {
- R=r213twin(C);
- /*[IRF3.3set_current_type*/((((T213*)(((T213*)R))))->_current_type)=(NULL);
- /*]*/
- R=r213to_runnable(((T213*)R),a1);
- }
- /*FI*/return R;
- }
- T0* r213twin(T213* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T213*)R)=*C;
- return R;
- }
- /*No:LOOP_INVARIANT.set_current_type*/
- /*No:LOOP_INVARIANT.list*/
- /*No:LOOP_INVARIANT.current_type*/
- /*No:LOOP_INVARIANT.header_comment*/
- void r213compile_to_jvm(T213* C,int a1){
- T0* _ca=NULL;
- int _i=0;
- int _point_true=0;
- /*IF*/if (((((T213*)C))->_list/*8*/)!=((void*)(NULL))) {
- _ca=oBC364code_attribute;
- r256check_opening(((T256*)_ca));
- /*IF*/if (a1) {
- _i=1;
- while (!((_i)>((((T608*)((T608*)((((T213*)C))->_list/*8*/))))->_upper/*8*/))) {
- r348compile_to_jvm(((T348*)(r608item(((T608*)((((T213*)C))->_list/*8*/)),_i))),1);
- _i=(_i)+(1);
- }
- }
- else {
- /*[IRF3.3clear*/((((T226*)(((T226*)(oBC596points_false)))))->_upper)=(-(1));
- /*]*/
- _i=1;
- while (!((_i)>((((T608*)((T608*)((((T213*)C))->_list/*8*/))))->_upper/*8*/))) {
- r348compile_to_jvm(((T348*)(r608item(((T608*)((((T213*)C))->_list/*8*/)),_i))),0);
- r226add_last(((T226*)(oBC596points_false)),r256opcode_ifeq(((T256*)_ca)));
- _i=(_i)+(1);
- }
- /*[IRF3.4opcode_iconst_1*/r256opcode(((T256*)_ca),4,1);
- /*]*/
- _point_true=r256opcode_goto(((T256*)_ca));
- r256resolve_with(oBC596points_false);
- /*[IRF3.4opcode_iconst_0*/r256opcode(((T256*)_ca),3,1);
- /*]*/
- r256resolve_u2_branch(_point_true);
- }
- /*FI*/r256check_closing(((T256*)_ca));
- }
- /*FI*/}
- int r213use_current(T213* C){
- int R=0;
- int _i=0;
- /*IF*/if (((((T213*)C))->_list/*8*/)!=((void*)(NULL))) {
- _i=(((T608*)((T608*)((((T213*)C))->_list/*8*/))))->_upper/*8*/;
- while (!((R)||((_i)==(0)))) {
- R=r348use_current(((T348*)(r608item(((T608*)((((T213*)C))->_list/*8*/)),_i))));
- _i=(_i)-(1);
- }
- }
- /*FI*/return R;
- }
- void r213error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- void r213afd_check(T213* C){
- int _i=0;
- /*IF*/if (((((T213*)C))->_list/*8*/)!=((void*)(NULL))) {
- _i=(((T608*)((T608*)((((T213*)C))->_list/*8*/))))->_upper/*8*/;
- while (!((_i)==(0))) {
- r348afd_check(((T348*)(r608item(((T608*)((((T213*)C))->_list/*8*/)),_i))));
- _i=(_i)-(1);
- }
- }
- /*FI*/}
- int fBC364type_character_ref=0;
- T0*oBC364type_character_ref=NULL;
- T0* r252type_character_ref(void){
- if (fBC364type_character_ref==0){
- T0* R=NULL;
- T0* _character_ref=NULL;
- fBC364type_character_ref=1;
- {T451*n=malloc(sizeof(*n));
- *n=M451;
- r451make(n,((T0*)ms9_473),NULL);
- _character_ref=(T0*)n;
- }
- {T657*n=malloc(sizeof(*n));
- *n=M657;
- /*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_character_ref);
- /*]*/
- R=(T0*)n;
- }
- oBC364type_character_ref=R;}
- return oBC364type_character_ref;}
- /*No:TYPE_CHARACTER.id*/
- /*No:TYPE_CHARACTER.jvm_target_descriptor_in*/
- /*No:TYPE_CHARACTER.jvm_if_x_eq*/
- int r252has_creation(T252* C,T0* a1){
- int R=0;
- r683add_position(X776start_position(a1));
- r252error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T252*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_84));
- return R;
- }
- /*No:TYPE_CHARACTER.is_anchored*/
- /*No:TYPE_CHARACTER.us_character_ref*/
- /*No:TYPE_CHARACTER.is_array*/
- int r252is_a(T252* C,T0* a1){
- int R=0;
- /*IF*/if (X291is_character(a1)) {
- R=1;
- }
- else {
- R=r605is_subclass_of(((T605*)(r252base_class(C))),X291base_class(a1));
- /*IF*/if (R) {
- r252used_as_reference();
- }
- /*FI*/}
- /*FI*//*IF*/if (!(R)) {
- r683add_type((T0*)C,((T0*)ms71_470));
- r683add_type(a1,((T0*)ms67_470));
- }
- /*FI*/return R;
- }
- /*No:TYPE_CHARACTER.jvm_to_reference*/
- /*No:TYPE_CHARACTER.run_type*/
- /*No:TYPE_CHARACTER.is_pointer*/
- /*No:TYPE_CHARACTER.is_dummy_expanded*/
- int r252jvm_push_default(void){
- int R=0;
- /*[IRF3.4opcode_iconst_0*/r256opcode(((T256*)(oBC364code_attribute)),3,1);
- /*]*/
- R=1;
- return R;
- }
- /*No:TYPE_CHARACTER.is_string*/
- /*No:TYPE_CHARACTER.is_like_feature*/
- /*No:TYPE_CHARACTER.is_like_current*/
- void r252make(T252* C,T0* a1){
- {T451*n=malloc(sizeof(*n));
- *n=M451;
- r451make(n,((T0*)ms8_473),a1);
- C->_base_class_name=(T0*)n;
- }
- }
- /*No:TYPE_CHARACTER.nb_errors*/
- /*No:TYPE_CHARACTER.us_item*/
- void r252load_ref(T0* a1){
- T0* _rf=NULL;
- T0* _rc=NULL;
- T0* _cn=NULL;
- {T451*n=malloc(sizeof(*n));
- *n=M451;
- r451make(n,a1,NULL);
- _cn=(T0*)n;
- }
- _rc=r605run_class(((T605*)(r451base_class(((T451*)_cn)))));
- r355set_at_run_time(((T355*)_rc));
- _rf=r355get_feature_with(((T355*)_rc),((T0*)ms86_473));
- }
- /*No:TYPE_CHARACTER.jvm_return_code*/
- int fBC252check_type=0;
- void r252check_type(T252* C){
- if (fBC252check_type==0){
- T0* _rc=NULL;
- T0* _bc=NULL;
- fBC252check_type=1;
- _bc=r252base_class(C);
- /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- _rc=r252run_class(C);
- }
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- /*IF*/if (!((((T605*)((T605*)_bc)))->_is_expanded/*20*/)) {
- r252error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T252*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_252));
- }
- /*FI*/}
- /*FI*/}}
- /*No:TYPE_CHARACTER.jvm_xnewarray*/
- /*No:TYPE_CHARACTER.jvm_descriptor_in*/
- /*No:TYPE_CHARACTER.start_position*/
- /*No:TYPE_CHARACTER.fz_inako*/
- /*No:TYPE_CHARACTER.is_user_expanded*/
- /*No:TYPE_CHARACTER.is_character*/
- T0* r252written_mark(void){
- T0* R=NULL;
- R=((T0*)ms8_473);
- return R;
- }
- /*No:TYPE_CHARACTER.is_run_type*/
- T0* r252to_runnable(T252* C,T0* a1){
- T0* R=NULL;
- R=(T0*)C;
- r252check_type(C);
- return R;
- }
- /*No:TYPE_CHARACTER.is_formal_generic*/
- T0* r252generic_list(T252* C){
- T0* R=NULL;
- r252fatal_error_generic_list(C);
- return R;
- }
- /*No:TYPE_CHARACTER.is_real*/
- /*No:TYPE_CHARACTER.us_character*/
- /*No:TYPE_CHARACTER.fz_41*/
- /*No:TYPE_CHARACTER.is_bit*/
- void r252fatal_error_generic_list(T252* C){
- r683add_type((T0*)C,((T0*)ms12_291));
- r683print_as_fatal_error(((T683*)(oBC364eh)));
- }
- /*No:TYPE_CHARACTER.jvm_check_class_invariant*/
- /*No:TYPE_CHARACTER.jvm_xaload*/
- T0* r252smallest_ancestor(T252* C,T0* a1){
- T0* R=NULL;
- T0* _rto=NULL;
- _rto=X291run_type(a1);
- /*IF*/if (X291is_character(_rto)) {
- R=(T0*)C;
- }
- else {
- R=r657smallest_ancestor(((T657*)(r252type_character_ref())),_rto);
- }
- /*FI*/return R;
- }
- /*No:TYPE_CHARACTER.is_boolean*/
- /*No:TYPE_CHARACTER.is_double*/
- int r252jvm_stack_space(void){
- int R=0;
- /*IF*//*AF*//*AE*/
- R=1;
- /*FI*/return R;
- }
- T0* r252run_class(T252* C){
- T0* R=NULL;
- R=r604run_class((T0*)C);
- return R;
- }
- T0* r252run_time_mark(void){
- T0* R=NULL;
- R=((T0*)ms8_473);
- return R;
- }
- int r252is_a_in(T252* C,T0* a1,T0* a2){
- int R=0;
- T0* _ct=NULL;
- T0* _t2=NULL;
- T0* _t1=NULL;
- /*IF*/if ((r252written_mark())==((void*)(X291written_mark(a1)))) {
- R=1;
- }
- else {
- _ct=(((T355*)((T355*)a2)))->_current_type/*0*/;
- _t1=r252to_runnable(C,_ct);
- _t2=X291to_runnable(a1,_ct);
- /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
- R=1;
- }
- else {
- R=X291is_a(_t1,_t2);
- }
- /*FI*/}
- /*FI*/return R;
- }
- T0* r252look_up_for(T252* C,T0* a1,T0* a2){
- T0* R=NULL;
- R=r605look_up_for(((T605*)(r252base_class(C))),a1,a2);
- return R;
- }
- int r252jvm_convert_to(T0* a1){
- int R=0;
- /*IF*/if (X291is_reference(a1)) {
- /*[IRF3.2jvm_to_reference*/{T0* _ca=NULL;
- int _idx=0;
- T0* _rc=NULL;
- _ca=oBC364code_attribute;
- _rc=r657run_class(((T657*)(r252type_character_ref())));
- _idx=r355fully_qualified_constant_pool_index(((T355*)_rc));
- r256opcode_new(((T256*)_ca),_idx);
- /*[IRF3.4opcode_dup_x1*/r256opcode(((T256*)_ca),90,1);
- /*]*/
- /*[IRF3.4opcode_swap*/r256opcode(((T256*)_ca),95,0);
- /*]*/
- _idx=r95idx_fieldref4(((T95*)(oBC364constant_pool)),_idx,((T0*)ms86_473),((T0*)ms173_470));
- r256opcode_putfield(((T256*)_ca),_idx,-(2));
- }/*]*/
- }
- /*FI*/R=1;
- return R;
- }
- /*No:TYPE_CHARACTER.expanded_initializer*/
- /*No:TYPE_CHARACTER.jvm_if_x_ne*/
- /*No:TYPE_CHARACTER.fz_dot*/
- /*No:TYPE_CHARACTER.is_generic*/
- /*No:TYPE_CHARACTER.jvm_write_local*/
- void r252jvm_initialize_local(int a1){
- /*[IRF3.4opcode_iconst_0*/r256opcode(((T256*)(oBC364code_attribute)),3,1);
- /*]*/
- /*[IRF3.6jvm_write_local*/{int b1=a1;
- r256opcode_istore(((T256*)(oBC364code_attribute)),b1);
- }/*]*/
- }
- int fBC252used_as_reference=0;
- void r252used_as_reference(void){
- if (fBC252used_as_reference==0){
- fBC252used_as_reference=1;
- r252load_ref(((T0*)ms9_473));
- }}
- /*No:TYPE_CHARACTER.is_reference*/
- void r252error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- T0* r252base_class(T252* C){
- T0* R=NULL;
- T0* _bcn=NULL;
- _bcn=(((T252*)C))->_base_class_name/*4*/;
- /*IF*/if ((_bcn)!=((void*)(NULL))) {
- R=r451base_class(((T451*)_bcn));
- }
- else {
- /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- r683add_type((T0*)C,((T0*)ms67_470));
- r683print_as_fatal_error(((T683*)(oBC364eh)));
- }
- /*FI*/return R;
- }
- /*No:TYPE_CHARACTER.jvm_xastore*/
- /*No:TYPE_CHARACTER.is_any*/
- /*No:TYPE_CHARACTER.jvm_method_flags*/
- /*No:TYPE_CHARACTER.base_class_name*/
- /*No:TYPE_CHARACTER.jvm_push_local*/
- /*No:TYPE_CHARACTER.is_expanded*/
- /*No:TYPE_CHARACTER.is_basic_eiffel_expanded*/
- /*No:TYPE_CHARACTER.is_none*/
- /*No:TYPE_CHARACTER.is_integer*/
- void r633add_into(T633* C,T0* a1){
- T0* _a=NULL;
- int _i=0;
- /*IF*/if (((((T633*)C))->_list/*8*/)!=((void*)(NULL))) {
- _i=1;
- while (!((_i)>((((T608*)((T608*)((((T633*)C))->_list/*8*/))))->_upper/*8*/))) {
- _a=r608item(((T608*)((((T633*)C))->_list/*8*/)),_i);
- /*IF*/if (!(r608fast_has(((T608*)a1),_a))) {
- r608add_last(((T608*)a1),_a);
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- /*FI*/}
- void r633from_runnable(T633* C,T0* a1){
- C->_list=a1;
- C->_current_type=(((T348*)((T348*)(r608item(((T608*)((((T633*)C))->_list/*8*/)),1)))))->_current_type/*12*/;
- }
- void r633make(T633* C,T0* a1,T0* a2,T0* a3){
- C->_start_position=a1;
- C->_header_comment=a2;
- C->_list=a3;
- }
- /*No:E_ENSURE.set_header_comment*/
- /*No:E_ENSURE.start_position*/
- void r633compile_to_jvm_old(T633* C){
- int _i=0;
- /*IF*/if (((((T633*)C))->_list/*8*/)!=((void*)(NULL))) {
- _i=(((T608*)((T608*)((((T633*)C))->_list/*8*/))))->_lower/*12*/;
- while (!((_i)>((((T608*)((T608*)((((T633*)C))->_list/*8*/))))->_upper/*8*/))) {
- r348compile_to_jvm_old(((T348*)(r608item(((T608*)((((T633*)C))->_list/*8*/)),_i))));
- _i=(_i)+(1);
- }
- }
- /*FI*/}
- /*No:E_ENSURE.set_ensure_then*/
- /*No:E_ENSURE.list*/
- /*No:E_ENSURE.current_type*/
- /*No:E_ENSURE.is_ensure_then*/
- /*No:E_ENSURE.header_comment*/
- void r633compile_to_jvm(T633* C,int a1){
- T0* _ca=NULL;
- int _i=0;
- int _point_true=0;
- /*IF*/if (((((T633*)C))->_list/*8*/)!=((void*)(NULL))) {
- _ca=oBC364code_attribute;
- r256check_opening(((T256*)_ca));
- /*IF*/if (a1) {
- _i=1;
- while (!((_i)>((((T608*)((T608*)((((T633*)C))->_list/*8*/))))->_upper/*8*/))) {
- r348compile_to_jvm(((T348*)(r608item(((T608*)((((T633*)C))->_list/*8*/)),_i))),1);
- _i=(_i)+(1);
- }
- }
- else {
- /*[IRF3.3clear*/((((T226*)(((T226*)(oBC596points_false)))))->_upper)=(-(1));
- /*]*/
- _i=1;
- while (!((_i)>((((T608*)((T608*)((((T633*)C))->_list/*8*/))))->_upper/*8*/))) {
- r348compile_to_jvm(((T348*)(r608item(((T608*)((((T633*)C))->_list/*8*/)),_i))),0);
- r226add_last(((T226*)(oBC596points_false)),r256opcode_ifeq(((T256*)_ca)));
- _i=(_i)+(1);
- }
- /*[IRF3.4opcode_iconst_1*/r256opcode(((T256*)_ca),4,1);
- /*]*/
- _point_true=r256opcode_goto(((T256*)_ca));
- r256resolve_with(oBC596points_false);
- /*[IRF3.4opcode_iconst_0*/r256opcode(((T256*)_ca),3,1);
- /*]*/
- r256resolve_u2_branch(_point_true);
- }
- /*FI*/r256check_closing(((T256*)_ca));
- }
- /*FI*/}
- int r633use_current(T633* C){
- int R=0;
- int _i=0;
- /*IF*/if (((((T633*)C))->_list/*8*/)!=((void*)(NULL))) {
- _i=(((T608*)((T608*)((((T633*)C))->_list/*8*/))))->_upper/*8*/;
- while (!((R)||((_i)==(0)))) {
- R=r348use_current(((T348*)(r608item(((T608*)((((T633*)C))->_list/*8*/)),_i))));
- _i=(_i)-(1);
- }
- }
- /*FI*/return R;
- }
- void r633afd_check(T633* C){
- int _i=0;
- /*IF*/if (((((T633*)C))->_list/*8*/)!=((void*)(NULL))) {
- _i=(((T608*)((T608*)((((T633*)C))->_list/*8*/))))->_upper/*8*/;
- while (!((_i)==(0))) {
- r348afd_check(((T348*)(r608item(((T608*)((((T633*)C))->_list/*8*/)),_i))));
- _i=(_i)-(1);
- }
- }
- /*FI*/}
- void r378set_uft8(T378* C,T0* a1){
- C->_tag='\1';
- r7copy(((T7*)((((T378*)C))->_info/*1*/)),a1);
- }
- /*No:CP_INFO.string_code*/
- /*No:CP_INFO.fieldref_code*/
- void r378set_name_and_type(T378* C,T0* a1){
- C->_tag='\14';
- r7copy(((T7*)((((T378*)C))->_info/*1*/)),a1);
- }
- int r378is_fieldref_idx(T378* C,int a1,int a2){
- int R=0;
- /*IF*/if (('\11')==((((T378*)C))->_tag/*0*/)) {
- /*IF*/if ((r378u2_to_integer(C,1))==(a1)) {
- R=(r378u2_to_integer(C,3))==(a2);
- }
- /*FI*/}
- /*FI*/return R;
- }
- int r378is_methodref_idx(T378* C,int a1,int a2){
- int R=0;
- /*IF*/if (('\n')==((((T378*)C))->_tag/*0*/)) {
- /*IF*/if ((r378u2_to_integer(C,1))==(a1)) {
- R=(r378u2_to_integer(C,3))==(a2);
- }
- /*FI*/}
- /*FI*/return R;
- }
- int r378is_string_idx(T378* C,int a1){
- int R=0;
- /*IF*/if (('\10')==((((T378*)C))->_tag/*0*/)) {
- R=(r378u2_to_integer(C,1))==(a1);
- }
- /*FI*/return R;
- }
- /*No:CP_INFO.class_code*/
- int r378u2_to_integer(T378* C,int a1){
- int R=0;
- R=(/*(IRF4.6item*/((((T7*)((T7*)((((T378*)C))->_info/*1*/))))->_storage/*0*/)[(a1)-(1)]/*)*/)*(256);
- R=(R)+(/*(IRF4.6item*/((((T7*)((T7*)((((T378*)C))->_info/*1*/))))->_storage/*0*/)[((a1)+(1))-(1)]/*)*/);
- return R;
- }
- /*No:CP_INFO.info*/
- void r378clear(T378* C){
- C->_tag='\0';
- /*IF*/if (((((T378*)C))->_info/*1*/)==((void*)(NULL))) {
- {T7*n=malloc(sizeof(*n));
- *n=M7;
- r7make(n,4);
- C->_info=(T0*)n;
- }
- }
- else {
- /*[IRF3.3clear*/((((T7*)(((T7*)((((T378*)C))->_info/*1*/)))))->_count)=(0);
- /*]*/
- }
- /*FI*/}
- /*No:CP_INFO.empty_code*/
- /*No:CP_INFO.tag*/
- void r378set_string(T378* C,T0* a1){
- char _c=0;
- int _i=0;
- C->_tag='\10';
- /*[IRF3.3clear*/((((T7*)(((T7*)((((T378*)C))->_info/*1*/)))))->_count)=(0);
- /*]*/
- r7extend(((T7*)((((T378*)C))->_info/*1*/)),/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(1)-(1)]/*)*/);
- r7extend(((T7*)((((T378*)C))->_info/*1*/)),/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(2)-(1)]/*)*/);
- _i=3;
- while (!((_i)>((((T7*)((T7*)a1)))->_count/*4*/))) {
- _c=/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i)-(1)]/*)*/;
- /*IF*/if ((_c)==('\0')) {
- r7extend(((T7*)((((T378*)C))->_info/*1*/)),'\300');
- r7extend(((T7*)((((T378*)C))->_info/*1*/)),'\200');
- }
- else {
- r7extend(((T7*)((((T378*)C))->_info/*1*/)),_c);
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- void r378set_class(T378* C,T0* a1){
- C->_tag='\7';
- r7copy(((T7*)((((T378*)C))->_info/*1*/)),a1);
- }
- /*No:CP_INFO.name_and_type_code*/
- int r378is_name_and_type_idx(T378* C,int a1,int a2){
- int R=0;
- /*IF*/if (('\14')==((((T378*)C))->_tag/*0*/)) {
- /*IF*/if ((r378u2_to_integer(C,1))==(a1)) {
- R=(r378u2_to_integer(C,3))==(a2);
- }
- /*FI*/}
- /*FI*/return R;
- }
- void r378set_methodref(T378* C,T0* a1){
- C->_tag='\n';
- r7copy(((T7*)((((T378*)C))->_info/*1*/)),a1);
- }
- int r378is_class_idx(T378* C,int a1){
- int R=0;
- /*IF*/if (('\7')==((((T378*)C))->_tag/*0*/)) {
- R=(r378u2_to_integer(C,1))==(a1);
- }
- /*FI*/return R;
- }
- void r378b_put(T378* C){
- r228b_put_u1(((T228*)(oBC364jvm)),(((T378*)C))->_tag/*0*/);
- r228b_put_byte_string(((T228*)(oBC364jvm)),(((T378*)C))->_info/*1*/);
- }
- /*No:CP_INFO.uft8_code*/
- int r378is_uft8_idx(T378* C,T0* a1){
- int R=0;
- int _i2=0;
- int _i1=0;
- /*IF*/if (('\1')==((((T378*)C))->_tag/*0*/)) {
- /*IF*/if ((r378u2_to_integer(C,1))==((((T7*)((T7*)a1)))->_count/*4*/)) {
- _i1=((((T7*)((T7*)a1)))->_count/*4*/)+(1);
- _i2=((((T7*)((T7*)((((T378*)C))->_info/*1*/))))->_count/*4*/)+(1);
- R=1;
- while (!((!(R))||((_i1)==(1)))) {
- _i1=(_i1)-(1);
- _i2=(_i2)-(1);
- R=(/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i1)-(1)]/*)*/)==(/*(IRF4.6item*/((((T7*)((T7*)((((T378*)C))->_info/*1*/))))->_storage/*0*/)[(_i2)-(1)]/*)*/);
- }
- }
- /*FI*/}
- /*FI*/return R;
- }
- void r378set_fieldref(T378* C,T0* a1){
- C->_tag='\11';
- r7copy(((T7*)((((T378*)C))->_info/*1*/)),a1);
- }
- /*No:CP_INFO.methodref_code*/
- int r283id(T283* C){
- int R=0;
- R=(((T355*)((T355*)(r283run_class(C)))))->_id/*4*/;
- return R;
- }
- void r283jvm_target_descriptor_in(T283* C,T0* a1){
- X291jvm_target_descriptor_in((((T283*)C))->_run_type/*12*/,a1);
- }
- int r283jvm_if_x_eq(T283* C){
- int R=0;
- R=X291jvm_if_x_eq((((T283*)C))->_run_type/*12*/);
- return R;
- }
- int r283has_creation(T283* C,T0* a1){
- int R=0;
- /*IF*/if ((C)==((void*)((((T283*)C))->_run_type/*12*/))) {
- R=r605has_creation(((T605*)(r283base_class(C))),a1);
- }
- else {
- R=X291has_creation((((T283*)C))->_run_type/*12*/,a1);
- }
- /*FI*/return R;
- }
- /*No:TYPE_FORMAL_GENERIC.is_anchored*/
- int r283is_array(T283* C){
- int R=0;
- R=X291is_array((((T283*)C))->_run_type/*12*/);
- return R;
- }
- int r283is_a(T283* C,T0* a1){
- int R=0;
- R=X291is_a((((T283*)C))->_run_type/*12*/,a1);
- return R;
- }
- void r283jvm_to_reference(T283* C){
- X291jvm_to_reference((((T283*)C))->_run_type/*12*/);
- }
- int r283is_pointer(T283* C){
- int R=0;
- R=X291is_pointer((((T283*)C))->_run_type/*12*/);
- return R;
- }
- /*No:TYPE_FORMAL_GENERIC.run_type*/
- int r283is_dummy_expanded(T283* C){
- int R=0;
- R=X291is_dummy_expanded((((T283*)C))->_run_type/*12*/);
- return R;
- }
- int r283jvm_push_default(T283* C){
- int R=0;
- R=X291jvm_push_default((((T283*)C))->_run_type/*12*/);
- return R;
- }
- int r283is_string(T283* C){
- int R=0;
- R=X291is_string((((T283*)C))->_run_type/*12*/);
- return R;
- }
- /*No:TYPE_FORMAL_GENERIC.is_like_feature*/
- /*No:TYPE_FORMAL_GENERIC.is_like_current*/
- void r283make(T283* C,T0* a1,int a2){
- C->_rank=a2;
- C->_formal_name=a1;
- }
- /*No:TYPE_FORMAL_GENERIC.formal_name*/
- void r283jvm_return_code(T283* C){
- X291jvm_return_code((((T283*)C))->_run_type/*12*/);
- }
- void r283jvm_xnewarray(T283* C){
- X291jvm_xnewarray((((T283*)C))->_run_type/*12*/);
- }
- void r283jvm_descriptor_in(T283* C,T0* a1){
- X291jvm_descriptor_in((((T283*)C))->_run_type/*12*/,a1);
- }
- /*No:TYPE_FORMAL_GENERIC.start_position*/
- int r283is_user_expanded(T283* C){
- int R=0;
- R=X291is_user_expanded((((T283*)C))->_run_type/*12*/);
- return R;
- }
- int r283is_character(T283* C){
- int R=0;
- R=X291is_character((((T283*)C))->_run_type/*12*/);
- return R;
- }
- /*No:TYPE_FORMAL_GENERIC.written_mark*/
- /*No:TYPE_FORMAL_GENERIC.is_run_type*/
- T0* r283to_runnable(T283* C,T0* a1){
- T0* R=NULL;
- T0* _gl=NULL;
- T0* _t=NULL;
- T0* _p=NULL;
- T0* _bc_ct=NULL;
- T0* _bc_written=NULL;
- _bc_written=r627base_class(((T627*)(/*(IRF4.6start_position*/(((T451*)((T451*)((((T283*)C))->_formal_name/*4*/))))->_start_position/*4*//*)*/)));
- _bc_ct=X291base_class(a1);
- /*IF*/if ((_bc_written)==((void*)(_bc_ct))) {
- _gl=X291generic_list(a1);
- /*IF*/if (((_gl)==((void*)(NULL)))||(((((T283*)C))->_rank/*8*/)>((((T701*)((T701*)_gl)))->_upper/*8*/))) {
- r683add_position(X291start_position(a1));
- r683add_position(/*(IRF4.6start_position*/(((T451*)((T451*)((((T283*)C))->_formal_name/*4*/))))->_start_position/*4*//*)*/);
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms61_470);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- else {
- R=r283make_runnable(C,r701item(((T701*)_gl),(((T283*)C))->_rank/*8*/));
- }
- /*FI*/}
- else {
- _p=/*(IRF4.6first_parent_for*/r673first_parent_for(((T673*)((((T605*)((T605*)_bc_ct)))->_parent_list/*40*/)),_bc_written)/*)*/;
- while (!((_p)==((void*)(NULL)))) {
- _t=(((T877*)((T877*)_p)))->_type/*4*/;
- _t=X291run_type(X291to_runnable(_t,a1));
- /*IF*/if ((R)==((void*)(NULL))) {
- R=r283to_runnable(C,_t);
- _p=NULL;
- }
- else {
- _p=/*(IRF4.6next_parent_for*/r673next_parent_for(((T673*)((((T605*)((T605*)_bc_ct)))->_parent_list/*40*/)),_bc_written,_p)/*)*/;
- }
- /*FI*/}
- /*IF*/if ((R)==((void*)(NULL))) {
- r683add_type(a1,((T0*)ms1_283));
- r283warning(/*(IRF4.6start_position*/(((T451*)((T451*)((((T283*)C))->_formal_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms2_283));
- }
- /*FI*/}
- /*FI*/return R;
- }
- /*No:TYPE_FORMAL_GENERIC.rank*/
- /*No:TYPE_FORMAL_GENERIC.is_formal_generic*/
- T0* r283generic_list(T283* C){
- T0* R=NULL;
- /*IF*/if (r283is_generic(C)) {
- R=X291generic_list((((T283*)C))->_run_type/*12*/);
- }
- else {
- r283fatal_error_generic_list(C);
- }
- /*FI*/return R;
- }
- int r283is_real(T283* C){
- int R=0;
- R=X291is_real((((T283*)C))->_run_type/*12*/);
- return R;
- }
- T0* r283twin(T283* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T283*)R)=*C;
- return R;
- }
- /*No:TYPE_FORMAL_GENERIC.fz_bnga*/
- int r283is_bit(T283* C){
- int R=0;
- R=X291is_bit((((T283*)C))->_run_type/*12*/);
- return R;
- }
- T0* r283formal_arg(T283* C){
- T0* R=NULL;
- R=/*(IRF4.6item*/r681item(((T681*)((((T881*)((T881*)(r283formal_generic_list(C)))))->_list/*4*/)),(((T283*)C))->_rank/*8*/)/*)*/;
- return R;
- }
- void r283fatal_error_generic_list(T283* C){
- r683add_type((T0*)C,((T0*)ms12_291));
- r683print_as_fatal_error(((T683*)(oBC364eh)));
- }
- void r283jvm_check_class_invariant(T283* C){
- X291jvm_check_class_invariant((((T283*)C))->_run_type/*12*/);
- }
- void r283jvm_xaload(T283* C){
- X291jvm_xaload((((T283*)C))->_run_type/*12*/);
- }
- T0* r283smallest_ancestor(T283* C,T0* a1){
- T0* R=NULL;
- R=X291smallest_ancestor((((T283*)C))->_run_type/*12*/,a1);
- return R;
- }
- /*No:TYPE_FORMAL_GENERIC.set_run_type*/
- int r283is_boolean(T283* C){
- int R=0;
- R=X291is_boolean((((T283*)C))->_run_type/*12*/);
- return R;
- }
- int r283is_double(T283* C){
- int R=0;
- R=X291is_double((((T283*)C))->_run_type/*12*/);
- return R;
- }
- int r283jvm_stack_space(T283* C){
- int R=0;
- /*IF*/if (r283is_double(C)) {
- R=2;
- }
- else {
- R=1;
- }
- /*FI*/return R;
- }
- T0* r283run_class(T283* C){
- T0* R=NULL;
- R=r604run_class((((T283*)C))->_run_type/*12*/);
- return R;
- }
- T0* r283run_time_mark(T283* C){
- T0* R=NULL;
- R=X291run_time_mark((((T283*)C))->_run_type/*12*/);
- return R;
- }
- int r283is_a_in(T283* C,T0* a1,T0* a2){
- int R=0;
- T0* _ct=NULL;
- T0* _t2=NULL;
- T0* _t1=NULL;
- /*IF*/if ((/*(IRF4.6written_mark*/(((T451*)((T451*)((((T283*)C))->_formal_name/*4*/))))->_to_string/*0*//*)*/)==((void*)(X291written_mark(a1)))) {
- R=1;
- }
- else {
- _ct=(((T355*)((T355*)a2)))->_current_type/*0*/;
- _t1=r283to_runnable(C,_ct);
- _t2=X291to_runnable(a1,_ct);
- /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
- R=1;
- }
- else {
- R=X291is_a(_t1,_t2);
- }
- /*FI*/}
- /*FI*/return R;
- }
- T0* r283look_up_for(T283* C,T0* a1,T0* a2){
- T0* R=NULL;
- R=r605look_up_for(((T605*)(r283base_class(C))),a1,a2);
- return R;
- }
- int r283jvm_convert_to(T283* C,T0* a1){
- int R=0;
- R=X291jvm_convert_to((((T283*)C))->_run_type/*12*/,a1);
- return R;
- }
- T0* r283expanded_initializer(T283* C){
- T0* R=NULL;
- R=X291expanded_initializer((((T283*)C))->_run_type/*12*/);
- return R;
- }
- T0* r283constraint(T283* C){
- T0* R=NULL;
- R=(((T59*)((T59*)(r283formal_arg(C)))))->_constraint/*4*/;
- return R;
- }
- int r283jvm_if_x_ne(T283* C){
- int R=0;
- R=X291jvm_if_x_ne((((T283*)C))->_run_type/*12*/);
- return R;
- }
- /*No:TYPE_FORMAL_GENERIC.fz_dot*/
- int r283is_generic(T283* C){
- int R=0;
- R=X291is_generic((((T283*)C))->_run_type/*12*/);
- return R;
- }
- /*No:TYPE_FORMAL_GENERIC.fz_bga*/
- void r283jvm_write_local(T283* C,int a1){
- X291jvm_write_local((((T283*)C))->_run_type/*12*/,a1);
- }
- void r283jvm_initialize_local(T283* C,int a1){
- X291jvm_initialize_local((((T283*)C))->_run_type/*12*/,a1);
- }
- /*No:TYPE_FORMAL_GENERIC.used_as_reference*/
-
-