lestes::lang::cplus::sem::sa_deconstruct_spse Class Reference

#include <sa_deconstruct_spse.g.hh>

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

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< or_or_functionalresult_get () const
 The method result_get returns the value of the field sa_deconstruct_spse::result.
void result_set (const ptr< or_or_functional > &)
 The method result_set sets the field sa_deconstruct_spse::result to the given value.
template<typename AS, typename OP>
void construct_bin_op (ptr< AS > as)
template<typename AS, typename OP>
void construct_unary_op_nocreate (ptr< AS > as)
template<typename AS, typename OP>
void construct_unary_op_create (ptr< AS > as)
virtual void visit_as_empty_expression (ptr< ::lestes::lang::cplus::sem::as_empty_expression >)
virtual void visit_as_expression_qmark (ptr< ::lestes::lang::cplus::sem::as_expression_qmark >)
virtual void visit_as_expression_comma (ptr< ::lestes::lang::cplus::sem::as_expression_comma >)
virtual void visit_as_expression_equal (ptr< ::lestes::lang::cplus::sem::as_expression_equal >)
virtual void visit_as_expression_plus_equal (ptr< ::lestes::lang::cplus::sem::as_expression_plus_equal >)
virtual void visit_as_expression_minus_equal (ptr< ::lestes::lang::cplus::sem::as_expression_minus_equal >)
virtual void visit_as_expression_star_equal (ptr< ::lestes::lang::cplus::sem::as_expression_star_equal >)
virtual void visit_as_expression_slash_equal (ptr< ::lestes::lang::cplus::sem::as_expression_slash_equal >)
virtual void visit_as_expression_percent_equal (ptr< ::lestes::lang::cplus::sem::as_expression_percent_equal >)
virtual void visit_as_expression_hat_equal (ptr< ::lestes::lang::cplus::sem::as_expression_hat_equal >)
virtual void visit_as_expression_amp_equal (ptr< ::lestes::lang::cplus::sem::as_expression_amp_equal >)
virtual void visit_as_expression_vbar_equal (ptr< ::lestes::lang::cplus::sem::as_expression_vbar_equal >)
virtual void visit_as_expression_less_less_equal (ptr< ::lestes::lang::cplus::sem::as_expression_less_less_equal >)
virtual void visit_as_expression_greater_greater_equal (ptr< ::lestes::lang::cplus::sem::as_expression_greater_greater_equal >)
virtual void visit_as_expression_equal_equal (ptr< ::lestes::lang::cplus::sem::as_expression_equal_equal >)
virtual void visit_as_expression_exclam_equal (ptr< ::lestes::lang::cplus::sem::as_expression_exclam_equal >)
virtual void visit_as_expression_less_equal (ptr< ::lestes::lang::cplus::sem::as_expression_less_equal >)
virtual void visit_as_expression_greater_equal (ptr< ::lestes::lang::cplus::sem::as_expression_greater_equal >)
virtual void visit_as_expression_less (ptr< ::lestes::lang::cplus::sem::as_expression_less >)
virtual void visit_as_expression_greater (ptr< ::lestes::lang::cplus::sem::as_expression_greater >)
virtual void visit_as_expression_vbar_vbar (ptr< ::lestes::lang::cplus::sem::as_expression_vbar_vbar >)
virtual void visit_as_expression_amp_amp (ptr< ::lestes::lang::cplus::sem::as_expression_amp_amp >)
virtual void visit_as_expression_vbar (ptr< ::lestes::lang::cplus::sem::as_expression_vbar >)
virtual void visit_as_expression_amp (ptr< ::lestes::lang::cplus::sem::as_expression_amp >)
virtual void visit_as_expression_hat (ptr< ::lestes::lang::cplus::sem::as_expression_hat >)
virtual void visit_as_expression_less_less (ptr< ::lestes::lang::cplus::sem::as_expression_less_less >)
virtual void visit_as_expression_greater_greater (ptr< ::lestes::lang::cplus::sem::as_expression_greater_greater >)
virtual void visit_as_expression_plus (ptr< ::lestes::lang::cplus::sem::as_expression_plus >)
virtual void visit_as_expression_minus (ptr< ::lestes::lang::cplus::sem::as_expression_minus >)
virtual void visit_as_expression_star (ptr< ::lestes::lang::cplus::sem::as_expression_star >)
virtual void visit_as_expression_slash (ptr< ::lestes::lang::cplus::sem::as_expression_slash >)
virtual void visit_as_expression_percent (ptr< ::lestes::lang::cplus::sem::as_expression_percent >)
virtual void visit_as_expression_dot_star (ptr< ::lestes::lang::cplus::sem::as_expression_dot_star >)
virtual void visit_as_expression_minus_greater_star (ptr< ::lestes::lang::cplus::sem::as_expression_minus_greater_star >)
virtual void visit_as_expression_brackets (ptr< ::lestes::lang::cplus::sem::as_expression_brackets >)
virtual void visit_as_expression_plus_plus_pre (ptr< ::lestes::lang::cplus::sem::as_expression_plus_plus_pre >)
virtual void visit_as_expression_plus_plus_post (ptr< ::lestes::lang::cplus::sem::as_expression_plus_plus_post >)
virtual void visit_as_expression_minus_minus_pre (ptr< ::lestes::lang::cplus::sem::as_expression_minus_minus_pre >)
virtual void visit_as_expression_minus_minus_post (ptr< ::lestes::lang::cplus::sem::as_expression_minus_minus_post >)
virtual void visit_as_expression_unary_amp (ptr< ::lestes::lang::cplus::sem::as_expression_unary_amp >)
virtual void visit_as_expression_unary_plus (ptr< ::lestes::lang::cplus::sem::as_expression_unary_plus >)
virtual void visit_as_expression_unary_minus (ptr< ::lestes::lang::cplus::sem::as_expression_unary_minus >)
virtual void visit_as_expression_unary_star (ptr< ::lestes::lang::cplus::sem::as_expression_unary_star >)
virtual void visit_as_expression_tilde (ptr< ::lestes::lang::cplus::sem::as_expression_tilde >)
virtual void visit_as_expression_exclam (ptr< ::lestes::lang::cplus::sem::as_expression_exclam >)
virtual void visit_as_expression_sizeof_expr (ptr< ::lestes::lang::cplus::sem::as_expression_sizeof_expr >)
virtual void visit_as_expression_typeid_expr (ptr< ::lestes::lang::cplus::sem::as_expression_typeid_expr >)
virtual void visit_as_expression_delete_base (ptr< ::lestes::lang::cplus::sem::as_expression_delete_base >)
virtual void visit_as_expression_delete (ptr< ::lestes::lang::cplus::sem::as_expression_delete >)
virtual void visit_as_expression_delete_array (ptr< ::lestes::lang::cplus::sem::as_expression_delete_array >)
virtual void visit_as_expression_throw (ptr< ::lestes::lang::cplus::sem::as_expression_throw >)
virtual void visit_as_expression_sizeof_type (ptr< ::lestes::lang::cplus::sem::as_expression_sizeof_type >)
virtual void visit_as_expression_typeid_type (ptr< ::lestes::lang::cplus::sem::as_expression_typeid_type >)
virtual void visit_as_expression_new (ptr< ::lestes::lang::cplus::sem::as_expression_new >)
virtual void visit_as_this_expression (ptr< ::lestes::lang::cplus::sem::as_this_expression >)
virtual void visit_as_literal (ptr< ::lestes::lang::cplus::sem::as_literal >)
virtual void visit_as_name_expression (ptr< ::lestes::lang::cplus::sem::as_name_expression >)
virtual void visit_as_expression_reinterpret_cast (ptr< ::lestes::lang::cplus::sem::as_expression_reinterpret_cast >)
virtual void visit_as_expression_dynamic_cast (ptr< ::lestes::lang::cplus::sem::as_expression_dynamic_cast >)
virtual void visit_as_expression_static_cast (ptr< ::lestes::lang::cplus::sem::as_expression_static_cast >)
virtual void visit_as_expression_const_cast (ptr< ::lestes::lang::cplus::sem::as_expression_const_cast >)
virtual void visit_as_expression_old_style_cast (ptr< ::lestes::lang::cplus::sem::as_expression_old_style_cast >)
virtual void visit_as_expression_functional_style_cast (ptr< ::lestes::lang::cplus::sem::as_expression_functional_style_cast >)
virtual void visit_as_expression_member_access_dot (ptr< ::lestes::lang::cplus::sem::as_expression_member_access_dot >)
virtual void visit_as_expression_member_access_arrow (ptr< ::lestes::lang::cplus::sem::as_expression_member_access_arrow >)
virtual void visit_as_expression_pseudo_destruct_dot (ptr< ::lestes::lang::cplus::sem::as_expression_pseudo_destruct_dot >)
virtual void visit_as_expression_pseudo_destruct_arrow (ptr< ::lestes::lang::cplus::sem::as_expression_pseudo_destruct_arrow >)
virtual void visit_as_expression_function_call (ptr< ::lestes::lang::cplus::sem::as_expression_function_call >)
virtual void visit_as_constant_expression (ptr< ::lestes::lang::cplus::sem::as_constant_expression >)
ptr< or_or_functionalprocess (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_deconstruct_spsecreate (ptr< or_or_functional > a__sa_deconstruct_spse__result)
 First generated factory method for class sa_deconstruct_spse.
static ptr< sa_deconstruct_spsecreate ()
 Second generated factory method for class sa_deconstruct_spse.

Protected Member Functions

 sa_deconstruct_spse (ptr< or_or_functional > a__sa_deconstruct_spse__result)
 Generated constructor for class sa_deconstruct_spse.
virtual void gc_mark ()
 Marking routine for class sa_deconstruct_spse.

Private Attributes

srp< or_or_functionalresult

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Definition at line 114 of file sa_deconstruct_spse.g.hh.


Constructor & Destructor Documentation

lestes::lang::cplus::sem::sa_deconstruct_spse::sa_deconstruct_spse ( ptr< or_or_functional a__sa_deconstruct_spse__result  )  [protected]

Generated constructor for class sa_deconstruct_spse.

Generated constructor for class sa_deconstruct_spse.

Author:
lsg

Definition at line 142 of file sa_deconstruct_spse.g.cc.

Referenced by create().

00143         : as_expr_visitor(), result(a__sa_deconstruct_spse__result)
00144 {}


Member Function Documentation

ptr< or_or_functional > lestes::lang::cplus::sem::sa_deconstruct_spse::result_get (  )  const

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

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

Definition at line 106 of file sa_deconstruct_spse.g.cc.

References result.

Referenced by construct_bin_op(), construct_unary_op_create(), construct_unary_op_nocreate(), and process().

00107 {
00108         return result;
00109 }

void lestes::lang::cplus::sem::sa_deconstruct_spse::result_set ( const ptr< or_or_functional > &  x  ) 

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

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

Definition at line 115 of file sa_deconstruct_spse.g.cc.

References result.

Referenced by construct_bin_op(), construct_unary_op_create(), and construct_unary_op_nocreate().

00116 {
00117         sa_deconstruct_spse::result = x;
00118 }

template<typename AS, typename OP>
void lestes::lang::cplus::sem::sa_deconstruct_spse::construct_bin_op ( ptr< AS >  as  )  [inline]

This template convers AS expressions/operators, having the for of binary op

It doesn't matter here if creation of new sequence point is needed ('&&', '||', ',') or not. This is done later, when creating the actual ss_expression, in operator() of the creator. This also covers some op + equal operators. (which has sideeffect, this is also handled later, in the creator)

Parameters:
AS visited as expression (concrete type)
OP determines the operator type for as function id

Definition at line 91 of file sa_deconstruct_spse.cc.

References create(), loc, lestes::lang::cplus::sem::no_viable_found, lestes::lang::cplus::sem::overload_resolution(), lestes::report, result_get(), and result_set().

00092 {
00093         ptr< sa_deconstruct_spse > vl = sa_deconstruct_spse::create();
00094         ptr< sa_deconstruct_spse > vr = sa_deconstruct_spse::create();
00095         ptr< or_or_functional > l, r;
00096         ptr< ss_operator > op_name; 
00097         ptr< ::lestes::std::source_location > loc = as->location_get();
00098         ptr< ::lestes::std::list< srp< or_or_functional > > > expr_list = ::lestes::std::list< srp< or_or_functional > >::create();
00099 
00100         /* recursively on arguments */
00101         as->left_get()->accept_as_expr_visitor(vl);
00102         l = vl->result_get();
00103         
00104         as->right_get()->accept_as_expr_visitor(vr);
00105         r = vr->result_get();
00106 
00107         expr_list->push_back(l);
00108         expr_list->push_back(r);
00109 
00110         /* perform overload resolution on the name of the op and return the obtained creator */ 
00111         op_name = OP::create(loc);
00112 
00113         /* this returns the creator of the expression */
00114         result_set(overload_resolution(expr_list, op_name));
00115         if(!(result_get())) {
00116                 report << no_viable_found << loc;
00117                 exit(1);
00118         }
00119 }

template<typename AS, typename OP>
void lestes::lang::cplus::sem::sa_deconstruct_spse::construct_unary_op_nocreate ( ptr< AS >  as  )  [inline]

This template covers operators which have form of unuary operator.

This includes handling not only prefix and postfix {in|de}rement, but also handling unary plus and minus (which are handled in the same way as _prefix_ operators).

Prefix and postfix themselves differ only in the number of parameters (see [13.5.7] for more detailed explanation). In short: in the postfix case, we have to create the second parameter as literal manually (postfix operators have only the left operand), in opposition to prefix situation, which is having just one parameter (the left one).

AS - visited as expression (concrete type) OP - determines the operator type for as function id

Definition at line 136 of file sa_deconstruct_spse.cc.

References create(), loc, lestes::lang::cplus::sem::no_viable_found, lestes::lang::cplus::sem::overload_resolution(), lestes::report, result_get(), and result_set().

00137 {
00138         ptr< sa_deconstruct_spse > vl = sa_deconstruct_spse::create();
00139         ptr< or_or_functional > l, e;
00140         ptr< ::lestes::std::source_location > loc = as->location_get();
00141         ptr< ss_operator > op_name; 
00142         ptr< ::lestes::std::list< srp< or_or_functional > > > expr_list = ::lestes::std::list< srp< or_or_functional > >::create();
00143         
00144         as->expr_get()->accept_as_expr_visitor(vl);
00145         /* result of the visitor stored in the result field */
00146         l = vl->result_get();
00147 
00148         expr_list->push_back(l);
00149 
00150         /* perform overload resolution on the name of the op */
00151         op_name = OP::create(loc);
00152 
00153         /* this returns the creator of the expression */
00154         result_set(overload_resolution(expr_list, op_name));
00155         if(!(result_get())) {
00156                 report << no_viable_found << loc;
00157                 exit(1);
00158         }
00159 }

template<typename AS, typename OP>
void lestes::lang::cplus::sem::sa_deconstruct_spse::construct_unary_op_create ( ptr< AS >  as  )  [inline]

Definition at line 160 of file sa_deconstruct_spse.cc.

References lestes::lang::cplus::sem::or_or_functional_literal::create(), create(), lestes::lang::cplus::sem::ss_integral_literal_info::create_from_number(), lestes::lang::cplus::sem::ss_type_sint::instance(), loc, lestes::lang::cplus::sem::no_viable_found, lestes::lang::cplus::sem::overload_resolution(), lestes::report, result_get(), and result_set().

00161 {
00162         ptr< sa_deconstruct_spse > vl = sa_deconstruct_spse::create();
00163         ptr< or_or_functional > l, r;
00164         ptr< ::lestes::std::source_location > loc = as->location_get();
00165         ptr< ss_operator > op_name; 
00166         ptr< ::lestes::std::list< srp< or_or_functional > > > expr_list = ::lestes::std::list< srp< or_or_functional > >::create();
00167         
00168         as->expr_get()->accept_as_expr_visitor(vl);
00169 
00170         l = vl->result_get();
00171         /* create the literal representing int 1 */
00172         r = or_or_functional_literal::create(ss_type_sint::instance(), ss_integral_literal_info::create_from_number(ss_type_sint::instance(), 1));
00173 
00174         expr_list->push_back(l);
00175         expr_list->push_back(r);
00176 
00177         /* perform overload resolution on the name of the op */
00178         op_name = OP::create(loc);
00179 
00180         /* this returns the creator of the expression */
00181         result_set(overload_resolution(expr_list, op_name));
00182         if(!(result_get())) {
00183                 report << no_viable_found << loc;
00184                 exit(1);
00185         }
00186 }

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

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_qmark ( ptr< ::lestes::lang::cplus::sem::as_expression_qmark  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_comma ( ptr< ::lestes::lang::cplus::sem::as_expression_comma  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_equal ( ptr< ::lestes::lang::cplus::sem::as_expression_equal  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_plus_equal ( ptr< ::lestes::lang::cplus::sem::as_expression_plus_equal  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_minus_equal ( ptr< ::lestes::lang::cplus::sem::as_expression_minus_equal  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_star_equal ( ptr< ::lestes::lang::cplus::sem::as_expression_star_equal  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_slash_equal ( ptr< ::lestes::lang::cplus::sem::as_expression_slash_equal  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_percent_equal ( ptr< ::lestes::lang::cplus::sem::as_expression_percent_equal  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_hat_equal ( ptr< ::lestes::lang::cplus::sem::as_expression_hat_equal  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_amp_equal ( ptr< ::lestes::lang::cplus::sem::as_expression_amp_equal  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_vbar_equal ( ptr< ::lestes::lang::cplus::sem::as_expression_vbar_equal  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_less_less_equal ( ptr< ::lestes::lang::cplus::sem::as_expression_less_less_equal  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_greater_greater_equal ( ptr< ::lestes::lang::cplus::sem::as_expression_greater_greater_equal  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_equal_equal ( ptr< ::lestes::lang::cplus::sem::as_expression_equal_equal  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_exclam_equal ( ptr< ::lestes::lang::cplus::sem::as_expression_exclam_equal  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_less_equal ( ptr< ::lestes::lang::cplus::sem::as_expression_less_equal  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_greater_equal ( ptr< ::lestes::lang::cplus::sem::as_expression_greater_equal  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_less ( ptr< ::lestes::lang::cplus::sem::as_expression_less  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_greater ( ptr< ::lestes::lang::cplus::sem::as_expression_greater  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_vbar_vbar ( ptr< ::lestes::lang::cplus::sem::as_expression_vbar_vbar  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_amp_amp ( ptr< ::lestes::lang::cplus::sem::as_expression_amp_amp  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_vbar ( ptr< ::lestes::lang::cplus::sem::as_expression_vbar  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_amp ( ptr< ::lestes::lang::cplus::sem::as_expression_amp  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_hat ( ptr< ::lestes::lang::cplus::sem::as_expression_hat  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_less_less ( ptr< ::lestes::lang::cplus::sem::as_expression_less_less  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_greater_greater ( ptr< ::lestes::lang::cplus::sem::as_expression_greater_greater  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_plus ( ptr< ::lestes::lang::cplus::sem::as_expression_plus  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_minus ( ptr< ::lestes::lang::cplus::sem::as_expression_minus  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_star ( ptr< ::lestes::lang::cplus::sem::as_expression_star  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_slash ( ptr< ::lestes::lang::cplus::sem::as_expression_slash  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_percent ( ptr< ::lestes::lang::cplus::sem::as_expression_percent  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_dot_star ( ptr< ::lestes::lang::cplus::sem::as_expression_dot_star  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_minus_greater_star ( ptr< ::lestes::lang::cplus::sem::as_expression_minus_greater_star  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_brackets ( ptr< ::lestes::lang::cplus::sem::as_expression_brackets  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_plus_plus_pre ( ptr< ::lestes::lang::cplus::sem::as_expression_plus_plus_pre  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_plus_plus_post ( ptr< ::lestes::lang::cplus::sem::as_expression_plus_plus_post  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_minus_minus_pre ( ptr< ::lestes::lang::cplus::sem::as_expression_minus_minus_pre  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_minus_minus_post ( ptr< ::lestes::lang::cplus::sem::as_expression_minus_minus_post  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_unary_amp ( ptr< ::lestes::lang::cplus::sem::as_expression_unary_amp  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_unary_plus ( ptr< ::lestes::lang::cplus::sem::as_expression_unary_plus  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_unary_minus ( ptr< ::lestes::lang::cplus::sem::as_expression_unary_minus  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_unary_star ( ptr< ::lestes::lang::cplus::sem::as_expression_unary_star  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_tilde ( ptr< ::lestes::lang::cplus::sem::as_expression_tilde  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_exclam ( ptr< ::lestes::lang::cplus::sem::as_expression_exclam  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_sizeof_expr ( ptr< ::lestes::lang::cplus::sem::as_expression_sizeof_expr  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_typeid_expr ( ptr< ::lestes::lang::cplus::sem::as_expression_typeid_expr  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_delete_base ( ptr< ::lestes::lang::cplus::sem::as_expression_delete_base  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_delete ( ptr< ::lestes::lang::cplus::sem::as_expression_delete  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_delete_array ( ptr< ::lestes::lang::cplus::sem::as_expression_delete_array  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_throw ( ptr< ::lestes::lang::cplus::sem::as_expression_throw  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_sizeof_type ( ptr< ::lestes::lang::cplus::sem::as_expression_sizeof_type  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_typeid_type ( ptr< ::lestes::lang::cplus::sem::as_expression_typeid_type  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_new ( ptr< ::lestes::lang::cplus::sem::as_expression_new  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_this_expression ( ptr< ::lestes::lang::cplus::sem::as_this_expression  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_literal ( ptr< ::lestes::lang::cplus::sem::as_literal  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_name_expression ( ptr< ::lestes::lang::cplus::sem::as_name_expression  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_reinterpret_cast ( ptr< ::lestes::lang::cplus::sem::as_expression_reinterpret_cast  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_dynamic_cast ( ptr< ::lestes::lang::cplus::sem::as_expression_dynamic_cast  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_static_cast ( ptr< ::lestes::lang::cplus::sem::as_expression_static_cast  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_const_cast ( ptr< ::lestes::lang::cplus::sem::as_expression_const_cast  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_old_style_cast ( ptr< ::lestes::lang::cplus::sem::as_expression_old_style_cast  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_functional_style_cast ( ptr< ::lestes::lang::cplus::sem::as_expression_functional_style_cast  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_member_access_dot ( ptr< ::lestes::lang::cplus::sem::as_expression_member_access_dot  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_member_access_arrow ( ptr< ::lestes::lang::cplus::sem::as_expression_member_access_arrow  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_pseudo_destruct_dot ( ptr< ::lestes::lang::cplus::sem::as_expression_pseudo_destruct_dot  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_pseudo_destruct_arrow ( ptr< ::lestes::lang::cplus::sem::as_expression_pseudo_destruct_arrow  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_expression_function_call ( ptr< ::lestes::lang::cplus::sem::as_expression_function_call  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

virtual void lestes::lang::cplus::sem::sa_deconstruct_spse::visit_as_constant_expression ( ptr< ::lestes::lang::cplus::sem::as_constant_expression  )  [virtual]

Implements lestes::lang::cplus::sem::as_expr_visitor.

ptr< sa_deconstruct_spse > lestes::lang::cplus::sem::sa_deconstruct_spse::create ( ptr< or_or_functional a__sa_deconstruct_spse__result  )  [static]

First generated factory method for class sa_deconstruct_spse.

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

Author:
lsg

Definition at line 124 of file sa_deconstruct_spse.g.cc.

References sa_deconstruct_spse().

00125 {
00126         return ptr< sa_deconstruct_spse > ( new sa_deconstruct_spse(a__sa_deconstruct_spse__result) );
00127 }

ptr< sa_deconstruct_spse > lestes::lang::cplus::sem::sa_deconstruct_spse::create ( void   )  [static]

Second generated factory method for class sa_deconstruct_spse.

This factory method for class sa_deconstruct_spse uses initializers.

Author:
lsg

Definition at line 133 of file sa_deconstruct_spse.g.cc.

References sa_deconstruct_spse().

Referenced by construct_bin_op(), construct_unary_op_create(), construct_unary_op_nocreate(), and lestes::lang::cplus::sem::ts2ds().

00134 {
00135         return ptr< sa_deconstruct_spse > ( new sa_deconstruct_spse(NULL) );
00136 }

ptr< or_or_functional > lestes::lang::cplus::sem::sa_deconstruct_spse::process ( const ptr< ::lestes::lang::cplus::sem::as_expression > &   ) 

"visit-return" method

Definition at line 167 of file sa_deconstruct_spse.g.cc.

References lassert2, and result_get().

00168 {
00169         lassert2( o, "Cannot visit NULL object." );
00170         o->accept_as_expr_visitor( ptr< as_expr_visitor >(this) );
00171         return result_get();
00172 }

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

for purposes of dumping

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

Definition at line 146 of file sa_deconstruct_spse.g.cc.

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

00147 {
00148         if (!reflection) {
00149                 typedef class_reflection::field_metadata md;
00150                 typedef class_reflection::field_metadata_list mdlist;
00151                 ptr<mdlist> mdl = mdlist::create();
00152                 mdl->push_back( md::create( "result", "or_or_functional" ) );
00153                 reflection = reflection_list::create( as_expr_visitor::reflection_get() );
00154                 reflection->push_back( class_reflection::create( "sa_deconstruct_spse", mdl ) );
00155         }
00156         return reflection;
00157 }

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

for purposes of dumping

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

Definition at line 159 of file sa_deconstruct_spse.g.cc.

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

00160 {
00161         ptr < field_list_list > result = as_expr_visitor::field_values_get();
00162         result->push_back( value_list::create() );
00163         result->back()->push_back( this->result );
00164         return result;
00165 }

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

Marking routine for class sa_deconstruct_spse.

Marking routine is used for garbage collection.

Author:
lsg

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

Definition at line 179 of file sa_deconstruct_spse.g.cc.

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

00180 {
00181         as_expr_visitor::gc_mark();
00182 }


Member Data Documentation

srp< or_or_functional > lestes::lang::cplus::sem::sa_deconstruct_spse::result [private]

Definition at line 293 of file sa_deconstruct_spse.g.hh.

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

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

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

Definition at line 294 of file sa_deconstruct_spse.g.hh.

Referenced by reflection_get().


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