lestes::lang::cplus::sem::ss_binary_expr Class Reference

Base class for built-in binary operators. More...

#include <ss_expression.g.hh>

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

lestes::lang::cplus::sem::ss_expression lestes::intercode::ss_base_with_location lestes::intercode::ss_base lestes::intercode::intercode lestes::std::object lestes::std::mem::keystone lestes::lang::cplus::sem::ss_add lestes::lang::cplus::sem::ss_arr_acc lestes::lang::cplus::sem::ss_assign lestes::lang::cplus::sem::ss_band lestes::lang::cplus::sem::ss_bor lestes::lang::cplus::sem::ss_bxor lestes::lang::cplus::sem::ss_div lestes::lang::cplus::sem::ss_land lestes::lang::cplus::sem::ss_lor lestes::lang::cplus::sem::ss_mod lestes::lang::cplus::sem::ss_mul lestes::lang::cplus::sem::ss_sbe lestes::lang::cplus::sem::ss_sbg lestes::lang::cplus::sem::ss_sbl lestes::lang::cplus::sem::ss_sbne lestes::lang::cplus::sem::ss_sbng lestes::lang::cplus::sem::ss_sbnl lestes::lang::cplus::sem::ss_shl lestes::lang::cplus::sem::ss_shr lestes::lang::cplus::sem::ss_sub List of all members.

Public Member Functions

ptr< ss_expressionleft_get () const
 The method left_get returns the value of the field ss_binary_expr::left.
void left_set (const ptr< ss_expression > &)
 The method left_set sets the field ss_binary_expr::left to the given value.
ptr< ss_expressionright_get () const
 The method right_get returns the value of the field ss_binary_expr::right.
void right_set (const ptr< ss_expression > &)
 The method right_set sets the field ss_binary_expr::right to the given value.
virtual void accept_ss_expression_visitor (ptr< ss_expression_visitor > v) override
virtual ptr< reflection_listreflection_get () const
 for purposes of dumping
virtual ptr< field_list_listfield_values_get () const
 for purposes of dumping

Protected Member Functions

 ss_binary_expr (ptr< ::lestes::std::source_location > a__ss_base_with_location__location, ptr< ss_type > a__ss_expression__type, ptr< ss_sp > a__ss_expression__psp, ptr< ss_sp > a__ss_expression__nsp, ptr< ss_expression > a__ss_binary_expr__left, ptr< ss_expression > a__ss_binary_expr__right)
 Generated constructor for class ss_binary_expr.
virtual void gc_mark ()
 Marking routine for class ss_binary_expr.

Private Attributes

srp< ss_expressionleft
srp< ss_expressionright

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Base class for built-in binary operators.

Definition at line 715 of file ss_expression.g.hh.


Constructor & Destructor Documentation

lestes::lang::cplus::sem::ss_binary_expr::ss_binary_expr ( ptr< ::lestes::std::source_location a__ss_base_with_location__location,
ptr< ss_type a__ss_expression__type,
ptr< ss_sp a__ss_expression__psp,
ptr< ss_sp a__ss_expression__nsp,
ptr< ss_expression a__ss_binary_expr__left,
ptr< ss_expression a__ss_binary_expr__right 
) [protected]

Generated constructor for class ss_binary_expr.

Generated constructor for class ss_binary_expr.

Author:
lsg

Definition at line 1319 of file ss_expression.g.cc.

01325         : ss_expression(a__ss_base_with_location__location,
01326                 a__ss_expression__type,
01327                 a__ss_expression__psp,
01328                 a__ss_expression__nsp), left(checked(a__ss_binary_expr__left)), right(checked(a__ss_binary_expr__right))
01329 {}


Member Function Documentation

ptr< ss_expression > lestes::lang::cplus::sem::ss_binary_expr::left_get (  )  const

The method left_get returns the value of the field ss_binary_expr::left.

Returns:
The value of ss_binary_expr::left.
Author:
lsg

Definition at line 1283 of file ss_expression.g.cc.

References left.

01284 {
01285         return left;
01286 }

void lestes::lang::cplus::sem::ss_binary_expr::left_set ( const ptr< ss_expression > &  x  ) 

The method left_set sets the field ss_binary_expr::left to the given value.

Parameters:
[in] x The new value to set ss_binary_expr::left to.
Author:
lsg

Definition at line 1292 of file ss_expression.g.cc.

References left.

01293 {
01294         ss_binary_expr::left = x;
01295 }

ptr< ss_expression > lestes::lang::cplus::sem::ss_binary_expr::right_get (  )  const

The method right_get returns the value of the field ss_binary_expr::right.

Returns:
The value of ss_binary_expr::right.
Author:
lsg

Definition at line 1301 of file ss_expression.g.cc.

References right.

01302 {
01303         return right;
01304 }

void lestes::lang::cplus::sem::ss_binary_expr::right_set ( const ptr< ss_expression > &  x  ) 

The method right_set sets the field ss_binary_expr::right to the given value.

Parameters:
[in] x The new value to set ss_binary_expr::right to.
Author:
lsg

Definition at line 1310 of file ss_expression.g.cc.

References right.

01311 {
01312         ss_binary_expr::right = x;
01313 }

virtual void lestes::lang::cplus::sem::ss_binary_expr::accept_ss_expression_visitor ( ptr< ss_expression_visitor v  )  [pure virtual]

Implements lestes::lang::cplus::sem::ss_expression.

Implemented in lestes::lang::cplus::sem::ss_assign, lestes::lang::cplus::sem::ss_add, lestes::lang::cplus::sem::ss_sub, lestes::lang::cplus::sem::ss_mul, lestes::lang::cplus::sem::ss_div, lestes::lang::cplus::sem::ss_mod, lestes::lang::cplus::sem::ss_shr, lestes::lang::cplus::sem::ss_shl, lestes::lang::cplus::sem::ss_sbg, lestes::lang::cplus::sem::ss_sbl, lestes::lang::cplus::sem::ss_sbng, lestes::lang::cplus::sem::ss_sbnl, lestes::lang::cplus::sem::ss_sbne, lestes::lang::cplus::sem::ss_sbe, lestes::lang::cplus::sem::ss_band, lestes::lang::cplus::sem::ss_bor, lestes::lang::cplus::sem::ss_bxor, lestes::lang::cplus::sem::ss_land, lestes::lang::cplus::sem::ss_lor, and lestes::lang::cplus::sem::ss_arr_acc.

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

for purposes of dumping

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

Reimplemented in lestes::lang::cplus::sem::ss_assign, lestes::lang::cplus::sem::ss_add, lestes::lang::cplus::sem::ss_sub, lestes::lang::cplus::sem::ss_mul, lestes::lang::cplus::sem::ss_div, lestes::lang::cplus::sem::ss_mod, lestes::lang::cplus::sem::ss_shr, lestes::lang::cplus::sem::ss_shl, lestes::lang::cplus::sem::ss_sbg, lestes::lang::cplus::sem::ss_sbl, lestes::lang::cplus::sem::ss_sbng, lestes::lang::cplus::sem::ss_sbnl, lestes::lang::cplus::sem::ss_sbne, lestes::lang::cplus::sem::ss_sbe, lestes::lang::cplus::sem::ss_band, lestes::lang::cplus::sem::ss_bor, lestes::lang::cplus::sem::ss_bxor, lestes::lang::cplus::sem::ss_land, lestes::lang::cplus::sem::ss_lor, and lestes::lang::cplus::sem::ss_arr_acc.

Definition at line 1331 of file ss_expression.g.cc.

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

Referenced by lestes::lang::cplus::sem::ss_arr_acc::reflection_get(), lestes::lang::cplus::sem::ss_lor::reflection_get(), lestes::lang::cplus::sem::ss_land::reflection_get(), lestes::lang::cplus::sem::ss_bxor::reflection_get(), lestes::lang::cplus::sem::ss_bor::reflection_get(), lestes::lang::cplus::sem::ss_band::reflection_get(), lestes::lang::cplus::sem::ss_sbe::reflection_get(), lestes::lang::cplus::sem::ss_sbne::reflection_get(), lestes::lang::cplus::sem::ss_sbnl::reflection_get(), lestes::lang::cplus::sem::ss_sbng::reflection_get(), lestes::lang::cplus::sem::ss_sbl::reflection_get(), lestes::lang::cplus::sem::ss_sbg::reflection_get(), lestes::lang::cplus::sem::ss_shl::reflection_get(), lestes::lang::cplus::sem::ss_shr::reflection_get(), lestes::lang::cplus::sem::ss_mod::reflection_get(), lestes::lang::cplus::sem::ss_div::reflection_get(), lestes::lang::cplus::sem::ss_mul::reflection_get(), lestes::lang::cplus::sem::ss_sub::reflection_get(), lestes::lang::cplus::sem::ss_add::reflection_get(), and lestes::lang::cplus::sem::ss_assign::reflection_get().

01332 {
01333         if (!reflection) {
01334                 typedef class_reflection::field_metadata md;
01335                 typedef class_reflection::field_metadata_list mdlist;
01336                 ptr<mdlist> mdl = mdlist::create();
01337                 mdl->push_back( md::create( "left", "ss_expression" ) );
01338                 mdl->push_back( md::create( "right", "ss_expression" ) );
01339                 reflection = reflection_list::create( ss_expression::reflection_get() );
01340                 reflection->push_back( class_reflection::create( "ss_binary_expr", mdl ) );
01341         }
01342         return reflection;
01343 }

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

for purposes of dumping

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

Reimplemented in lestes::lang::cplus::sem::ss_assign, lestes::lang::cplus::sem::ss_add, lestes::lang::cplus::sem::ss_sub, lestes::lang::cplus::sem::ss_mul, lestes::lang::cplus::sem::ss_div, lestes::lang::cplus::sem::ss_mod, lestes::lang::cplus::sem::ss_shr, lestes::lang::cplus::sem::ss_shl, lestes::lang::cplus::sem::ss_sbg, lestes::lang::cplus::sem::ss_sbl, lestes::lang::cplus::sem::ss_sbng, lestes::lang::cplus::sem::ss_sbnl, lestes::lang::cplus::sem::ss_sbne, lestes::lang::cplus::sem::ss_sbe, lestes::lang::cplus::sem::ss_band, lestes::lang::cplus::sem::ss_bor, lestes::lang::cplus::sem::ss_bxor, lestes::lang::cplus::sem::ss_land, lestes::lang::cplus::sem::ss_lor, and lestes::lang::cplus::sem::ss_arr_acc.

Definition at line 1345 of file ss_expression.g.cc.

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

Referenced by lestes::lang::cplus::sem::ss_arr_acc::field_values_get(), lestes::lang::cplus::sem::ss_lor::field_values_get(), lestes::lang::cplus::sem::ss_land::field_values_get(), lestes::lang::cplus::sem::ss_bxor::field_values_get(), lestes::lang::cplus::sem::ss_bor::field_values_get(), lestes::lang::cplus::sem::ss_band::field_values_get(), lestes::lang::cplus::sem::ss_sbe::field_values_get(), lestes::lang::cplus::sem::ss_sbne::field_values_get(), lestes::lang::cplus::sem::ss_sbnl::field_values_get(), lestes::lang::cplus::sem::ss_sbng::field_values_get(), lestes::lang::cplus::sem::ss_sbl::field_values_get(), lestes::lang::cplus::sem::ss_sbg::field_values_get(), lestes::lang::cplus::sem::ss_shl::field_values_get(), lestes::lang::cplus::sem::ss_shr::field_values_get(), lestes::lang::cplus::sem::ss_mod::field_values_get(), lestes::lang::cplus::sem::ss_div::field_values_get(), lestes::lang::cplus::sem::ss_mul::field_values_get(), lestes::lang::cplus::sem::ss_sub::field_values_get(), lestes::lang::cplus::sem::ss_add::field_values_get(), and lestes::lang::cplus::sem::ss_assign::field_values_get().

01346 {
01347         ptr < field_list_list > result = ss_expression::field_values_get();
01348         result->push_back( value_list::create() );
01349         result->back()->push_back( this->left );
01350         result->push_back( value_list::create() );
01351         result->back()->push_back( this->right );
01352         return result;
01353 }

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

Marking routine for class ss_binary_expr.

Marking routine is used for garbage collection.

Author:
lsg

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

Reimplemented in lestes::lang::cplus::sem::ss_assign, lestes::lang::cplus::sem::ss_add, lestes::lang::cplus::sem::ss_sub, lestes::lang::cplus::sem::ss_mul, lestes::lang::cplus::sem::ss_div, lestes::lang::cplus::sem::ss_mod, lestes::lang::cplus::sem::ss_shr, lestes::lang::cplus::sem::ss_shl, lestes::lang::cplus::sem::ss_sbg, lestes::lang::cplus::sem::ss_sbl, lestes::lang::cplus::sem::ss_sbng, lestes::lang::cplus::sem::ss_sbnl, lestes::lang::cplus::sem::ss_sbne, lestes::lang::cplus::sem::ss_sbe, lestes::lang::cplus::sem::ss_band, lestes::lang::cplus::sem::ss_bor, lestes::lang::cplus::sem::ss_bxor, lestes::lang::cplus::sem::ss_land, lestes::lang::cplus::sem::ss_lor, and lestes::lang::cplus::sem::ss_arr_acc.

Definition at line 1360 of file ss_expression.g.cc.

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

Referenced by lestes::lang::cplus::sem::ss_arr_acc::gc_mark(), lestes::lang::cplus::sem::ss_lor::gc_mark(), lestes::lang::cplus::sem::ss_land::gc_mark(), lestes::lang::cplus::sem::ss_bxor::gc_mark(), lestes::lang::cplus::sem::ss_bor::gc_mark(), lestes::lang::cplus::sem::ss_band::gc_mark(), lestes::lang::cplus::sem::ss_sbe::gc_mark(), lestes::lang::cplus::sem::ss_sbne::gc_mark(), lestes::lang::cplus::sem::ss_sbnl::gc_mark(), lestes::lang::cplus::sem::ss_sbng::gc_mark(), lestes::lang::cplus::sem::ss_sbl::gc_mark(), lestes::lang::cplus::sem::ss_sbg::gc_mark(), lestes::lang::cplus::sem::ss_shl::gc_mark(), lestes::lang::cplus::sem::ss_shr::gc_mark(), lestes::lang::cplus::sem::ss_mod::gc_mark(), lestes::lang::cplus::sem::ss_div::gc_mark(), lestes::lang::cplus::sem::ss_mul::gc_mark(), lestes::lang::cplus::sem::ss_sub::gc_mark(), lestes::lang::cplus::sem::ss_add::gc_mark(), and lestes::lang::cplus::sem::ss_assign::gc_mark().

01361 {
01362         ss_expression::gc_mark();
01363 }


Member Data Documentation

srp< ss_expression > lestes::lang::cplus::sem::ss_binary_expr::left [private]

Definition at line 751 of file ss_expression.g.hh.

Referenced by left_get(), and left_set().

srp< ss_expression > lestes::lang::cplus::sem::ss_binary_expr::right [private]

Definition at line 752 of file ss_expression.g.hh.

Referenced by right_get(), and right_set().

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

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

Reimplemented in lestes::lang::cplus::sem::ss_assign, lestes::lang::cplus::sem::ss_add, lestes::lang::cplus::sem::ss_sub, lestes::lang::cplus::sem::ss_mul, lestes::lang::cplus::sem::ss_div, lestes::lang::cplus::sem::ss_mod, lestes::lang::cplus::sem::ss_shr, lestes::lang::cplus::sem::ss_shl, lestes::lang::cplus::sem::ss_sbg, lestes::lang::cplus::sem::ss_sbl, lestes::lang::cplus::sem::ss_sbng, lestes::lang::cplus::sem::ss_sbnl, lestes::lang::cplus::sem::ss_sbne, lestes::lang::cplus::sem::ss_sbe, lestes::lang::cplus::sem::ss_band, lestes::lang::cplus::sem::ss_bor, lestes::lang::cplus::sem::ss_bxor, lestes::lang::cplus::sem::ss_land, lestes::lang::cplus::sem::ss_lor, and lestes::lang::cplus::sem::ss_arr_acc.

Definition at line 753 of file ss_expression.g.hh.

Referenced by reflection_get().


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