backend.g.cc

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \brief Main backend class.
00006         \author jaz
00007 */
00008 
00009 
00010 #include <lestes/std/list.hh>
00011 #include <lestes/std/pair.hh>
00012 #include <lestes/std/reflect.hh>
00013 
00014 #include <lestes/backend_v2/backend.g.hh>
00015 
00016 package(lestes);
00017 package(backend_v2);
00018 
00019 
00020 
00021 end_package(backend_v2);
00022 package(std);
00023 specialize_objectize_nodump_reference(::std::ostream&);
00024 end_package(std);
00025 package(backend_v2);
00026         
00027 
00028 
00029 // ------------- Class backend follows. -------------
00030 
00031 /*!
00032    \returns The value of backend::output.
00033    \author lsg
00034  */
00035 ::std::ostream& backend::output_get() const
00036 {
00037         return output;
00038 }
00039 
00040 /*!
00041    \returns The value of backend::optimization_conditional_jumps.
00042    \author lsg
00043  */
00044 bool backend::optimization_conditional_jumps_get() const
00045 {
00046         return optimization_conditional_jumps;
00047 }
00048 
00049 /*!
00050    \param[in] x The new value to set backend::optimization_conditional_jumps to.
00051    \author lsg
00052  */
00053 void backend::optimization_conditional_jumps_set(bool x)
00054 {
00055         backend::optimization_conditional_jumps = x;
00056 }
00057 
00058 /*!
00059    \returns The value of backend::optimization_immediate_inlining.
00060    \author lsg
00061  */
00062 bool backend::optimization_immediate_inlining_get() const
00063 {
00064         return optimization_immediate_inlining;
00065 }
00066 
00067 /*!
00068    \param[in] x The new value to set backend::optimization_immediate_inlining to.
00069    \author lsg
00070  */
00071 void backend::optimization_immediate_inlining_set(bool x)
00072 {
00073         backend::optimization_immediate_inlining = x;
00074 }
00075 
00076 /*!
00077    \returns The value of backend::optimization_memory_inlining.
00078    \author lsg
00079  */
00080 bool backend::optimization_memory_inlining_get() const
00081 {
00082         return optimization_memory_inlining;
00083 }
00084 
00085 /*!
00086    \param[in] x The new value to set backend::optimization_memory_inlining to.
00087    \author lsg
00088  */
00089 void backend::optimization_memory_inlining_set(bool x)
00090 {
00091         backend::optimization_memory_inlining = x;
00092 }
00093 
00094 /*!
00095    \returns The value of backend::optimization_deadcode_elimination.
00096    \author lsg
00097  */
00098 bool backend::optimization_deadcode_elimination_get() const
00099 {
00100         return optimization_deadcode_elimination;
00101 }
00102 
00103 /*!
00104    \param[in] x The new value to set backend::optimization_deadcode_elimination to.
00105    \author lsg
00106  */
00107 void backend::optimization_deadcode_elimination_set(bool x)
00108 {
00109         backend::optimization_deadcode_elimination = x;
00110 }
00111 
00112 /*!
00113    \returns The value of backend::optimization_register_allocation.
00114    \author lsg
00115  */
00116 bool backend::optimization_register_allocation_get() const
00117 {
00118         return optimization_register_allocation;
00119 }
00120 
00121 /*!
00122    \param[in] x The new value to set backend::optimization_register_allocation to.
00123    \author lsg
00124  */
00125 void backend::optimization_register_allocation_set(bool x)
00126 {
00127         backend::optimization_register_allocation = x;
00128 }
00129 
00130 /*!
00131    \returns The value of backend::optimization_uselesscode_elimination.
00132    \author lsg
00133  */
00134 bool backend::optimization_uselesscode_elimination_get() const
00135 {
00136         return optimization_uselesscode_elimination;
00137 }
00138 
00139 /*!
00140    \param[in] x The new value to set backend::optimization_uselesscode_elimination to.
00141    \author lsg
00142  */
00143 void backend::optimization_uselesscode_elimination_set(bool x)
00144 {
00145         backend::optimization_uselesscode_elimination = x;
00146 }
00147 
00148 /*!
00149    \returns The value of backend::optimization_code_scheduling.
00150    \author lsg
00151  */
00152 bool backend::optimization_code_scheduling_get() const
00153 {
00154         return optimization_code_scheduling;
00155 }
00156 
00157 /*!
00158    \param[in] x The new value to set backend::optimization_code_scheduling to.
00159    \author lsg
00160  */
00161 void backend::optimization_code_scheduling_set(bool x)
00162 {
00163         backend::optimization_code_scheduling = x;
00164 }
00165 
00166 /*!
00167    This factory method for class backend takes values of all fields as arguments.
00168    \author lsg
00169  */
00170 ptr< backend > backend::create(::std::ostream& a__backend__output,
00171                 bool a__backend__optimization_conditional_jumps,
00172                 bool a__backend__optimization_immediate_inlining,
00173                 bool a__backend__optimization_memory_inlining,
00174                 bool a__backend__optimization_deadcode_elimination,
00175                 bool a__backend__optimization_register_allocation,
00176                 bool a__backend__optimization_uselesscode_elimination,
00177                 bool a__backend__optimization_code_scheduling)
00178 {
00179         return ptr< backend > ( new backend(a__backend__output,
00180                 a__backend__optimization_conditional_jumps,
00181                 a__backend__optimization_immediate_inlining,
00182                 a__backend__optimization_memory_inlining,
00183                 a__backend__optimization_deadcode_elimination,
00184                 a__backend__optimization_register_allocation,
00185                 a__backend__optimization_uselesscode_elimination,
00186                 a__backend__optimization_code_scheduling) );
00187 }
00188 
00189 /*!
00190    This factory method for class backend uses initializers.
00191    \author lsg
00192  */
00193 ptr< backend > backend::create(::std::ostream& a__backend__output)
00194 {
00195         return ptr< backend > ( new backend(a__backend__output, true, true, true, true, true, true, true) );
00196 }
00197 
00198 /*!
00199    Generated constructor for class backend.
00200    \author lsg
00201  */
00202 backend::backend (::std::ostream& a__backend__output,
00203                 bool a__backend__optimization_conditional_jumps,
00204                 bool a__backend__optimization_immediate_inlining,
00205                 bool a__backend__optimization_memory_inlining,
00206                 bool a__backend__optimization_deadcode_elimination,
00207                 bool a__backend__optimization_register_allocation,
00208                 bool a__backend__optimization_uselesscode_elimination,
00209                 bool a__backend__optimization_code_scheduling)
00210         : ::lestes::std::object(), output(a__backend__output), optimization_conditional_jumps(a__backend__optimization_conditional_jumps), optimization_immediate_inlining(a__backend__optimization_immediate_inlining), optimization_memory_inlining(a__backend__optimization_memory_inlining), optimization_deadcode_elimination(a__backend__optimization_deadcode_elimination), optimization_register_allocation(a__backend__optimization_register_allocation), optimization_uselesscode_elimination(a__backend__optimization_uselesscode_elimination), optimization_code_scheduling(a__backend__optimization_code_scheduling)
00211 {}
00212 
00213 ptr< object::reflection_list > backend::reflection_get() const
00214 {
00215         if (!reflection) {
00216                 typedef class_reflection::field_metadata md;
00217                 typedef class_reflection::field_metadata_list mdlist;
00218                 ptr<mdlist> mdl = mdlist::create();
00219                 mdl->push_back( md::create( "output", "::std::ostream&" ) );
00220                 mdl->push_back( md::create( "optimization_conditional_jumps", "bool" ) );
00221                 mdl->push_back( md::create( "optimization_immediate_inlining", "bool" ) );
00222                 mdl->push_back( md::create( "optimization_memory_inlining", "bool" ) );
00223                 mdl->push_back( md::create( "optimization_deadcode_elimination", "bool" ) );
00224                 mdl->push_back( md::create( "optimization_register_allocation", "bool" ) );
00225                 mdl->push_back( md::create( "optimization_uselesscode_elimination", "bool" ) );
00226                 mdl->push_back( md::create( "optimization_code_scheduling", "bool" ) );
00227                 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00228                 reflection->push_back( class_reflection::create( "backend", mdl ) );
00229         }
00230         return reflection;
00231 }
00232 
00233 ptr< object::field_list_list > backend::field_values_get() const
00234 {
00235         ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00236         result->push_back( value_list::create() );
00237         result->back()->push_back( objectize< ::std::ostream& > ::create( this->output ) );
00238         result->push_back( value_list::create() );
00239         result->back()->push_back( objectize< bool > ::create( this->optimization_conditional_jumps ) );
00240         result->push_back( value_list::create() );
00241         result->back()->push_back( objectize< bool > ::create( this->optimization_immediate_inlining ) );
00242         result->push_back( value_list::create() );
00243         result->back()->push_back( objectize< bool > ::create( this->optimization_memory_inlining ) );
00244         result->push_back( value_list::create() );
00245         result->back()->push_back( objectize< bool > ::create( this->optimization_deadcode_elimination ) );
00246         result->push_back( value_list::create() );
00247         result->back()->push_back( objectize< bool > ::create( this->optimization_register_allocation ) );
00248         result->push_back( value_list::create() );
00249         result->back()->push_back( objectize< bool > ::create( this->optimization_uselesscode_elimination ) );
00250         result->push_back( value_list::create() );
00251         result->back()->push_back( objectize< bool > ::create( this->optimization_code_scheduling ) );
00252         return result;
00253 }
00254 
00255 
00256 /*!
00257    Marking routine is used for garbage collection.
00258    \author lsg
00259  */
00260 void backend::gc_mark()
00261 {
00262 	::lestes::std::object::gc_mark();
00263 }
00264 
00265 // End of class backend.
00266 
00267 
00268 // static data members follow 
00269 ptr<object::reflection_list> backend::reflection = reflection;
00270 
00271 end_package(backend_v2);
00272 end_package(lestes);
00273 

Generated on Mon Feb 12 18:22:31 2007 for lestes by doxygen 1.5.1-20070107