lestes::lang::cplus::sem::ss_decl2mem Class Reference

Visitor responsible for getting correct pi_mem_factory for a given declaration. More...

#include <ss_ss2pi_base.g.hh>

Inheritance diagram for lestes::lang::cplus::sem::ss_decl2mem:

lestes::lang::cplus::sem::ss_decl2pi_default lestes::lang::cplus::sem::ss_declaration_visitor lestes::std::visitor_base lestes::std::object lestes::std::mem::keystone List of all members.

Public Member Functions

ptr< ss_stmt2picaller_get () const
 The method caller_get returns the value of the field ss_decl2mem::caller.
void caller_set (const ptr< ss_stmt2pi > &)
 The method caller_set sets the field ss_decl2mem::caller to the given value.
ptr< ::lestes::backend_v2::intercode::pi_mem_factoryresult_get () const
 The method result_get returns the value of the field ss_decl2mem::result.
void result_set (const ptr< ::lestes::backend_v2::intercode::pi_mem_factory > &)
 The method result_set sets the field ss_decl2mem::result to the given value.
virtual void default_action (ptr< ::lestes::lang::cplus::sem::ss_declaration >)
virtual void visit_ss_parameter_declaration (ptr< ::lestes::lang::cplus::sem::ss_parameter_declaration >)
virtual void visit_ss_fake_declaration (ptr< ::lestes::lang::cplus::sem::ss_fake_declaration >)
virtual void visit_ss_object_declaration (ptr< ::lestes::lang::cplus::sem::ss_object_declaration >)
ptr< ::lestes::backend_v2::intercode::pi_mem_factoryget_real_decl_mem (const ptr< ::lestes::lang::cplus::sem::ss_declaration > &)
 "visit-return" method
virtual ptr< reflection_listreflection_get () const
 for purposes of dumping
virtual ptr< field_list_listfield_values_get () const
 for purposes of dumping

Static Public Member Functions

static ptr< ss_decl2memcreate (ptr< ss_stmt2pi > a__ss_decl2mem__caller, ptr< ::lestes::backend_v2::intercode::pi_mem_factory > a__ss_decl2mem__result)
 First generated factory method for class ss_decl2mem.
static ptr< ss_decl2memcreate (ptr< ss_stmt2pi > a__ss_decl2mem__caller)
 Second generated factory method for class ss_decl2mem.

Protected Member Functions

 ss_decl2mem (ptr< ss_stmt2pi > a__ss_decl2mem__caller, ptr< ::lestes::backend_v2::intercode::pi_mem_factory > a__ss_decl2mem__result)
 Generated constructor for class ss_decl2mem.
virtual void gc_mark ()
 Marking routine for class ss_decl2mem.

Private Attributes

srp< ss_stmt2picaller
 Statement visitor caller - we need to know current function and variable maps.
srp< ::lestes::backend_v2::intercode::pi_mem_factoryresult
 Returned pi_mem_factory for a given declaration.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Visitor responsible for getting correct pi_mem_factory for a given declaration.

Used for lookup for declarations, which are not declared through ordinary ss_decl_stmt, such as fake declarations, function parameter declarations.

Definition at line 269 of file ss_ss2pi_base.g.hh.


Constructor & Destructor Documentation

lestes::lang::cplus::sem::ss_decl2mem::ss_decl2mem ( ptr< ss_stmt2pi a__ss_decl2mem__caller,
ptr< ::lestes::backend_v2::intercode::pi_mem_factory a__ss_decl2mem__result 
) [protected]

Generated constructor for class ss_decl2mem.

Generated constructor for class ss_decl2mem.

Author:
lsg

Definition at line 297 of file ss_ss2pi_base.g.cc.

Referenced by create().

00299         : ss_decl2pi_default(), caller(checked(a__ss_decl2mem__caller)), result(a__ss_decl2mem__result)
00300 {}


Member Function Documentation

ptr< ss_stmt2pi > lestes::lang::cplus::sem::ss_decl2mem::caller_get (  )  const

The method caller_get returns the value of the field ss_decl2mem::caller.

Returns:
The value of ss_decl2mem::caller.
Author:
lsg

Definition at line 241 of file ss_ss2pi_base.g.cc.

References caller.

00242 {
00243         return caller;
00244 }

void lestes::lang::cplus::sem::ss_decl2mem::caller_set ( const ptr< ss_stmt2pi > &  x  ) 

The method caller_set sets the field ss_decl2mem::caller to the given value.

Parameters:
[in] x The new value to set ss_decl2mem::caller to.
Author:
lsg

Definition at line 250 of file ss_ss2pi_base.g.cc.

References caller.

00251 {
00252         ss_decl2mem::caller = x;
00253 }

ptr<::lestes::backend_v2::intercode::pi_mem_factory > lestes::lang::cplus::sem::ss_decl2mem::result_get (  )  const

The method result_get returns the value of the field ss_decl2mem::result.

Returns:
The value of ss_decl2mem::result.
Author:
lsg

Definition at line 259 of file ss_ss2pi_base.g.cc.

References result.

Referenced by get_real_decl_mem().

00260 {
00261         return result;
00262 }

void lestes::lang::cplus::sem::ss_decl2mem::result_set ( const ptr< ::lestes::backend_v2::intercode::pi_mem_factory > &  x  ) 

The method result_set sets the field ss_decl2mem::result to the given value.

Parameters:
[in] x The new value to set ss_decl2mem::result to.
Author:
lsg

Definition at line 268 of file ss_ss2pi_base.g.cc.

References result.

00269 {
00270         ss_decl2mem::result = x;
00271 }

virtual void lestes::lang::cplus::sem::ss_decl2mem::default_action ( ptr< ::lestes::lang::cplus::sem::ss_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_decl2pi_default.

virtual void lestes::lang::cplus::sem::ss_decl2mem::visit_ss_parameter_declaration ( ptr< ::lestes::lang::cplus::sem::ss_parameter_declaration  )  [virtual]

Reimplemented from lestes::lang::cplus::sem::ss_decl2pi_default.

virtual void lestes::lang::cplus::sem::ss_decl2mem::visit_ss_fake_declaration ( ptr< ::lestes::lang::cplus::sem::ss_fake_declaration  )  [virtual]

Reimplemented from lestes::lang::cplus::sem::ss_decl2pi_default.

virtual void lestes::lang::cplus::sem::ss_decl2mem::visit_ss_object_declaration ( ptr< ::lestes::lang::cplus::sem::ss_object_declaration  )  [virtual]

Reimplemented from lestes::lang::cplus::sem::ss_decl2pi_default.

ptr< ss_decl2mem > lestes::lang::cplus::sem::ss_decl2mem::create ( ptr< ss_stmt2pi a__ss_decl2mem__caller,
ptr< ::lestes::backend_v2::intercode::pi_mem_factory a__ss_decl2mem__result 
) [static]

First generated factory method for class ss_decl2mem.

This factory method for class ss_decl2mem takes values of all fields as arguments.

Author:
lsg

Definition at line 277 of file ss_ss2pi_base.g.cc.

References ss_decl2mem().

Referenced by lestes::lang::cplus::sem::ss_stmt2pi::mem_variable_get().

00279 {
00280         return ptr< ss_decl2mem > ( new ss_decl2mem(a__ss_decl2mem__caller,
00281                 a__ss_decl2mem__result) );
00282 }

ptr< ss_decl2mem > lestes::lang::cplus::sem::ss_decl2mem::create ( ptr< ss_stmt2pi a__ss_decl2mem__caller  )  [static]

Second generated factory method for class ss_decl2mem.

This factory method for class ss_decl2mem uses initializers.

Author:
lsg

Definition at line 288 of file ss_ss2pi_base.g.cc.

References ss_decl2mem().

00289 {
00290         return ptr< ss_decl2mem > ( new ss_decl2mem(a__ss_decl2mem__caller, NULL) );
00291 }

ptr<::lestes::backend_v2::intercode::pi_mem_factory > lestes::lang::cplus::sem::ss_decl2mem::get_real_decl_mem ( const ptr< ::lestes::lang::cplus::sem::ss_declaration > &   ) 

"visit-return" method

Definition at line 326 of file ss_ss2pi_base.g.cc.

References lassert2, and result_get().

00327 {
00328         lassert2( o, "Cannot visit NULL object." );
00329         o->accept_ss_declaration_visitor( ptr< ss_declaration_visitor >(this) );
00330         return result_get();
00331 }

ptr< object::reflection_list > lestes::lang::cplus::sem::ss_decl2mem::reflection_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::lang::cplus::sem::ss_decl2pi_default.

Definition at line 302 of file ss_ss2pi_base.g.cc.

References lestes::std::list< T >::create(), reflection, and lestes::lang::cplus::sem::ss_decl2pi_default::reflection_get().

00303 {
00304         if (!reflection) {
00305                 typedef class_reflection::field_metadata md;
00306                 typedef class_reflection::field_metadata_list mdlist;
00307                 ptr<mdlist> mdl = mdlist::create();
00308                 mdl->push_back( md::create( "caller", "ss_stmt2pi" ) );
00309                 mdl->push_back( md::create( "result", "pi_mem_factory" ) );
00310                 reflection = reflection_list::create( ss_decl2pi_default::reflection_get() );
00311                 reflection->push_back( class_reflection::create( "ss_decl2mem", mdl ) );
00312         }
00313         return reflection;
00314 }

ptr< object::field_list_list > lestes::lang::cplus::sem::ss_decl2mem::field_values_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::lang::cplus::sem::ss_decl2pi_default.

Definition at line 316 of file ss_ss2pi_base.g.cc.

References lestes::std::list< T >::create(), lestes::lang::cplus::sem::ss_decl2pi_default::field_values_get(), and result.

00317 {
00318         ptr < field_list_list > result = ss_decl2pi_default::field_values_get();
00319         result->push_back( value_list::create() );
00320         result->back()->push_back( this->caller );
00321         result->push_back( value_list::create() );
00322         result->back()->push_back( this->result );
00323         return result;
00324 }

void lestes::lang::cplus::sem::ss_decl2mem::gc_mark ( void   )  [protected, virtual]

Marking routine for class ss_decl2mem.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::lang::cplus::sem::ss_decl2pi_default.

Definition at line 338 of file ss_ss2pi_base.g.cc.

References lestes::lang::cplus::sem::ss_decl2pi_default::gc_mark().

00339 {
00340         ss_decl2pi_default::gc_mark();
00341 }


Member Data Documentation

srp< ss_stmt2pi > lestes::lang::cplus::sem::ss_decl2mem::caller [private]

Statement visitor caller - we need to know current function and variable maps.

Definition at line 321 of file ss_ss2pi_base.g.hh.

Referenced by caller_get(), and caller_set().

srp< ::lestes::backend_v2::intercode::pi_mem_factory > lestes::lang::cplus::sem::ss_decl2mem::result [private]

Returned pi_mem_factory for a given declaration.

Definition at line 323 of file ss_ss2pi_base.g.hh.

Referenced by field_values_get(), result_get(), and result_set().

ptr< object::reflection_list > lestes::lang::cplus::sem::ss_decl2mem::reflection = reflection [static, private]

Reimplemented from lestes::lang::cplus::sem::ss_decl2pi_default.

Definition at line 324 of file ss_ss2pi_base.g.hh.

Referenced by reflection_get().


The documentation for this class was generated from the following files:
Generated on Mon Feb 12 18:25:25 2007 for lestes by doxygen 1.5.1-20070107