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* r491written_mark(void){
- T0* R=NULL;
- R=((T0*)ms25_473);
- return R;
- }
- /*No:TYPE_STRING.is_run_type*/
- T0* r491to_runnable(T491* C,T0* a1){
- T0* R=NULL;
- R=(T0*)C;
- r491check_type(C);
- return R;
- }
- /*No:TYPE_STRING.is_formal_generic*/
- T0* r491generic_list(T491* C){
- T0* R=NULL;
- r491fatal_error_generic_list(C);
- return R;
- }
- /*No:TYPE_STRING.is_real*/
- void r491standard_jvm_check_class_invariant(T491* C){
- /*IF*/if (r590invariant_check(((T590*)(oBC364run_control)))) {
- r355jvm_check_class_invariant(((T355*)(r491run_class(C))));
- }
- /*FI*/}
- /*No:TYPE_STRING.is_bit*/
- void r491fatal_error_generic_list(T491* C){
- r683add_type((T0*)C,((T0*)ms12_291));
- r683print_as_fatal_error(((T683*)(oBC364eh)));
- }
- /*No:TYPE_STRING.jvm_check_class_invariant*/
- T0* r491jvm_root_descriptor(void){
- if (fBC364jvm_root_descriptor==0){
- T0* R=NULL;
- fBC364jvm_root_descriptor=1;
- {T7*n=malloc(sizeof(*n));
- *n=M7;
- r7make(n,12);
- R=(T0*)n;
- }
- r7extend(((T7*)R),'L');
- r7append(((T7*)R),r491jvm_root_class());
- r7extend(((T7*)R),'\73');
- oBC364jvm_root_descriptor=R;}
- return oBC364jvm_root_descriptor;}
- /*No:TYPE_STRING.jvm_xaload*/
- T0* r491smallest_ancestor(T491* C,T0* a1){
- T0* R=NULL;
- T0* _rto_bc=NULL;
- T0* _rto=NULL;
- _rto=X291run_type(a1);
- /*IF*/if (X291is_string(_rto)) {
- R=(T0*)C;
- }
- else if (X291is_none(_rto)) {
- R=(T0*)C;
- }
- else if (X291is_expanded(_rto)) {
- R=X291smallest_ancestor(_rto,(T0*)C);
- }
- else {
- _rto_bc=X291base_class(_rto);
- /*IF*/if (r605is_subclass_of(((T605*)_rto_bc),r491base_class(C))) {
- R=(T0*)C;
- }
- else {
- R=X291smallest_ancestor(_rto,(T0*)C);
- }
- /*FI*/}
- /*FI*/return R;
- }
- /*No:TYPE_STRING.is_boolean*/
- /*No:TYPE_STRING.us_count*/
- /*No:TYPE_STRING.is_double*/
- int r491jvm_stack_space(void){
- int R=0;
- /*IF*//*AF*//*AE*/
- R=1;
- /*FI*/return R;
- }
- /*No:TYPE_STRING.us_storage*/
- T0* r491run_class(T491* C){
- T0* R=NULL;
- R=r604run_class((T0*)C);
- return R;
- }
- T0* r491run_time_mark(void){
- T0* R=NULL;
- R=((T0*)ms25_473);
- return R;
- }
- int r491is_a_in(T491* C,T0* a1,T0* a2){
- int R=0;
- T0* _ct=NULL;
- T0* _t2=NULL;
- T0* _t1=NULL;
- /*IF*/if ((r491written_mark())==((void*)(X291written_mark(a1)))) {
- R=1;
- }
- else {
- _ct=(((T355*)((T355*)a2)))->_current_type/*0*/;
- _t1=r491to_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* r491look_up_for(T491* C,T0* a1,T0* a2){
- T0* R=NULL;
- R=r605look_up_for(((T605*)(r491base_class(C))),a1,a2);
- return R;
- }
- /*No:TYPE_STRING.jvm_convert_to*/
- /*No:TYPE_STRING.expanded_initializer*/
- /*No:TYPE_STRING.fz_jvm_root*/
- /*No:TYPE_STRING.jvm_if_x_ne*/
- /*No:TYPE_STRING.fz_dot*/
- /*No:TYPE_STRING.is_generic*/
- /*No:TYPE_STRING.jvm_write_local*/
- void r491jvm_initialize_local(int a1){
- /*[IRF3.4opcode_aconst_null*/r256opcode(((T256*)(oBC364code_attribute)),1,1);
- /*]*/
- /*[IRF3.6jvm_write_local*/{int b1=a1;
- r256opcode_astore(((T256*)(oBC364code_attribute)),b1);
- }/*]*/
- }
- /*No:TYPE_STRING.used_as_reference*/
- /*No:TYPE_STRING.is_reference*/
- void r491error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- T0* r491base_class(T491* C){
- T0* R=NULL;
- T0* _bcn=NULL;
- _bcn=(((T491*)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_STRING.jvm_xastore*/
- /*No:TYPE_STRING.is_any*/
- /*No:TYPE_STRING.jvm_method_flags*/
- /*No:TYPE_STRING.base_class_name*/
- /*No:TYPE_STRING.jvm_push_local*/
- /*No:TYPE_STRING.is_expanded*/
- /*No:TYPE_STRING.is_basic_eiffel_expanded*/
- /*No:TYPE_STRING.is_none*/
- /*No:TYPE_STRING.is_integer*/
- /*No:TMP_FEATURE.arguments*/
- T0* r505n(void){
- T0* R=NULL;
- {T953*n=malloc(sizeof(*n));
- *n=M953;
- r953make(n,r855twin(((T855*)(oBC505names))));
- R=(T0*)n;
- }
- return R;
- }
- T0* r505to_cst_att_integer(T505* C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((((T505*)C))->_type/*4*/)!=((void*)(NULL))) {
- /*IF*/if (X291is_integer((((T505*)C))->_type/*4*/)) {
- {T689*n=malloc(sizeof(*n));
- *n=M689;
- r689make(n,r505n(),(((T505*)C))->_type/*4*/,a1);
- R=(T0*)n;
- }
- }
- else if (X291is_real((((T505*)C))->_type/*4*/)) {
- {T835*n=malloc(sizeof(*n));
- *n=M835;
- r835make(n,r505n(),(((T505*)C))->_type/*4*/,r342to_real_constant(((T342*)a1)));
- R=(T0*)n;
- }
- }
- else if (X291is_double((((T505*)C))->_type/*4*/)) {
- {T118*n=malloc(sizeof(*n));
- *n=M118;
- r118make(n,r505n(),(((T505*)C))->_type/*4*/,r342to_real_constant(((T342*)a1)));
- R=(T0*)n;
- }
- }
- else {
- r505error(X776start_position(r855first(((T855*)(oBC505names)))),((T0*)ms6_505));
- }
- /*FI*/}
- else {
- r505error(X776start_position(r855first(((T855*)(oBC505names)))),((T0*)ms7_505));
- }
- /*FI*/return R;
- }
- /*No:TMP_FEATURE.add_synonym*/
- /*No:TMP_FEATURE.set_type*/
- T0* r505to_writable_attribute(T505* C){
- T0* R=NULL;
- /*IF*/if (((((T505*)C))->_type/*4*/)==((void*)(NULL))) {
- r505error(X776start_position(r855first(((T855*)(oBC505names)))),((T0*)ms1_505));
- }
- else if (((((T505*)C))->_arguments/*0*/)!=((void*)(NULL))) {
- r505error(r818current_position(((T818*)(oBC364eiffel_parser))),((T0*)ms2_505));
- }
- /*FI*/{T106*n=malloc(sizeof(*n));
- *n=M106;
- r106make(n,r505n(),(((T505*)C))->_type/*4*/);
- R=(T0*)n;
- }
- return R;
- }
- T0* r505to_cst_att_boolean(T505* C,T0* a1){
- T0* R=NULL;
- /*IF*/if ((((((T505*)C))->_type/*4*/)!=((void*)(NULL)))&&(X291is_boolean((((T505*)C))->_type/*4*/))) {
- {T580*n=malloc(sizeof(*n));
- *n=M580;
- r580make(n,r505n(),(((T505*)C))->_type/*4*/,a1);
- R=(T0*)n;
- }
- }
- else {
- r505error(X776start_position(r855first(((T855*)(oBC505names)))),((T0*)ms3_505));
- }
- /*FI*/return R;
- }
- /*No:TMP_FEATURE.type*/
- /*No:TMP_FEATURE.local_vars*/
- /*No:TMP_FEATURE.set_header_comment*/
- void r505set_require(T505* C,T0* a1,T0* a2,T0* a3){
- /*IF*/if (((a2)!=((void*)(NULL)))||((a3)!=((void*)(NULL)))) {
- {T343*n=malloc(sizeof(*n));
- *n=M343;
- r343make(n,a1,a2,a3);
- C->_require_assertion=(T0*)n;
- }
- }
- /*FI*/}
- /*No:TMP_FEATURE.set_local_vars*/
- T0* r505to_deferred_routine(T505* C){
- T0* R=NULL;
- /*IF*/if (((((T505*)C))->_type/*4*/)==((void*)(NULL))) {
- {T853*n=malloc(sizeof(*n));
- *n=M853;
- /*[IRF3.6make*/{T853* C1=n;
- T0* b1=r505n();
- T0* b2=(((T505*)C))->_arguments/*0*/;
- T0* b3=(((T505*)C))->_obsolete_mark/*12*/;
- T0* b4=(((T505*)C))->_header_comment/*8*/;
- T0* b5=(((T505*)C))->_require_assertion/*16*/;
- r853make_routine(C1,b1,b2,b3,b4,b5);
- }/*]*/
- R=(T0*)n;
- }
- }
- else {
- {T649*n=malloc(sizeof(*n));
- *n=M649;
- r649make(n,r505n(),(((T505*)C))->_arguments/*0*/,(((T505*)C))->_type/*4*/,(((T505*)C))->_obsolete_mark/*12*/,(((T505*)C))->_header_comment/*8*/,(((T505*)C))->_require_assertion/*16*/);
- R=(T0*)n;
- }
- }
- /*FI*/return R;
- }
- T0* r505to_procedure_or_function(T505* C){
- T0* R=NULL;
- /*IF*/if (((((T505*)C))->_type/*4*/)==((void*)(NULL))) {
- {T297*n=malloc(sizeof(*n));
- *n=M297;
- r297make(n,r505n(),(((T505*)C))->_arguments/*0*/,(((T505*)C))->_obsolete_mark/*12*/,(((T505*)C))->_header_comment/*8*/,(((T505*)C))->_require_assertion/*16*/,(((T505*)C))->_local_vars/*20*/,(((T505*)C))->_routine_body/*24*/);
- R=(T0*)n;
- }
- }
- else {
- {T696*n=malloc(sizeof(*n));
- *n=M696;
- r696make(n,r505n(),(((T505*)C))->_arguments/*0*/,(((T505*)C))->_type/*4*/,(((T505*)C))->_obsolete_mark/*12*/,(((T505*)C))->_header_comment/*8*/,(((T505*)C))->_require_assertion/*16*/,(((T505*)C))->_local_vars/*20*/,(((T505*)C))->_routine_body/*24*/);
- R=(T0*)n;
- }
- }
- /*FI*/return R;
- }
- /*No:TMP_FEATURE.obsolete_mark*/
- /*No:TMP_FEATURE.require_assertion*/
- T0*oBC505names=NULL;
- T0* r505to_cst_att_real(T505* C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((((T505*)C))->_type/*4*/)!=((void*)(NULL))) {
- /*IF*/if (X291is_real((((T505*)C))->_type/*4*/)) {
- {T835*n=malloc(sizeof(*n));
- *n=M835;
- r835make(n,r505n(),(((T505*)C))->_type/*4*/,a1);
- R=(T0*)n;
- }
- }
- else if (X291is_double((((T505*)C))->_type/*4*/)) {
- {T118*n=malloc(sizeof(*n));
- *n=M118;
- r118make(n,r505n(),(((T505*)C))->_type/*4*/,a1);
- R=(T0*)n;
- }
- }
- else {
- r683add_position((((T936*)((T936*)a1)))->_start_position/*12*/);
- r683add_position(X776start_position(r855first(((T855*)(oBC505names)))));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms8_505);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- /*FI*/}
- else {
- r505error(X776start_position(r855first(((T855*)(oBC505names)))),((T0*)ms9_505));
- }
- /*FI*/return R;
- }
- /*No:TMP_FEATURE.set_arguments*/
- T0* r505to_cst_att_string(T505* C,T0* a1){
- T0* R=NULL;
- /*IF*/if ((((((T505*)C))->_type/*4*/)!=((void*)(NULL)))&&(X291is_string((((T505*)C))->_type/*4*/))) {
- {T380*n=malloc(sizeof(*n));
- *n=M380;
- r380make(n,r505n(),(((T505*)C))->_type/*4*/,a1);
- R=(T0*)n;
- }
- }
- else {
- r505error(X776start_position(r855first(((T855*)(oBC505names)))),((T0*)ms10_505));
- }
- /*FI*/return R;
- }
- /*No:TMP_FEATURE.header_comment*/
- /*No:TMP_FEATURE.set_routine_body*/
- /*No:TMP_FEATURE.routine_body*/
- T0* r505to_external_routine(T505* C,T0* a1,T0* a2){
- T0* R=NULL;
- /*IF*/if (((((T505*)C))->_type/*4*/)==((void*)(NULL))) {
- {T883*n=malloc(sizeof(*n));
- *n=M883;
- r883make(n,r505n(),(((T505*)C))->_arguments/*0*/,(((T505*)C))->_obsolete_mark/*12*/,(((T505*)C))->_header_comment/*8*/,(((T505*)C))->_require_assertion/*16*/,a1,a2);
- R=(T0*)n;
- }
- }
- else {
- {T679*n=malloc(sizeof(*n));
- *n=M679;
- r679make(n,r505n(),(((T505*)C))->_arguments/*0*/,(((T505*)C))->_type/*4*/,(((T505*)C))->_obsolete_mark/*12*/,(((T505*)C))->_header_comment/*8*/,(((T505*)C))->_require_assertion/*16*/,a1,a2);
- R=(T0*)n;
- }
- }
- /*FI*/return R;
- }
- T0* r505to_cst_att_unique(T505* C){
- T0* R=NULL;
- T0* _sp=NULL;
- /*IF*/if (((((T505*)C))->_type/*4*/)==((void*)(NULL))) {
- _sp=X776start_position(r855first(((T855*)(oBC505names))));
- r505error(_sp,((T0*)ms11_505));
- }
- /*FI*//*IF*/if (!(X291is_integer((((T505*)C))->_type/*4*/))) {
- r505error(X291start_position((((T505*)C))->_type/*4*/),((T0*)ms12_505));
- }
- /*FI*/{T398*n=malloc(sizeof(*n));
- *n=M398;
- r398make(n,r505n(),(((T505*)C))->_type/*4*/);
- R=(T0*)n;
- }
- return R;
- }
- T0* r505to_cst_att_character(T505* C,T0* a1){
- T0* R=NULL;
- /*IF*/if ((((((T505*)C))->_type/*4*/)!=((void*)(NULL)))&&(X291is_character((((T505*)C))->_type/*4*/))) {
- {T554*n=malloc(sizeof(*n));
- *n=M554;
- r554make(n,r505n(),(((T505*)C))->_type/*4*/,a1);
- R=(T0*)n;
- }
- }
- else {
- r505error(X776start_position(r855first(((T855*)(oBC505names)))),((T0*)ms5_505));
- }
- /*FI*/return R;
- }
- void r505error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- /*No:TMP_FEATURE.fatal_error*/
- void r505set_require_else(T505* C,T0* a1,T0* a2,T0* a3){
- /*IF*/if (((a2)!=((void*)(NULL)))||((a3)!=((void*)(NULL)))) {
- {T343*n=malloc(sizeof(*n));
- *n=M343;
- r343make(n,a1,a2,a3);
- C->_require_assertion=(T0*)n;
- }
- /*[IRF3.3set_require_else*/((((T343*)(((T343*)((((T505*)C))->_require_assertion/*16*/)))))->_is_require_else)=(1);
- /*]*/
- }
- /*FI*/}
- void r505initialize(T505* C){
- r855clear(((T855*)(oBC505names)));
- C->_arguments=NULL;
- C->_type=NULL;
- C->_header_comment=NULL;
- C->_obsolete_mark=NULL;
- C->_require_assertion=NULL;
- C->_local_vars=NULL;
- C->_routine_body=NULL;
- }
- /*No:TMP_FEATURE.set_obsolete_mark*/
- T0* r505to_cst_att_bit(T505* C,T0* a1){
- T0* R=NULL;
- /*IF*/if ((((((T505*)C))->_type/*4*/)!=((void*)(NULL)))&&(X291is_bit((((T505*)C))->_type/*4*/))) {
- {T588*n=malloc(sizeof(*n));
- *n=M588;
- r588make(n,r505n(),(((T505*)C))->_type/*4*/,a1);
- R=(T0*)n;
- }
- }
- else {
- r505error(X776start_position(r855first(((T855*)(oBC505names)))),((T0*)ms4_505));
- }
- /*FI*/return R;
- }
- T0* r505to_once_routine(T505* C){
- T0* R=NULL;
- /*IF*/if (((((T505*)C))->_type/*4*/)==((void*)(NULL))) {
- {T134*n=malloc(sizeof(*n));
- *n=M134;
- r134make(n,r505n(),(((T505*)C))->_arguments/*0*/,(((T505*)C))->_obsolete_mark/*12*/,(((T505*)C))->_header_comment/*8*/,(((T505*)C))->_require_assertion/*16*/,(((T505*)C))->_local_vars/*20*/,(((T505*)C))->_routine_body/*24*/);
- R=(T0*)n;
- }
- }
- else {
- {T844*n=malloc(sizeof(*n));
- *n=M844;
- r844make(n,r505n(),(((T505*)C))->_arguments/*0*/,(((T505*)C))->_type/*4*/,(((T505*)C))->_obsolete_mark/*12*/,(((T505*)C))->_header_comment/*8*/,(((T505*)C))->_require_assertion/*16*/,(((T505*)C))->_local_vars/*20*/,(((T505*)C))->_routine_body/*24*/);
- R=(T0*)n;
- }
- }
- /*FI*/return R;
- }
- /*No:RENAME_PAIR.new_name*/
- void r498make(T498* C,T0* a1,T0* a2){
- /*IF*/if ((X776to_string(a1))==((void*)(X776to_string(a2)))) {
- r683add_position(X776start_position(a1));
- r683add_position(X776start_position(a2));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_498);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- /*FI*/C->_old_name=a1;
- C->_new_name=a2;
- }
- /*No:RENAME_PAIR.fatal_error*/
- /*No:RENAME_PAIR.old_name*/
-
-