#include <ss_ss2pi_base.g.hh>
Inheritance diagram for lestes::lang::cplus::sem::ss_destructor_tables:

Public Member Functions | |
| virtual ptr< ss_destructor_table > | open_compound_stmt (ptr< ss_compound_stmt >) override |
| Returns DT corresponding to newly entered compound statement, where to add destructors. | |
| virtual ptr< ss_destructor_table > | close_compound_stmt () override |
| Returns DT corresponding to parent compound statement, where to continue adding destructors. | |
| virtual void | destructor_add (ptr< ss_type >, ptr< ::lestes::backend_v2::intercode::pi_mem_factory >) override |
| Find and record destructor for ss type, which destructs appropriate memory placeholder. | |
| virtual void | destructor_add_to_destr (ptr< ss_destructor_table >, ptr< ss_type >, ptr< ::lestes::backend_v2::intercode::pi_mem_factory >) override |
| Find and record destructor for ss type, which destructs appropriate memory placeholder. | |
| virtual void | back_roll_from_current_compound_stmt () override |
| Normal end of compound statement. | |
| virtual void | back_roll_to_compound_stmt (ptr< ss_compound_stmt >, bool, ptr< ::lestes::backend_v2::intercode::pi_sp > psp, ptr< ::lestes::backend_v2::intercode::pi_sp > nsp) override |
| Abnormal end of compound statement;psp,nsp shall be taken from current statement(e.g. break, continue, goto). | |
| virtual void | back_roll_from_function (ptr< ::lestes::backend_v2::intercode::pi_sp > psp, ptr< ::lestes::backend_v2::intercode::pi_sp > nsp) override |
| Abnormal end of compound statement; psp,nsp shall be taken from current return statement. | |
| 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< ss_destructor_tables > | singleton_instance_get () |
| The method singleton_instance_get returns the value of the field ss_destructor_tables::singleton_instance. | |
| static void | singleton_instance_set (const ptr< ss_destructor_tables > &) |
| The method singleton_instance_set sets the field ss_destructor_tables::singleton_instance to the given value. | |
| static ptr< ss_destructor_tables > | instance () |
Protected Member Functions | |
| ss_destructor_tables () | |
| Generated constructor for class ss_destructor_tables. | |
| virtual void | gc_mark () |
| Marking routine for class ss_destructor_tables. | |
Static Private Attributes | |
| static ptr< ss_destructor_tables > | singleton_instance = NULL |
| static ptr< reflection_list > | reflection = reflection |
Definition at line 726 of file ss_ss2pi_base.g.hh.
| lestes::lang::cplus::sem::ss_destructor_tables::ss_destructor_tables | ( | ) | [protected] |
Generated constructor for class ss_destructor_tables.
Generated constructor for class ss_destructor_tables.
Definition at line 853 of file ss_ss2pi_base.g.cc.
00854 : object() 00855 {}
| ptr< ss_destructor_tables > lestes::lang::cplus::sem::ss_destructor_tables::singleton_instance_get | ( | ) | [static] |
The method singleton_instance_get returns the value of the field ss_destructor_tables::singleton_instance.
Definition at line 835 of file ss_ss2pi_base.g.cc.
References singleton_instance.
Referenced by instance().
00836 { 00837 return singleton_instance; 00838 }
| void lestes::lang::cplus::sem::ss_destructor_tables::singleton_instance_set | ( | const ptr< ss_destructor_tables > & | x | ) | [static] |
The method singleton_instance_set sets the field ss_destructor_tables::singleton_instance to the given value.
| [in] | x | The new value to set ss_destructor_tables::singleton_instance to. |
Definition at line 844 of file ss_ss2pi_base.g.cc.
References singleton_instance.
Referenced by instance().
00845 { 00846 ss_destructor_tables::singleton_instance = x; 00847 }
| ptr< ss_destructor_tables > lestes::lang::cplus::sem::ss_destructor_tables::instance | ( | void | ) | [static] |
Basic interface to get handle for destructor tables of the current translatioon unit. Internal fields of destructor tables are static. They shall be initialized by open_compound_stmt method.
Definition at line 1730 of file ss_ss2pi_base.cc.
References lestes::lang::cplus::sem::ss_destructor_tables_stack::create(), singleton_instance_get(), and singleton_instance_set().
Referenced by lestes::lang::cplus::sem::ss_expr2pi::visit_ss_funcall().
01730 { 01731 if ( !singleton_instance_get() ) { 01732 singleton_instance_set(ss_destructor_tables_stack::create()); 01733 } 01734 return singleton_instance_get(); 01735 }
| virtual ptr< ss_destructor_table > lestes::lang::cplus::sem::ss_destructor_tables::open_compound_stmt | ( | ptr< ss_compound_stmt > | ) | [pure virtual] |
Returns DT corresponding to newly entered compound statement, where to add destructors.
Implemented in lestes::lang::cplus::sem::ss_destructor_tables_stack.
| virtual ptr< ss_destructor_table > lestes::lang::cplus::sem::ss_destructor_tables::close_compound_stmt | ( | ) | [pure virtual] |
Returns DT corresponding to parent compound statement, where to continue adding destructors.
Implemented in lestes::lang::cplus::sem::ss_destructor_tables_stack.
| virtual void lestes::lang::cplus::sem::ss_destructor_tables::destructor_add | ( | ptr< ss_type > | , | |
| ptr< ::lestes::backend_v2::intercode::pi_mem_factory > | ||||
| ) | [pure virtual] |
Find and record destructor for ss type, which destructs appropriate memory placeholder.
Implemented in lestes::lang::cplus::sem::ss_destructor_tables_stack.
| virtual void lestes::lang::cplus::sem::ss_destructor_tables::destructor_add_to_destr | ( | ptr< ss_destructor_table > | , | |
| ptr< ss_type > | , | |||
| ptr< ::lestes::backend_v2::intercode::pi_mem_factory > | ||||
| ) | [pure virtual] |
Find and record destructor for ss type, which destructs appropriate memory placeholder.
Implemented in lestes::lang::cplus::sem::ss_destructor_tables_stack.
| virtual void lestes::lang::cplus::sem::ss_destructor_tables::back_roll_from_current_compound_stmt | ( | ) | [pure virtual] |
Normal end of compound statement.
Implemented in lestes::lang::cplus::sem::ss_destructor_tables_stack.
| virtual void lestes::lang::cplus::sem::ss_destructor_tables::back_roll_to_compound_stmt | ( | ptr< ss_compound_stmt > | , | |
| bool | , | |||
| ptr< ::lestes::backend_v2::intercode::pi_sp > | psp, | |||
| ptr< ::lestes::backend_v2::intercode::pi_sp > | nsp | |||
| ) | [pure virtual] |
Abnormal end of compound statement;psp,nsp shall be taken from current statement(e.g. break, continue, goto).
Implemented in lestes::lang::cplus::sem::ss_destructor_tables_stack.
| virtual void lestes::lang::cplus::sem::ss_destructor_tables::back_roll_from_function | ( | ptr< ::lestes::backend_v2::intercode::pi_sp > | psp, | |
| ptr< ::lestes::backend_v2::intercode::pi_sp > | nsp | |||
| ) | [pure virtual] |
Abnormal end of compound statement; psp,nsp shall be taken from current return statement.
Implemented in lestes::lang::cplus::sem::ss_destructor_tables_stack.
| ptr< object::reflection_list > lestes::lang::cplus::sem::ss_destructor_tables::reflection_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::std::object.
Reimplemented in lestes::lang::cplus::sem::ss_destructor_tables_stack.
Definition at line 857 of file ss_ss2pi_base.g.cc.
References lestes::std::list< T >::create(), reflection, and lestes::std::object::reflection_get().
Referenced by lestes::lang::cplus::sem::ss_destructor_tables_stack::reflection_get().
00858 { 00859 if (!reflection) { 00860 typedef class_reflection::field_metadata md; 00861 typedef class_reflection::field_metadata_list mdlist; 00862 ptr<mdlist> mdl = mdlist::create(); 00863 mdl->push_back( md::create( "singleton_instance", "ss_destructor_tables" ) ); 00864 reflection = reflection_list::create( ::lestes::std::object::reflection_get() ); 00865 reflection->push_back( class_reflection::create( "ss_destructor_tables", mdl ) ); 00866 } 00867 return reflection; 00868 }
| ptr< object::field_list_list > lestes::lang::cplus::sem::ss_destructor_tables::field_values_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::std::object.
Reimplemented in lestes::lang::cplus::sem::ss_destructor_tables_stack.
Definition at line 870 of file ss_ss2pi_base.g.cc.
References lestes::std::list< T >::create(), and lestes::std::object::field_values_get().
Referenced by lestes::lang::cplus::sem::ss_destructor_tables_stack::field_values_get().
00871 { 00872 ptr < field_list_list > result = ::lestes::std::object::field_values_get(); 00873 result->push_back( value_list::create() ); 00874 result->back()->push_back( this->singleton_instance ); 00875 return result; 00876 }
| void lestes::lang::cplus::sem::ss_destructor_tables::gc_mark | ( | void | ) | [protected, virtual] |
Marking routine for class ss_destructor_tables.
Marking routine is used for garbage collection.
Reimplemented from lestes::std::mem::keystone.
Reimplemented in lestes::lang::cplus::sem::ss_destructor_tables_stack.
Definition at line 883 of file ss_ss2pi_base.g.cc.
References lestes::std::mem::keystone::gc_mark().
Referenced by lestes::lang::cplus::sem::ss_destructor_tables_stack::gc_mark().
00884 { 00885 ::lestes::std::object::gc_mark(); 00886 }
ptr< ss_destructor_tables > lestes::lang::cplus::sem::ss_destructor_tables::singleton_instance = NULL [static, private] |
Definition at line 773 of file ss_ss2pi_base.g.hh.
Referenced by singleton_instance_get(), and singleton_instance_set().
ptr< object::reflection_list > lestes::lang::cplus::sem::ss_destructor_tables::reflection = reflection [static, private] |
Reimplemented from lestes::std::object.
Reimplemented in lestes::lang::cplus::sem::ss_destructor_tables_stack.
Definition at line 774 of file ss_ss2pi_base.g.hh.
Referenced by reflection_get().
1.5.1-20070107