lestes::backend_v2::intercode::pi_branch_multiple Class Reference

Base class for branches that have multiple targes. More...

#include <pi.g.hh>

Inheritance diagram for lestes::backend_v2::intercode::pi_branch_multiple:

lestes::backend_v2::intercode::pi_branch lestes::backend_v2::intercode::pi_pi lestes::intercode::pi_base lestes::intercode::intercode lestes::std::object lestes::std::mem::keystone lestes::backend_v2::intercode::pi_branch_multiple_address_target lestes::backend_v2::intercode::pi_branch_multiple_label_target lestes::backend_v2::intercode::pi_ibm lestes::backend_v2::intercode::pi_bm List of all members.

Public Member Functions

ptr< pi_pregvalue_get () const
 The method value_get returns the value of the field pi_branch_multiple::value.
void value_set (const ptr< pi_preg > &)
 The method value_set sets the field pi_branch_multiple::value to the given value.
virtual ptr< ::lestes::backend_v2::structs::pi_operandsaccept_visitor_pi_pi2pi_operands_gen_base (ptr< visitor_pi_pi2pi_operands_gen_base > v) override
virtual ulint accept_visitor_pi_pi2ulint_gen_base (ptr< visitor_pi_pi2ulint_gen_base > v) override
virtual ptr< vector< srp<
::lestes::backend_v2::intercode::ge_pi > > > 
accept_visitor_pi_pi2ge_pi_gen_base (ptr< visitor_pi_pi2ge_pi_gen_base > 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

 pi_branch_multiple (ptr< pi_pi > a__pi_pi__psp, ptr< pi_pi > a__pi_pi__nsp, ulint a__pi_pi__level, ptr< pi_preg > a__pi_branch_multiple__value)
 Generated constructor for class pi_branch_multiple.
virtual void gc_mark ()
 Marking routine for class pi_branch_multiple.

Private Attributes

srp< pi_pregvalue
 Pseudosregister that holds value that selects a target to be followed.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Base class for branches that have multiple targes.

Definition at line 383 of file pi.g.hh.


Constructor & Destructor Documentation

lestes::backend_v2::intercode::pi_branch_multiple::pi_branch_multiple ( ptr< pi_pi a__pi_pi__psp,
ptr< pi_pi a__pi_pi__nsp,
ulint  a__pi_pi__level,
ptr< pi_preg a__pi_branch_multiple__value 
) [protected]

Generated constructor for class pi_branch_multiple.

Generated constructor for class pi_branch_multiple.

Author:
lsg

Definition at line 311 of file pi.g.cc.

00315         : pi_branch(a__pi_pi__psp,
00316                 a__pi_pi__nsp,
00317                 a__pi_pi__level), value(checked(a__pi_branch_multiple__value))
00318 {}


Member Function Documentation

ptr< pi_preg > lestes::backend_v2::intercode::pi_branch_multiple::value_get (  )  const

The method value_get returns the value of the field pi_branch_multiple::value.

Returns:
The value of pi_branch_multiple::value.
Author:
lsg

Definition at line 293 of file pi.g.cc.

References value.

00294 {
00295         return value;
00296 }

void lestes::backend_v2::intercode::pi_branch_multiple::value_set ( const ptr< pi_preg > &  x  ) 

The method value_set sets the field pi_branch_multiple::value to the given value.

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

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

References value.

00303 {
00304         pi_branch_multiple::value = x;
00305 }

virtual ptr< ::lestes::backend_v2::structs::pi_operands > lestes::backend_v2::intercode::pi_branch_multiple::accept_visitor_pi_pi2pi_operands_gen_base ( ptr< visitor_pi_pi2pi_operands_gen_base v  )  [pure virtual]

Implements lestes::backend_v2::intercode::pi_branch.

Implemented in lestes::backend_v2::intercode::pi_branch_multiple_label_target, lestes::backend_v2::intercode::pi_branch_multiple_address_target, lestes::backend_v2::intercode::pi_bm, and lestes::backend_v2::intercode::pi_ibm.

virtual ulint lestes::backend_v2::intercode::pi_branch_multiple::accept_visitor_pi_pi2ulint_gen_base ( ptr< visitor_pi_pi2ulint_gen_base v  )  [pure virtual]

Implements lestes::backend_v2::intercode::pi_branch.

Implemented in lestes::backend_v2::intercode::pi_branch_multiple_label_target, lestes::backend_v2::intercode::pi_branch_multiple_address_target, lestes::backend_v2::intercode::pi_bm, and lestes::backend_v2::intercode::pi_ibm.

virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > lestes::backend_v2::intercode::pi_branch_multiple::accept_visitor_pi_pi2ge_pi_gen_base ( ptr< visitor_pi_pi2ge_pi_gen_base v  )  [pure virtual]

Implements lestes::backend_v2::intercode::pi_branch.

Implemented in lestes::backend_v2::intercode::pi_branch_multiple_label_target, lestes::backend_v2::intercode::pi_branch_multiple_address_target, lestes::backend_v2::intercode::pi_bm, and lestes::backend_v2::intercode::pi_ibm.

ptr< object::reflection_list > lestes::backend_v2::intercode::pi_branch_multiple::reflection_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::backend_v2::intercode::pi_branch.

Reimplemented in lestes::backend_v2::intercode::pi_branch_multiple_label_target, lestes::backend_v2::intercode::pi_branch_multiple_address_target, lestes::backend_v2::intercode::pi_bm, and lestes::backend_v2::intercode::pi_ibm.

Definition at line 320 of file pi.g.cc.

References lestes::std::list< T >::create(), reflection, and lestes::backend_v2::intercode::pi_branch::reflection_get().

Referenced by lestes::backend_v2::intercode::pi_branch_multiple_address_target::reflection_get(), and lestes::backend_v2::intercode::pi_branch_multiple_label_target::reflection_get().

00321 {
00322         if (!reflection) {
00323                 typedef class_reflection::field_metadata md;
00324                 typedef class_reflection::field_metadata_list mdlist;
00325                 ptr<mdlist> mdl = mdlist::create();
00326                 mdl->push_back( md::create( "value", "pi_preg" ) );
00327                 reflection = reflection_list::create( pi_branch::reflection_get() );
00328                 reflection->push_back( class_reflection::create( "pi_branch_multiple", mdl ) );
00329         }
00330         return reflection;
00331 }

ptr< object::field_list_list > lestes::backend_v2::intercode::pi_branch_multiple::field_values_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::backend_v2::intercode::pi_branch.

Reimplemented in lestes::backend_v2::intercode::pi_branch_multiple_label_target, lestes::backend_v2::intercode::pi_branch_multiple_address_target, lestes::backend_v2::intercode::pi_bm, and lestes::backend_v2::intercode::pi_ibm.

Definition at line 333 of file pi.g.cc.

References lestes::std::list< T >::create(), and lestes::backend_v2::intercode::pi_branch::field_values_get().

Referenced by lestes::backend_v2::intercode::pi_branch_multiple_address_target::field_values_get(), and lestes::backend_v2::intercode::pi_branch_multiple_label_target::field_values_get().

00334 {
00335         ptr < field_list_list > result = pi_branch::field_values_get();
00336         result->push_back( value_list::create() );
00337         result->back()->push_back( this->value );
00338         return result;
00339 }

void lestes::backend_v2::intercode::pi_branch_multiple::gc_mark ( void   )  [protected, virtual]

Marking routine for class pi_branch_multiple.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::backend_v2::intercode::pi_branch.

Reimplemented in lestes::backend_v2::intercode::pi_branch_multiple_label_target, lestes::backend_v2::intercode::pi_branch_multiple_address_target, lestes::backend_v2::intercode::pi_bm, and lestes::backend_v2::intercode::pi_ibm.

Definition at line 346 of file pi.g.cc.

References lestes::backend_v2::intercode::pi_branch::gc_mark().

Referenced by lestes::backend_v2::intercode::pi_branch_multiple_address_target::gc_mark(), and lestes::backend_v2::intercode::pi_branch_multiple_label_target::gc_mark().

00347 {
00348         pi_branch::gc_mark();
00349 }


Member Data Documentation

srp< pi_preg > lestes::backend_v2::intercode::pi_branch_multiple::value [private]

Pseudosregister that holds value that selects a target to be followed.

Definition at line 414 of file pi.g.hh.

Referenced by value_get(), and value_set().

ptr< object::reflection_list > lestes::backend_v2::intercode::pi_branch_multiple::reflection = reflection [static, private]

Reimplemented from lestes::backend_v2::intercode::pi_branch.

Reimplemented in lestes::backend_v2::intercode::pi_branch_multiple_label_target, lestes::backend_v2::intercode::pi_branch_multiple_address_target, lestes::backend_v2::intercode::pi_bm, and lestes::backend_v2::intercode::pi_ibm.

Definition at line 415 of file pi.g.hh.

Referenced by reflection_get().


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