#include <ss_type.g.hh>
Inheritance diagram for lestes::lang::cplus::sem::ss_pseudoreference:

Public Member Functions | |
| virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > | accept_or_ics_base (ptr< or_ics_base > v) |
| virtual or_cv_enum | accept_or_ics_base_cv (ptr< or_ics_base_cv > v) |
| virtual ptr< ::lestes::md::types::tm_data_type_base > | accept_ss_type2tm_type_gen_base (ptr< ss_type2tm_type_gen_base > v) |
| virtual void | accept_ss_type_visitor (ptr< ss_type_visitor > v) |
| 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_type > | instance (ptr< ss_type > type) |
| get the instance representing reference to the argument type | |
| static ptr< ss_pseudoreference > | create (ptr< ss_type > a__ss_referential__what) |
| First generated factory method for class ss_pseudoreference. | |
Protected Member Functions | |
| ss_pseudoreference (ptr< ss_type > a__ss_referential__what) | |
| Generated constructor for class ss_pseudoreference. | |
| virtual void | gc_mark () |
| Marking routine for class ss_pseudoreference. | |
Static Private Attributes | |
| static ptr< ::lestes::std::map< srp< ss_type >, srp< ss_type > > > | the_instances = ::lestes::std::map< srp< ss_type >, srp< ss_type > > ::create() |
| holder for the class instances | |
| static ptr< reflection_list > | reflection = reflection |
Represents usual variable.
Definition at line 457 of file ss_type.g.hh.
| lestes::lang::cplus::sem::ss_pseudoreference::ss_pseudoreference | ( | ptr< ss_type > | a__ss_referential__what | ) | [protected] |
Generated constructor for class ss_pseudoreference.
Generated constructor for class ss_pseudoreference.
Definition at line 560 of file ss_type.g.cc.
Referenced by create().
00561 : ss_referential(a__ss_referential__what) 00562 {}
get the instance representing reference to the argument type
Returns type representing pseudoreference to a given type.
| x | The type to make pseudoreference to. |
Definition at line 263 of file ss_type.cc.
References lestes::intercode::intercode::create(), lestes::lang::cplus::sem::ss_type2info::create(), lassert, lestes::lang::cplus::sem::ss_type2info::SS_PSEUDOREFERENCE, lestes::lang::cplus::sem::ss_type2info::SS_REFERENCE, and the_instances.
Referenced by lestes::lang::cplus::sem::or_builtin_operator_declaration_creator::add_ref_ptr(), lestes::lang::cplus::sem::or_builtin_operator_declaration_creator::add_ref_ptr_const(), lestes::lang::cplus::sem::or_builtin_operator_declaration_creator::add_vq_ptr_ref_vq_ptr_ref(), lestes::lang::cplus::sem::or_builtin_operator_declaration_creator::add_vq_ptr_ref_vq_ptr_ref_int(), lestes::lang::cplus::sem::or_builtin_operator_declaration_creator::add_vq_ptr_ref_vq_ptr_ref_ptr(), lestes::lang::cplus::sem::or_builtin_operator_declaration_creator::add_vq_ref_vq_ref(), lestes::lang::cplus::sem::or_builtin_operator_declaration_creator::add_vq_ref_vq_ref_nonref(), lestes::lang::cplus::sem::or_builtin_operator_declaration_creator::add_vq_ref_vq_ref_nonref_REF(), lestes::lang::cplus::sem::or_builtin_operator_expression_creator::construct_op_crement(), and lestes::lang::cplus::sem::or_or_functional_decl::operator()().
00264 { 00265 the_instances->dump_barrier_set(true); // XXX: needed just once :-I 00266 00267 lassert(x); 00268 00269 ptr<ss_type2info> ssti = ss_type2info::create(); 00270 00271 switch (ssti->process(x)) { 00272 case ss_type2info::SS_REFERENCE: 00273 case ss_type2info::SS_PSEUDOREFERENCE: 00274 return x; 00275 default: 00276 break; 00277 } 00278 00279 srp<ss_type> &result = (*the_instances)[x]; 00280 00281 if (result) 00282 return result; 00283 00284 return result = ss_pseudoreference::create(x); 00285 }
| ptr<::lestes::std::list< srp< or_ics_functional > > > lestes::lang::cplus::sem::ss_pseudoreference::accept_or_ics_base | ( | ptr< or_ics_base > | v | ) | [virtual] |
| or_cv_enum lestes::lang::cplus::sem::ss_pseudoreference::accept_or_ics_base_cv | ( | ptr< or_ics_base_cv > | v | ) | [virtual] |
| ptr<::lestes::md::types::tm_data_type_base > lestes::lang::cplus::sem::ss_pseudoreference::accept_ss_type2tm_type_gen_base | ( | ptr< ss_type2tm_type_gen_base > | v | ) | [virtual] |
| void lestes::lang::cplus::sem::ss_pseudoreference::accept_ss_type_visitor | ( | ptr< ss_type_visitor > | v | ) | [virtual] |
| ptr< ss_pseudoreference > lestes::lang::cplus::sem::ss_pseudoreference::create | ( | ptr< ss_type > | a__ss_referential__what | ) | [static] |
First generated factory method for class ss_pseudoreference.
This factory method for class ss_pseudoreference takes values of all fields as arguments.
Definition at line 551 of file ss_type.g.cc.
References ss_pseudoreference().
00552 { 00553 return ptr< ss_pseudoreference > ( new ss_pseudoreference(a__ss_referential__what) ); 00554 }
| ptr< object::reflection_list > lestes::lang::cplus::sem::ss_pseudoreference::reflection_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::lang::cplus::sem::ss_referential.
Definition at line 564 of file ss_type.g.cc.
References lestes::std::list< T >::create(), reflection, and lestes::lang::cplus::sem::ss_referential::reflection_get().
00565 { 00566 if (!reflection) { 00567 typedef class_reflection::field_metadata md; 00568 typedef class_reflection::field_metadata_list mdlist; 00569 ptr<mdlist> mdl = mdlist::create(); 00570 mdl->push_back( md::create( "the_instances", "map< srp< ss_type >, srp< ss_type > >" ) ); 00571 reflection = reflection_list::create( ss_referential::reflection_get() ); 00572 reflection->push_back( class_reflection::create( "ss_pseudoreference", mdl ) ); 00573 } 00574 return reflection; 00575 }
| ptr< object::field_list_list > lestes::lang::cplus::sem::ss_pseudoreference::field_values_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::lang::cplus::sem::ss_referential.
Definition at line 577 of file ss_type.g.cc.
References lestes::std::list< T >::create(), and lestes::lang::cplus::sem::ss_referential::field_values_get().
00578 { 00579 ptr < field_list_list > result = ss_referential::field_values_get(); 00580 result->push_back( value_list::create() ); 00581 result->back()->push_back( this->the_instances ); 00582 return result; 00583 }
| void lestes::lang::cplus::sem::ss_pseudoreference::gc_mark | ( | void | ) | [protected, virtual] |
Marking routine for class ss_pseudoreference.
Marking routine is used for garbage collection.
Reimplemented from lestes::lang::cplus::sem::ss_referential.
Definition at line 590 of file ss_type.g.cc.
References lestes::lang::cplus::sem::ss_referential::gc_mark().
00591 { 00592 ss_referential::gc_mark(); 00593 }
ptr<::lestes::std::map< srp< ss_type >, srp< ss_type > > > lestes::lang::cplus::sem::ss_pseudoreference::the_instances = ::lestes::std::map< srp< ss_type >, srp< ss_type > > ::create() [static, private] |
holder for the class instances
Definition at line 488 of file ss_type.g.hh.
Referenced by instance().
ptr< object::reflection_list > lestes::lang::cplus::sem::ss_pseudoreference::reflection = reflection [static, private] |
Reimplemented from lestes::lang::cplus::sem::ss_referential.
Definition at line 489 of file ss_type.g.hh.
Referenced by reflection_get().
1.5.1-20070107