lestes::backend_v2::intercode::pi_branch_multiple_address_target Class Reference

Base class for conditional branches that jump to multiple addresses. More...

#include <pi.g.hh>

Inheritance diagram for lestes::backend_v2::intercode::pi_branch_multiple_address_target:

Inheritance graph
[legend]
List of all members.

Public Member Functions

ptr< ::lestes::std::map< srp<
::lestes::md::literals::literal_info_base >,
srp< pi_preg > > > 
targets_get () const
 The method targets_get returns the value of the field pi_branch_multiple_address_target::targets.
void targets_set (const ptr< ::lestes::std::map< srp< ::lestes::md::literals::literal_info_base >, srp< pi_preg > > > &)
 The method targets_set sets the field pi_branch_multiple_address_target::targets 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_address_target (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, ptr< ::lestes::std::map< srp< ::lestes::md::literals::literal_info_base >, srp< pi_preg > > > a__pi_branch_multiple_address_target__targets)
 Generated constructor for class pi_branch_multiple_address_target.
virtual void gc_mark ()
 Marking routine for class pi_branch_multiple_address_target.

Private Attributes

srp< ::lestes::std::map< srp<
::lestes::md::literals::literal_info_base >,
srp< pi_preg > > > 
targets
 The targets for jump.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Base class for conditional branches that jump to multiple addresses.


Constructor & Destructor Documentation

lestes::backend_v2::intercode::pi_branch_multiple_address_target::pi_branch_multiple_address_target ( 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,
ptr< ::lestes::std::map< srp< ::lestes::md::literals::literal_info_base >, srp< pi_preg > > >  a__pi_branch_multiple_address_target__targets 
) [protected]

Generated constructor for class pi_branch_multiple_address_target.

Generated constructor for class pi_branch_multiple_address_target.

Author:
lsg


Member Function Documentation

ptr<::lestes::std::map< srp<::lestes::md::literals::literal_info_base >, srp< pi_preg > > > lestes::backend_v2::intercode::pi_branch_multiple_address_target::targets_get (  )  const

The method targets_get returns the value of the field pi_branch_multiple_address_target::targets.

Returns:
The value of pi_branch_multiple_address_target::targets.
Author:
lsg

void lestes::backend_v2::intercode::pi_branch_multiple_address_target::targets_set ( const ptr< ::lestes::std::map< srp< ::lestes::md::literals::literal_info_base >, srp< pi_preg > > > &  x  ) 

The method targets_set sets the field pi_branch_multiple_address_target::targets to the given value.

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

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

Implements lestes::backend_v2::intercode::pi_branch_multiple.

Implemented in lestes::backend_v2::intercode::pi_ibm.

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

Implements lestes::backend_v2::intercode::pi_branch_multiple.

Implemented in lestes::backend_v2::intercode::pi_ibm.

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

Implements lestes::backend_v2::intercode::pi_branch_multiple.

Implemented in lestes::backend_v2::intercode::pi_ibm.

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

for purposes of dumping

Reimplemented from lestes::backend_v2::intercode::pi_branch_multiple.

Reimplemented in lestes::backend_v2::intercode::pi_ibm.

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

for purposes of dumping

Reimplemented from lestes::backend_v2::intercode::pi_branch_multiple.

Reimplemented in lestes::backend_v2::intercode::pi_ibm.

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

Marking routine for class pi_branch_multiple_address_target.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::backend_v2::intercode::pi_branch_multiple.

Reimplemented in lestes::backend_v2::intercode::pi_ibm.


Member Data Documentation

srp< ::lestes::std::map< srp< ::lestes::md::literals::literal_info_base >, srp< pi_preg > > > lestes::backend_v2::intercode::pi_branch_multiple_address_target::targets [private]

The targets for jump.

Each target is pair of literal and address. If select value is equal to the literal then jump to the address is executed.

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

Reimplemented from lestes::backend_v2::intercode::pi_branch_multiple.

Reimplemented in lestes::backend_v2::intercode::pi_ibm.


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