#include <body_preprocessor.g.hh>
Inheritance diagram for lestes::backend_v2::workers::body_preprocessor:

Public Member Functions | |
| void | process () |
| Preprocesses a function body. | |
| ptr< ::lestes::backend_v2::structs::func_data > | get_result () |
| Returns preprocessed function body. | |
| 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< body_preprocessor > | create (ptr< ::lestes::backend_v2::structs::func_data > a__worker_base__data) |
| First generated factory method for class body_preprocessor. | |
Protected Member Functions | |
| body_preprocessor (ptr< ::lestes::backend_v2::structs::func_data > a__worker_base__data) | |
| Generated constructor for class body_preprocessor. | |
| virtual void | gc_mark () |
| Marking routine for class body_preprocessor. | |
Static Private Attributes | |
| static ptr< reflection_list > | reflection = reflection |
Definition at line 32 of file body_preprocessor.g.hh.
| lestes::backend_v2::workers::body_preprocessor::body_preprocessor | ( | ptr< ::lestes::backend_v2::structs::func_data > | a__worker_base__data | ) | [protected] |
Generated constructor for class body_preprocessor.
Generated constructor for class body_preprocessor.
Definition at line 36 of file body_preprocessor.g.cc.
Referenced by create().
00037 : worker_base(a__worker_base__data) 00038 {}
| void lestes::backend_v2::workers::body_preprocessor::process | ( | ) | [virtual] |
Preprocesses a function body.
For now, it just registers all function calls in symbol_register.
Implements lestes::backend_v2::workers::worker_base.
Definition at line 23 of file body_preprocessor.cc.
References lestes::backend_v2::workers::worker_base::data_get().
00023 { 00024 00025 ptr<ge_pi_list__type> body = data_get()->ge_body_get(); 00026 00027 for(ge_pi_list__type::iterator it = body->begin(); it!=body->end(); ++it) { 00028 00029 ptr<ge_pi> ge = *it; 00030 00031 if ( ge->kind_get()==ge_pi::CALL ) { 00032 symbol_register::instance()->register_symbol(ge.dncast<ge_call>()->function_decl_get()); 00033 } 00034 } 00035 }
| ptr< func_data > lestes::backend_v2::workers::body_preprocessor::get_result | ( | ) | [virtual] |
Returns preprocessed function body.
Implements lestes::backend_v2::workers::worker_base.
Definition at line 41 of file body_preprocessor.cc.
References lestes::backend_v2::workers::worker_base::data_get().
00041 { 00042 return data_get(); 00043 }
| ptr< body_preprocessor > lestes::backend_v2::workers::body_preprocessor::create | ( | ptr< ::lestes::backend_v2::structs::func_data > | a__worker_base__data | ) | [static] |
First generated factory method for class body_preprocessor.
This factory method for class body_preprocessor takes values of all fields as arguments.
Definition at line 27 of file body_preprocessor.g.cc.
References body_preprocessor().
00028 { 00029 return ptr< body_preprocessor > ( new body_preprocessor(a__worker_base__data) ); 00030 }
| ptr< object::reflection_list > lestes::backend_v2::workers::body_preprocessor::reflection_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::backend_v2::workers::worker_base.
Definition at line 40 of file body_preprocessor.g.cc.
References lestes::std::list< T >::create(), reflection, and lestes::backend_v2::workers::worker_base::reflection_get().
00041 { 00042 if (!reflection) { 00043 typedef class_reflection::field_metadata md; 00044 typedef class_reflection::field_metadata_list mdlist; 00045 ptr<mdlist> mdl = mdlist::create(); 00046 reflection = reflection_list::create( worker_base::reflection_get() ); 00047 reflection->push_back( class_reflection::create( "body_preprocessor", mdl ) ); 00048 } 00049 return reflection; 00050 }
| ptr< object::field_list_list > lestes::backend_v2::workers::body_preprocessor::field_values_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::backend_v2::workers::worker_base.
Definition at line 52 of file body_preprocessor.g.cc.
References lestes::backend_v2::workers::worker_base::field_values_get().
00053 { 00054 ptr < field_list_list > result = worker_base::field_values_get(); 00055 return result; 00056 }
| void lestes::backend_v2::workers::body_preprocessor::gc_mark | ( | void | ) | [protected, virtual] |
Marking routine for class body_preprocessor.
Marking routine is used for garbage collection.
Reimplemented from lestes::backend_v2::workers::worker_base.
Definition at line 63 of file body_preprocessor.g.cc.
References lestes::backend_v2::workers::worker_base::gc_mark().
00064 { 00065 worker_base::gc_mark(); 00066 }
ptr< object::reflection_list > lestes::backend_v2::workers::body_preprocessor::reflection = reflection [static, private] |
Reimplemented from lestes::backend_v2::workers::worker_base.
Definition at line 59 of file body_preprocessor.g.hh.
Referenced by reflection_get().
1.5.1-20070107