#include "pp.h" void Header::genReturnMethod( Vertex_selector* vset,const char* tmp_cppfname ) { DEM_TRACE("Header","void Header::genReturnMethod(Vertex_selector* vset,const char* tmp_cppfname)"); // prefix class wrappers int r = 1; this->isAFunc(r); if (r == 0) return; vset->genReturnMethod(this, tmp_cppfname); // suffix class wrappers } // Vertex = DemIdent // [ Param_decl_Commalist ] // [ DemString ] // [ DemString ] . void Vertex::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Vertex","void Vertex::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls if ( this->get_callVals() != NULL ) { // construction edge prefix wrappers this->get_callVals()->genReturnMethod( hdr , tmp_cppfname ); // construction edge prefix wrappers } // suffix class wrappers // assignments for carrying out } // Term : Normal | // CppTerm // *common* Vertex // TermRef // [ Term_Commalist ] // [ Param_decl_Commalist ] // [ DemString ] // [ DemString ] . void Term::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Term","void Term::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers ofstream tmp_cpptarget(tmp_cppfname,ios::app); if (!tmp_cpptarget) { cout << toolname << ": unable to open " << tmp_cppfname << endl; perror(tmp_cppfname); exit(-1); } hdr->printhdr(tmp_cpptarget,this->get_vertex()); tmp_cpptarget << "\n this->"; int r = 1; hdr->isAFunc(r); // generate signature hdr->printRetHdr(tmp_cpptarget); if (r) tmp_cpptarget << " return return_val;\n"; tmp_cpptarget << "}\n"; tmp_cpptarget.close(); // suffix class wrappers // assignments for carrying out } // CppTerm = "$" . void CppTerm::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("CppTerm","void CppTerm::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers ofstream tmp_cpptarget(tmp_cppfname,ios::app); if (!tmp_cpptarget) { cout << toolname << ": unable to open " << tmp_cppfname << endl; perror(tmp_cppfname); exit(-1); } hdr->printhdr(tmp_cpptarget,this->get_vertex()); tmp_cpptarget << "\n this->"; int r = 1; hdr->isAFunc(r); // generate signature hdr->printRetHdr(tmp_cpptarget); if (r) tmp_cpptarget << " return return_val;\n"; tmp_cpptarget << "}\n"; tmp_cpptarget.close(); // outgoing calls // inheritance edge prefix wrappers // construction edge prefix wrappers this->get_vertex()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers if ( this->get_actual_parameters() != NULL ) { // construction edge prefix wrappers this->get_actual_parameters()->genReturnMethod( hdr , tmp_cppfname ); // construction edge prefix wrappers } if ( this->get_callVals() != NULL ) { // construction edge prefix wrappers this->get_callVals()->genReturnMethod( hdr , tmp_cppfname ); // construction edge prefix wrappers } // inheritance edge prefix wrappers // suffix class wrappers // assignments for carrying out } // Normal = . void Normal::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Normal","void Normal::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers ofstream tmp_cpptarget(tmp_cppfname,ios::app); if (!tmp_cpptarget) { cout << toolname << ": unable to open " << tmp_cppfname << endl; perror(tmp_cppfname); exit(-1); } hdr->printhdr(tmp_cpptarget,this->get_vertex()); tmp_cpptarget << "\n this->"; int r = 1; hdr->isAFunc(r); // generate signature hdr->printRetHdr(tmp_cpptarget); if (r) tmp_cpptarget << " return return_val;\n"; tmp_cpptarget << "}\n"; tmp_cpptarget.close(); // outgoing calls // inheritance edge prefix wrappers // construction edge prefix wrappers this->get_vertex()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers if ( this->get_actual_parameters() != NULL ) { // construction edge prefix wrappers this->get_actual_parameters()->genReturnMethod( hdr , tmp_cppfname ); // construction edge prefix wrappers } if ( this->get_callVals() != NULL ) { // construction edge prefix wrappers this->get_callVals()->genReturnMethod( hdr , tmp_cppfname ); // construction edge prefix wrappers } // inheritance edge prefix wrappers // suffix class wrappers // assignments for carrying out } // Nonvoid_type_spec : Type_with_attribute | // Type_without_attribute // *common* . void Nonvoid_type_spec::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Nonvoid_type_spec","void Nonvoid_type_spec::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); #ifndef NOTRACE DemTrace demTraceEmptyMethod(__FILE__,__LINE__,"Nonvoid_type_spec",form(" at %s , *** PREMATURELY TERMINATED *** ", this->get_type())); #endif } // Type_without_attribute = Type . void Type_without_attribute::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Type_without_attribute","void Type_without_attribute::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls // construction edge prefix wrappers this->get_param_type()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // suffix class wrappers // assignments for carrying out } // Type_with_attribute = Param_attribute // Type . void Type_with_attribute::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Type_with_attribute","void Type_with_attribute::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls // construction edge prefix wrappers this->get_param_type()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // suffix class wrappers // assignments for carrying out } // Param_decl = Nonvoid_type_spec // Param_name // [ CppCode ] . void Param_decl::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Param_decl","void Param_decl::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls // construction edge prefix wrappers this->get_param_type_spec()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // suffix class wrappers // assignments for carrying out } // Type = [ Type_qualifier ] // Term // Ref_Ptr_List . void Type::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Type","void Type::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls // construction edge prefix wrappers this->get_type_name()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // suffix class wrappers // assignments for carrying out } // Propagation_directive_exp : Pde | // Merge_pde | // Join_pde | // Dir_name_with_exp // *common* . void Propagation_directive_exp::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Propagation_directive_exp","void Propagation_directive_exp::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); #ifndef NOTRACE DemTrace demTraceEmptyMethod(__FILE__,__LINE__,"Propagation_directive_exp",form(" at %s , *** PREMATURELY TERMINATED *** ", this->get_type())); #endif } // Pde = "*from*" // Vertex_selector // [ Path_constraint_exp ] // Segment_List . void Pde::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Pde","void Pde::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls // construction edge prefix wrappers this->get_source_port()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers if ( this->get_constraint() != NULL ) { // construction edge prefix wrappers this->get_constraint()->genReturnMethod( hdr , tmp_cppfname ); // construction edge prefix wrappers } // construction edge prefix wrappers this->get_via()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // suffix class wrappers // assignments for carrying out } // Merge_pde = "*merge*" // "(" // Propagation_directive_exp // "," // Propagation_directive_exp // ")" . void Merge_pde::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Merge_pde","void Merge_pde::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls // construction edge prefix wrappers this->get_pde1()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // construction edge prefix wrappers this->get_pde2()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // suffix class wrappers // assignments for carrying out } // Join_pde = "*join*" // "(" // Propagation_directive_exp // "," // Propagation_directive_exp // ")" . void Join_pde::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Join_pde","void Join_pde::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls // construction edge prefix wrappers this->get_pde1()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // construction edge prefix wrappers this->get_pde2()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // suffix class wrappers // assignments for carrying out } // Segment = Targets // [ Path_constraint_exp ] . void Segment::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Segment","void Segment::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls // construction edge prefix wrappers this->get_targets()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers if ( this->get_constraint() != NULL ) { // construction edge prefix wrappers this->get_constraint()->genReturnMethod( hdr , tmp_cppfname ); // construction edge prefix wrappers } // suffix class wrappers // assignments for carrying out } // Targets = To_or_via // Vertex_selector . void Targets::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Targets","void Targets::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls // construction edge prefix wrappers this->get_targets()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // suffix class wrappers // assignments for carrying out } // Path_constraint_exp : Require_through | // Require_bypassing // *common* . void Path_constraint_exp::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Path_constraint_exp","void Path_constraint_exp::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); #ifndef NOTRACE DemTrace demTraceEmptyMethod(__FILE__,__LINE__,"Path_constraint_exp",form(" at %s , *** PREMATURELY TERMINATED *** ", this->get_type())); #endif } // Require_through = Through_path_constraint // [ Bypassing_path_constraint ] . void Require_through::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Require_through","void Require_through::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls // construction edge prefix wrappers this->get_through()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers if ( this->get_bypassing() != NULL ) { // construction edge prefix wrappers this->get_bypassing()->genReturnMethod( hdr , tmp_cppfname ); // construction edge prefix wrappers } // suffix class wrappers // assignments for carrying out } // Require_bypassing = Bypassing_path_constraint // [ Through_path_constraint ] . void Require_bypassing::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Require_bypassing","void Require_bypassing::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls // construction edge prefix wrappers this->get_bypassing()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers if ( this->get_through() != NULL ) { // construction edge prefix wrappers this->get_through()->genReturnMethod( hdr , tmp_cppfname ); // construction edge prefix wrappers } // suffix class wrappers // assignments for carrying out } // Through_path_constraint = "*through*" // Meta_edge_Commalist . void Through_path_constraint::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Through_path_constraint","void Through_path_constraint::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls // construction edge prefix wrappers this->get_through()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // suffix class wrappers // assignments for carrying out } // Bypassing_path_constraint = "*bypassing*" // Meta_edge_Commalist . void Bypassing_path_constraint::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Bypassing_path_constraint","void Bypassing_path_constraint::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls // construction edge prefix wrappers this->get_bypassing()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // suffix class wrappers // assignments for carrying out } // Meta_edge : Meta_construction_edge | // Meta_alternation_edge | // Meta_repetition_edge | // Meta_inheritance_edge // *common* . void Meta_edge::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Meta_edge","void Meta_edge::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); #ifndef NOTRACE DemTrace demTraceEmptyMethod(__FILE__,__LINE__,"Meta_edge",form(" at %s , *** PREMATURELY TERMINATED *** ", this->get_type())); #endif } // Meta_construction_edge = "->" // Vertex_selector // "," // Label_selector // "," // Vertex_selector . void Meta_construction_edge::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Meta_construction_edge","void Meta_construction_edge::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls // construction edge prefix wrappers this->get_from()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // construction edge prefix wrappers this->get_to()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // suffix class wrappers // assignments for carrying out } // Meta_alternation_edge = "=>" // Vertex_selector // "," // Vertex_selector . void Meta_alternation_edge::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Meta_alternation_edge","void Meta_alternation_edge::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls // construction edge prefix wrappers this->get_from()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // construction edge prefix wrappers this->get_to()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // suffix class wrappers // assignments for carrying out } // Meta_inheritance_edge = ":>" // Vertex_selector // "," // Vertex_selector . void Meta_inheritance_edge::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Meta_inheritance_edge","void Meta_inheritance_edge::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls // construction edge prefix wrappers this->get_from()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // construction edge prefix wrappers this->get_to()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // suffix class wrappers // assignments for carrying out } // Meta_repetition_edge = "~>" // Vertex_selector // "," // Vertex_selector . void Meta_repetition_edge::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Meta_repetition_edge","void Meta_repetition_edge::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls // construction edge prefix wrappers this->get_from()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // construction edge prefix wrappers this->get_to()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // suffix class wrappers // assignments for carrying out } // Vertex_selector : Any_term | // Fixed_term | // Vertex_set // *common* . void Vertex_selector::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Vertex_selector","void Vertex_selector::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); #ifndef NOTRACE DemTrace demTraceEmptyMethod(__FILE__,__LINE__,"Vertex_selector",form(" at %s , *** PREMATURELY TERMINATED *** ", this->get_type())); #endif } // Fixed_term = Term . void Fixed_term::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Fixed_term","void Fixed_term::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls // construction edge prefix wrappers this->get_vertex()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // suffix class wrappers // assignments for carrying out } // Vertex_set : Vertex_set_sim | // Vertex_set_comp | // Class_set_inst | // Late_selected_terms // *common* . void Vertex_set::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Vertex_set","void Vertex_set::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); #ifndef NOTRACE DemTrace demTraceEmptyMethod(__FILE__,__LINE__,"Vertex_set",form(" at %s , *** PREMATURELY TERMINATED *** ", this->get_type())); #endif } // Vertex_set_sim = "{" // Fixed_term_Commalist // "}" . void Vertex_set_sim::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Vertex_set_sim","void Vertex_set_sim::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls // construction edge prefix wrappers this->get_terms()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // suffix class wrappers // assignments for carrying out } // Vertex_set_comp = Vertex_set_op // Vertex_set // Vertex_set // ")" . void Vertex_set_comp::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Vertex_set_comp","void Vertex_set_comp::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls // construction edge prefix wrappers this->get_arg1()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // construction edge prefix wrappers this->get_arg2()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // suffix class wrappers // assignments for carrying out } // Late_selected_terms = "(*class-set*" // Propagation_directive_exp // ")" . void Late_selected_terms::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Late_selected_terms","void Late_selected_terms::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls // construction edge prefix wrappers this->get_pde()->genReturnMethod( hdr , tmp_cppfname ); // construction edge suffix wrappers // suffix class wrappers // assignments for carrying out } // Term_Commalist ~ Term { Term }. . void Term_Commalist::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Term_Commalist","void Term_Commalist::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls Term_list_iterator next_Term(*this); Term* each_Term; while ( each_Term = next_Term() ) { // repetition edge prefix wrappers each_Term->genReturnMethod( hdr , tmp_cppfname ); // repetition edge suffix wrappers } // suffix class wrappers // assignments for carrying out } // Meta_edge_Commalist ~ Meta_edge { Meta_edge }. . void Meta_edge_Commalist::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Meta_edge_Commalist","void Meta_edge_Commalist::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls Meta_edge_list_iterator next_Meta_edge(*this); Meta_edge* each_Meta_edge; while ( each_Meta_edge = next_Meta_edge() ) { // repetition edge prefix wrappers each_Meta_edge->genReturnMethod( hdr , tmp_cppfname ); // repetition edge suffix wrappers } // suffix class wrappers // assignments for carrying out } // Param_decl_Commalist ~ Param_decl { Param_decl }. . void Param_decl_Commalist::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Param_decl_Commalist","void Param_decl_Commalist::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls Param_decl_list_iterator next_Param_decl(*this); Param_decl* each_Param_decl; while ( each_Param_decl = next_Param_decl() ) { // repetition edge prefix wrappers each_Param_decl->genReturnMethod( hdr , tmp_cppfname ); // repetition edge suffix wrappers } // suffix class wrappers // assignments for carrying out } // Segment_List ~ { Segment }. . void Segment_List::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Segment_List","void Segment_List::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls Segment_list_iterator next_Segment(*this); Segment* each_Segment; while ( each_Segment = next_Segment() ) { // repetition edge prefix wrappers each_Segment->genReturnMethod( hdr , tmp_cppfname ); // repetition edge suffix wrappers } // suffix class wrappers // assignments for carrying out } // Fixed_term_Commalist ~ Fixed_term { Fixed_term }. . void Fixed_term_Commalist::genReturnMethod( Header* hdr,const char* tmp_cppfname ) { DEM_TRACE("Fixed_term_Commalist","void Fixed_term_Commalist::genReturnMethod(Header* hdr,const char* tmp_cppfname)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls Fixed_term_list_iterator next_Fixed_term(*this); Fixed_term* each_Fixed_term; while ( each_Fixed_term = next_Fixed_term() ) { // repetition edge prefix wrappers each_Fixed_term->genReturnMethod( hdr , tmp_cppfname ); // repetition edge suffix wrappers } // suffix class wrappers // assignments for carrying out } void Header::printRetHdr( ofstream& tmp_cpptarget ) { DEM_TRACE("Header","void Header::printRetHdr(ofstream& tmp_cpptarget)"); // prefix class wrappers this->get_signature()->printRetHdr(tmp_cpptarget); // suffix class wrappers } void Signature::printRetHdr( ofstream& tmp_cpptarget ) { DEM_TRACE("Signature","void Signature::printRetHdr(ofstream& tmp_cpptarget)"); // prefix class wrappers ///////////////////////// // print signature ///////////////////////// tmp_cpptarget << this->get_name()->get_op_name()->get_val(); if (this->get_parameter_decls()) { tmp_cpptarget << "_( return_val, "; this->get_parameter_decls()->printArgName(tmp_cpptarget); } else tmp_cpptarget << "_( return_val"; tmp_cpptarget << " );\n"; // suffix class wrappers }