#include <backend_data_builder.g.hh>
Inheritance diagram for lestes::backend_v2::interface::backend_data_builder:

Public Member Functions | |
| ptr< ::lestes::std::vector< srp< builder_func_data > > > | functions_get () const |
| The method functions_get returns the value of the field backend_data_builder::functions. | |
| void | functions_set (const ptr< ::lestes::std::vector< srp< builder_func_data > > > &) |
| The method functions_set sets the field backend_data_builder::functions to the given value. | |
| ptr< builder_func_data > | current_function_body_get () const |
| The method current_function_body_get returns the value of the field backend_data_builder::current_function_body. | |
| void | current_function_body_set (const ptr< builder_func_data > &) |
| The method current_function_body_set sets the field backend_data_builder::current_function_body to the given value. | |
| ptr< lestes::std::vector< srp< ::lestes::backend_v2::interface::builder_func_data > > > | get_result () |
| Returns builder's result. | |
| void | add_pi (ptr< ::lestes::backend_v2::intercode::pi_pi > pi) |
| Adds a pseudoinstruction to the currently built function's body. | |
| void | add_pis (ptr< lestes::std::list< srp< ::lestes::backend_v2::intercode::pi_pi > > > pis) |
| Adds a list of pseudoinstructions to the currently built function's body. | |
| void | add_sp (ptr< ::lestes::backend_v2::intercode::pi_sp > sp) |
| Adds a sequencepoint to the currently built function's body. | |
| void | add_function_start (ptr< ::lestes::lang::cplus::sem::ss_function_declaration > function) |
| Initiates processing of another function's body. | |
| void | add_function_end () |
| Finishes processing of the current function's body. | |
| void | add_rail () |
| Finishes processing of particular sematic structure. | |
| virtual ptr< reflection_list > | reflection_get () const |
| for purposes of dumping | |
| virtual ptr< field_list_list > | field_values_get () const |
| for purposes of dumping | |
Static Public Member Functions | |
| static ptr< backend_data_builder > | singleton_instance_get () |
| The method singleton_instance_get returns the value of the field backend_data_builder::singleton_instance. | |
| static void | singleton_instance_set (const ptr< backend_data_builder > &) |
| The method singleton_instance_set sets the field backend_data_builder::singleton_instance to the given value. | |
| static ptr< backend_data_builder > | instance () |
| Returns instance of builder. | |
| static ptr< backend_data_builder > | create (ptr< ::lestes::std::vector< srp< builder_func_data > > > a__backend_data_builder__functions, ptr< builder_func_data > a__backend_data_builder__current_function_body) |
| First generated factory method for class backend_data_builder. | |
| static ptr< backend_data_builder > | create () |
| Second generated factory method for class backend_data_builder. | |
Protected Member Functions | |
| backend_data_builder (ptr< ::lestes::std::vector< srp< builder_func_data > > > a__backend_data_builder__functions, ptr< builder_func_data > a__backend_data_builder__current_function_body) | |
| Generated constructor for class backend_data_builder. | |
| virtual void | gc_mark () |
| Marking routine for class backend_data_builder. | |
Private Attributes | |
| srp< ::lestes::std::vector< srp< builder_func_data > > > | functions |
| Bodies of the functions composing single translation unit. | |
| srp< builder_func_data > | current_function_body |
Static Private Attributes | |
| static ptr< backend_data_builder > | singleton_instance = NULL |
| static ptr< reflection_list > | reflection = reflection |
Definition at line 69 of file backend_data_builder.g.hh.
| lestes::backend_v2::interface::backend_data_builder::backend_data_builder | ( | ptr< ::lestes::std::vector< srp< builder_func_data > > > | a__backend_data_builder__functions, | |
| ptr< builder_func_data > | a__backend_data_builder__current_function_body | |||
| ) | [protected] |
Generated constructor for class backend_data_builder.
Generated constructor for class backend_data_builder.
Definition at line 101 of file backend_data_builder.g.cc.
Referenced by create().
00103 : ::lestes::std::object(), functions(checked(a__backend_data_builder__functions)), current_function_body(a__backend_data_builder__current_function_body) 00104 {}
| ptr< backend_data_builder > lestes::backend_v2::interface::backend_data_builder::singleton_instance_get | ( | ) | [static] |
The method singleton_instance_get returns the value of the field backend_data_builder::singleton_instance.
Definition at line 27 of file backend_data_builder.g.cc.
References singleton_instance.
00028 { 00029 return singleton_instance; 00030 }
| void lestes::backend_v2::interface::backend_data_builder::singleton_instance_set | ( | const ptr< backend_data_builder > & | x | ) | [static] |
The method singleton_instance_set sets the field backend_data_builder::singleton_instance to the given value.
| [in] | x | The new value to set backend_data_builder::singleton_instance to. |
Definition at line 36 of file backend_data_builder.g.cc.
References singleton_instance.
Referenced by instance().
00037 { 00038 backend_data_builder::singleton_instance = x; 00039 }
| ptr<::lestes::std::vector< srp< builder_func_data > > > lestes::backend_v2::interface::backend_data_builder::functions_get | ( | ) | const |
The method functions_get returns the value of the field backend_data_builder::functions.
Definition at line 45 of file backend_data_builder.g.cc.
References functions.
00046 { 00047 return functions; 00048 }
| void lestes::backend_v2::interface::backend_data_builder::functions_set | ( | const ptr< ::lestes::std::vector< srp< builder_func_data > > > & | x | ) |
The method functions_set sets the field backend_data_builder::functions to the given value.
| [in] | x | The new value to set backend_data_builder::functions to. |
Definition at line 54 of file backend_data_builder.g.cc.
References functions.
00055 { 00056 backend_data_builder::functions = x; 00057 }
| ptr< builder_func_data > lestes::backend_v2::interface::backend_data_builder::current_function_body_get | ( | ) | const |
The method current_function_body_get returns the value of the field backend_data_builder::current_function_body.
Definition at line 63 of file backend_data_builder.g.cc.
References current_function_body.
00064 { 00065 return current_function_body; 00066 }
| void lestes::backend_v2::interface::backend_data_builder::current_function_body_set | ( | const ptr< builder_func_data > & | x | ) |
The method current_function_body_set sets the field backend_data_builder::current_function_body to the given value.
| [in] | x | The new value to set backend_data_builder::current_function_body to. |
Definition at line 72 of file backend_data_builder.g.cc.
References current_function_body.
00073 { 00074 backend_data_builder::current_function_body = x; 00075 }
| ptr< backend_data_builder > lestes::backend_v2::interface::backend_data_builder::instance | ( | ) | [static] |
Returns instance of builder.
Definition at line 33 of file backend_data_builder.cc.
References create(), singleton_instance, and singleton_instance_set().
00033 { 00034 if ( !singleton_instance ) { 00035 //An singleton instance has not been created yet. Create it! 00036 singleton_instance_set(backend_data_builder::create()); 00037 } 00038 //Return instance. 00039 return singleton_instance; 00040 }
| ptr< builder_func_data__vector > lestes::backend_v2::interface::backend_data_builder::get_result | ( | ) |
Returns builder's result.
Definition at line 46 of file backend_data_builder.cc.
References functions.
00046 { 00047 return functions; 00048 }
| void lestes::backend_v2::interface::backend_data_builder::add_pi | ( | ptr< ::lestes::backend_v2::intercode::pi_pi > | pi | ) |
Adds a pseudoinstruction to the currently built function's body.
| void lestes::backend_v2::interface::backend_data_builder::add_pis | ( | ptr< lestes::std::list< srp< ::lestes::backend_v2::intercode::pi_pi > > > | pis | ) |
Adds a list of pseudoinstructions to the currently built function's body.
| void lestes::backend_v2::interface::backend_data_builder::add_sp | ( | ptr< ::lestes::backend_v2::intercode::pi_sp > | sp | ) |
Adds a sequencepoint to the currently built function's body.
| void lestes::backend_v2::interface::backend_data_builder::add_function_start | ( | ptr< ::lestes::lang::cplus::sem::ss_function_declaration > | function | ) |
Initiates processing of another function's body.
| void lestes::backend_v2::interface::backend_data_builder::add_function_end | ( | ) |
Finishes processing of the current function's body.
Definition at line 160 of file backend_data_builder.cc.
References current_function_body, lestes::msg::eolog, functions, and lassert.
00160 { 00161 //Assure that we are inside an function body. 00162 lassert(current_function_body); 00163 00164 //Finish processing of the current function and insert it to the list of translation unit's functions. 00165 functions->push_back(current_function_body); 00166 00167 log << "function(" << current_function_body->function_decl_get()->uid_get() <<"): end\n" << eolog; 00168 00169 //Clear fields holding info about processed function. 00170 current_function_body = NULL; 00171 }
| void lestes::backend_v2::interface::backend_data_builder::add_rail | ( | ) |
Finishes processing of particular sematic structure.
For debuging purposes.
Definition at line 134 of file backend_data_builder.cc.
References current_function_body, and lestes::msg::eolog.
00134 { 00135 //for debug purposes only 00136 log << "function(" << current_function_body->function_decl_get()->uid_get() <<"): rail added\n" << eolog; 00137 }
| ptr< backend_data_builder > lestes::backend_v2::interface::backend_data_builder::create | ( | ptr< ::lestes::std::vector< srp< builder_func_data > > > | a__backend_data_builder__functions, | |
| ptr< builder_func_data > | a__backend_data_builder__current_function_body | |||
| ) | [static] |
First generated factory method for class backend_data_builder.
This factory method for class backend_data_builder takes values of all fields as arguments.
Definition at line 81 of file backend_data_builder.g.cc.
References backend_data_builder().
00083 { 00084 return ptr< backend_data_builder > ( new backend_data_builder(a__backend_data_builder__functions, 00085 a__backend_data_builder__current_function_body) ); 00086 }
| ptr< backend_data_builder > lestes::backend_v2::interface::backend_data_builder::create | ( | ) | [static] |
Second generated factory method for class backend_data_builder.
This factory method for class backend_data_builder uses initializers.
Definition at line 92 of file backend_data_builder.g.cc.
References backend_data_builder().
Referenced by instance().
00093 { 00094 return ptr< backend_data_builder > ( new backend_data_builder(::lestes::std::vector< srp< builder_func_data > > ::create(), NULL) ); 00095 }
| ptr< object::reflection_list > lestes::backend_v2::interface::backend_data_builder::reflection_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::std::object.
Definition at line 106 of file backend_data_builder.g.cc.
References lestes::std::list< T >::create(), reflection, and lestes::std::object::reflection_get().
00107 { 00108 if (!reflection) { 00109 typedef class_reflection::field_metadata md; 00110 typedef class_reflection::field_metadata_list mdlist; 00111 ptr<mdlist> mdl = mdlist::create(); 00112 mdl->push_back( md::create( "singleton_instance", "backend_data_builder" ) ); 00113 mdl->push_back( md::create( "functions", "vector< srp< builder_func_data > >" ) ); 00114 mdl->push_back( md::create( "current_function_body", "builder_func_data" ) ); 00115 reflection = reflection_list::create( ::lestes::std::object::reflection_get() ); 00116 reflection->push_back( class_reflection::create( "backend_data_builder", mdl ) ); 00117 } 00118 return reflection; 00119 }
| ptr< object::field_list_list > lestes::backend_v2::interface::backend_data_builder::field_values_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::std::object.
Definition at line 121 of file backend_data_builder.g.cc.
References lestes::std::list< T >::create(), and lestes::std::object::field_values_get().
00122 { 00123 ptr < field_list_list > result = ::lestes::std::object::field_values_get(); 00124 result->push_back( value_list::create() ); 00125 result->back()->push_back( this->singleton_instance ); 00126 result->push_back( value_list::create() ); 00127 result->back()->push_back( this->functions ); 00128 result->push_back( value_list::create() ); 00129 result->back()->push_back( this->current_function_body ); 00130 return result; 00131 }
| void lestes::backend_v2::interface::backend_data_builder::gc_mark | ( | void | ) | [protected, virtual] |
Marking routine for class backend_data_builder.
Marking routine is used for garbage collection.
Reimplemented from lestes::std::mem::keystone.
Definition at line 138 of file backend_data_builder.g.cc.
References lestes::std::mem::keystone::gc_mark().
00139 { 00140 ::lestes::std::object::gc_mark(); 00141 }
ptr< backend_data_builder > lestes::backend_v2::interface::backend_data_builder::singleton_instance = NULL [static, private] |
Definition at line 139 of file backend_data_builder.g.hh.
Referenced by instance(), singleton_instance_get(), and singleton_instance_set().
srp< ::lestes::std::vector< srp< builder_func_data > > > lestes::backend_v2::interface::backend_data_builder::functions [private] |
Bodies of the functions composing single translation unit.
Definition at line 141 of file backend_data_builder.g.hh.
Referenced by add_function_end(), functions_get(), functions_set(), and get_result().
srp< builder_func_data > lestes::backend_v2::interface::backend_data_builder::current_function_body [private] |
Definition at line 142 of file backend_data_builder.g.hh.
Referenced by add_function_end(), add_rail(), current_function_body_get(), and current_function_body_set().
ptr< object::reflection_list > lestes::backend_v2::interface::backend_data_builder::reflection = reflection [static, private] |
Reimplemented from lestes::std::object.
Definition at line 143 of file backend_data_builder.g.hh.
Referenced by reflection_get().
1.5.1-20070107