lestes::lang::cplus::sem::sa_expression_converter Class Reference

Visitor to transform AS expressions to SS and convert them to given type. More...

#include <sa_statements.g.hh>

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

lestes::lang::cplus::sem::abstract_sa_expression_converter lestes::lang::cplus::sem::as_expr_visitor lestes::std::visitor_base lestes::std::object lestes::std::mem::keystone List of all members.

Public Member Functions

ptr< ss_spalpha_get () const
 The method alpha_get returns the value of the field sa_expression_converter::alpha.
void alpha_set (const ptr< ss_sp > &)
 The method alpha_set sets the field sa_expression_converter::alpha to the given value.
ptr< ss_spbeta_get () const
 The method beta_get returns the value of the field sa_expression_converter::beta.
void beta_set (const ptr< ss_sp > &)
 The method beta_set sets the field sa_expression_converter::beta to the given value.
ptr< ::lestes::std::list<
srp< ss_sp > > > 
sps_get () const
 The method sps_get returns the value of the field sa_expression_converter::sps.
void sps_set (const ptr< ::lestes::std::list< srp< ss_sp > > > &)
 The method sps_set sets the field sa_expression_converter::sps to the given value.
ptr< ss_typetype_get () const
 The method type_get returns the value of the field sa_expression_converter::type.
void type_set (const ptr< ss_type > &)
 The method type_set sets the field sa_expression_converter::type to the given value.
ptr< ss_expressionresult_get () const
 The method result_get returns the value of the field sa_expression_converter::result.
void result_set (const ptr< ss_expression > &)
 The method result_set sets the field sa_expression_converter::result to the given value.
virtual void visit_as_empty_expression (ptr< ::lestes::lang::cplus::sem::as_empty_expression >)
virtual void convert (ptr< ::lestes::lang::cplus::sem::as_expression >)
ptr< ss_expressionprocess (const ptr< ::lestes::lang::cplus::sem::as_expression > &)
 "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< sa_expression_convertercreate (ptr< ss_sp > a__sa_expression_converter__alpha, ptr< ss_sp > a__sa_expression_converter__beta, ptr< ::lestes::std::list< srp< ss_sp > > > a__sa_expression_converter__sps, ptr< ss_type > a__sa_expression_converter__type, ptr< ss_expression > a__sa_expression_converter__result)
 First generated factory method for class sa_expression_converter.
static ptr< sa_expression_convertercreate (ptr< ss_sp > a__sa_expression_converter__alpha, ptr< ss_sp > a__sa_expression_converter__beta, ptr< ::lestes::std::list< srp< ss_sp > > > a__sa_expression_converter__sps)
 Second generated factory method for class sa_expression_converter.

Protected Member Functions

 sa_expression_converter (ptr< ss_sp > a__sa_expression_converter__alpha, ptr< ss_sp > a__sa_expression_converter__beta, ptr< ::lestes::std::list< srp< ss_sp > > > a__sa_expression_converter__sps, ptr< ss_type > a__sa_expression_converter__type, ptr< ss_expression > a__sa_expression_converter__result)
 Generated constructor for class sa_expression_converter.
virtual void gc_mark ()
 Marking routine for class sa_expression_converter.

Private Attributes

srp< ss_spalpha
srp< ss_spbeta
srp< ::lestes::std::list<
srp< ss_sp > > > 
sps
srp< ss_typetype
srp< ss_expressionresult

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Visitor to transform AS expressions to SS and convert them to given type.

Definition at line 385 of file sa_statements.g.hh.


Constructor & Destructor Documentation

lestes::lang::cplus::sem::sa_expression_converter::sa_expression_converter ( ptr< ss_sp a__sa_expression_converter__alpha,
ptr< ss_sp a__sa_expression_converter__beta,
ptr< ::lestes::std::list< srp< ss_sp > > >  a__sa_expression_converter__sps,
ptr< ss_type a__sa_expression_converter__type,
ptr< ss_expression a__sa_expression_converter__result 
) [protected]

Generated constructor for class sa_expression_converter.

Generated constructor for class sa_expression_converter.

Author:
lsg

Definition at line 687 of file sa_statements.g.cc.

Referenced by create().

00692         : abstract_sa_expression_converter(), alpha(checked(a__sa_expression_converter__alpha)), beta(checked(a__sa_expression_converter__beta)), sps(checked(a__sa_expression_converter__sps)), type(a__sa_expression_converter__type), result(a__sa_expression_converter__result)
00693 {}


Member Function Documentation

ptr< ss_sp > lestes::lang::cplus::sem::sa_expression_converter::alpha_get (  )  const

The method alpha_get returns the value of the field sa_expression_converter::alpha.

Returns:
The value of sa_expression_converter::alpha.
Author:
lsg

Definition at line 569 of file sa_statements.g.cc.

References alpha.

00570 {
00571         return alpha;
00572 }

void lestes::lang::cplus::sem::sa_expression_converter::alpha_set ( const ptr< ss_sp > &  x  ) 

The method alpha_set sets the field sa_expression_converter::alpha to the given value.

Parameters:
[in] x The new value to set sa_expression_converter::alpha to.
Author:
lsg

Definition at line 578 of file sa_statements.g.cc.

References alpha.

00579 {
00580         sa_expression_converter::alpha = x;
00581 }

ptr< ss_sp > lestes::lang::cplus::sem::sa_expression_converter::beta_get (  )  const

The method beta_get returns the value of the field sa_expression_converter::beta.

Returns:
The value of sa_expression_converter::beta.
Author:
lsg

Definition at line 587 of file sa_statements.g.cc.

References beta.

00588 {
00589         return beta;
00590 }

void lestes::lang::cplus::sem::sa_expression_converter::beta_set ( const ptr< ss_sp > &  x  ) 

The method beta_set sets the field sa_expression_converter::beta to the given value.

Parameters:
[in] x The new value to set sa_expression_converter::beta to.
Author:
lsg

Definition at line 596 of file sa_statements.g.cc.

References beta.

00597 {
00598         sa_expression_converter::beta = x;
00599 }

ptr<::lestes::std::list< srp< ss_sp > > > lestes::lang::cplus::sem::sa_expression_converter::sps_get (  )  const

The method sps_get returns the value of the field sa_expression_converter::sps.

Returns:
The value of sa_expression_converter::sps.
Author:
lsg

Definition at line 605 of file sa_statements.g.cc.

References sps.

00606 {
00607         return sps;
00608 }

void lestes::lang::cplus::sem::sa_expression_converter::sps_set ( const ptr< ::lestes::std::list< srp< ss_sp > > > &  x  ) 

The method sps_set sets the field sa_expression_converter::sps to the given value.

Parameters:
[in] x The new value to set sa_expression_converter::sps to.
Author:
lsg

Definition at line 614 of file sa_statements.g.cc.

References sps.

00615 {
00616         sa_expression_converter::sps = x;
00617 }

ptr< ss_type > lestes::lang::cplus::sem::sa_expression_converter::type_get ( void   )  const

The method type_get returns the value of the field sa_expression_converter::type.

Returns:
The value of sa_expression_converter::type.
Author:
lsg

Definition at line 623 of file sa_statements.g.cc.

References type.

00624 {
00625         return type;
00626 }

void lestes::lang::cplus::sem::sa_expression_converter::type_set ( const ptr< ss_type > &  x  ) 

The method type_set sets the field sa_expression_converter::type to the given value.

Parameters:
[in] x The new value to set sa_expression_converter::type to.
Author:
lsg

Definition at line 632 of file sa_statements.g.cc.

References type.

00633 {
00634         sa_expression_converter::type = x;
00635 }

ptr< ss_expression > lestes::lang::cplus::sem::sa_expression_converter::result_get (  )  const

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

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

Definition at line 641 of file sa_statements.g.cc.

References result.

Referenced by process().

00642 {
00643         return result;
00644 }

void lestes::lang::cplus::sem::sa_expression_converter::result_set ( const ptr< ss_expression > &  x  ) 

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

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

Definition at line 650 of file sa_statements.g.cc.

References result.

00651 {
00652         sa_expression_converter::result = x;
00653 }

virtual void lestes::lang::cplus::sem::sa_expression_converter::visit_as_empty_expression ( ptr< ::lestes::lang::cplus::sem::as_empty_expression  )  [virtual]

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

virtual void lestes::lang::cplus::sem::sa_expression_converter::convert ( ptr< ::lestes::lang::cplus::sem::as_expression  )  [virtual]

Implements lestes::lang::cplus::sem::abstract_sa_expression_converter.

ptr< sa_expression_converter > lestes::lang::cplus::sem::sa_expression_converter::create ( ptr< ss_sp a__sa_expression_converter__alpha,
ptr< ss_sp a__sa_expression_converter__beta,
ptr< ::lestes::std::list< srp< ss_sp > > >  a__sa_expression_converter__sps,
ptr< ss_type a__sa_expression_converter__type,
ptr< ss_expression a__sa_expression_converter__result 
) [static]

First generated factory method for class sa_expression_converter.

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

Author:
lsg

Definition at line 659 of file sa_statements.g.cc.

References sa_expression_converter().

00664 {
00665         return ptr< sa_expression_converter > ( new sa_expression_converter(a__sa_expression_converter__alpha,
00666                 a__sa_expression_converter__beta,
00667                 a__sa_expression_converter__sps,
00668                 a__sa_expression_converter__type,
00669                 a__sa_expression_converter__result) );
00670 }

ptr< sa_expression_converter > lestes::lang::cplus::sem::sa_expression_converter::create ( ptr< ss_sp a__sa_expression_converter__alpha,
ptr< ss_sp a__sa_expression_converter__beta,
ptr< ::lestes::std::list< srp< ss_sp > > >  a__sa_expression_converter__sps 
) [static]

Second generated factory method for class sa_expression_converter.

This factory method for class sa_expression_converter uses initializers.

Author:
lsg

Definition at line 676 of file sa_statements.g.cc.

References sa_expression_converter().

00679 {
00680         return ptr< sa_expression_converter > ( new sa_expression_converter(a__sa_expression_converter__alpha, a__sa_expression_converter__beta, a__sa_expression_converter__sps, NULL, NULL) );
00681 }

ptr< ss_expression > lestes::lang::cplus::sem::sa_expression_converter::process ( const ptr< ::lestes::lang::cplus::sem::as_expression > &   ) 

"visit-return" method

Definition at line 728 of file sa_statements.g.cc.

References lassert2, and result_get().

00729 {
00730         lassert2( o, "Cannot visit NULL object." );
00731         o->accept_as_expr_visitor( ptr< as_expr_visitor >(this) );
00732         return result_get();
00733 }

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

for purposes of dumping

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

Definition at line 695 of file sa_statements.g.cc.

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

00696 {
00697         if (!reflection) {
00698                 typedef class_reflection::field_metadata md;
00699                 typedef class_reflection::field_metadata_list mdlist;
00700                 ptr<mdlist> mdl = mdlist::create();
00701                 mdl->push_back( md::create( "alpha", "ss_sp" ) );
00702                 mdl->push_back( md::create( "beta", "ss_sp" ) );
00703                 mdl->push_back( md::create( "sps", "list&lt; srp&lt; ss_sp &gt; &gt;" ) );
00704                 mdl->push_back( md::create( "type", "ss_type" ) );
00705                 mdl->push_back( md::create( "result", "ss_expression" ) );
00706                 reflection = reflection_list::create( abstract_sa_expression_converter::reflection_get() );
00707                 reflection->push_back( class_reflection::create( "sa_expression_converter", mdl ) );
00708         }
00709         return reflection;
00710 }

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

for purposes of dumping

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

Definition at line 712 of file sa_statements.g.cc.

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

00713 {
00714         ptr < field_list_list > result = abstract_sa_expression_converter::field_values_get();
00715         result->push_back( value_list::create() );
00716         result->back()->push_back( this->alpha );
00717         result->push_back( value_list::create() );
00718         result->back()->push_back( this->beta );
00719         result->push_back( value_list::create() );
00720         result->back()->push_back( this->sps );
00721         result->push_back( value_list::create() );
00722         result->back()->push_back( this->type );
00723         result->push_back( value_list::create() );
00724         result->back()->push_back( this->result );
00725         return result;
00726 }

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

Marking routine for class sa_expression_converter.

Marking routine is used for garbage collection.

Author:
lsg

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

Definition at line 740 of file sa_statements.g.cc.

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


Member Data Documentation

srp< ss_sp > lestes::lang::cplus::sem::sa_expression_converter::alpha [private]

Definition at line 458 of file sa_statements.g.hh.

Referenced by alpha_get(), and alpha_set().

srp< ss_sp > lestes::lang::cplus::sem::sa_expression_converter::beta [private]

Definition at line 459 of file sa_statements.g.hh.

Referenced by beta_get(), and beta_set().

srp< ::lestes::std::list< srp< ss_sp > > > lestes::lang::cplus::sem::sa_expression_converter::sps [private]

Definition at line 460 of file sa_statements.g.hh.

Referenced by sps_get(), and sps_set().

srp< ss_type > lestes::lang::cplus::sem::sa_expression_converter::type [private]

Definition at line 461 of file sa_statements.g.hh.

Referenced by type_get(), and type_set().

srp< ss_expression > lestes::lang::cplus::sem::sa_expression_converter::result [private]

Definition at line 462 of file sa_statements.g.hh.

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

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

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

Definition at line 463 of file sa_statements.g.hh.

Referenced by reflection_get().


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