lestes::backend_v2::intercode::pi_ibm Class Reference

Indirect branch multiple (switch jump). More...

#include <pi.g.hh>

Inheritance diagram for lestes::backend_v2::intercode::pi_ibm:

lestes::backend_v2::intercode::pi_branch_multiple_address_target 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 List of all members.

Public Member Functions

virtual ptr< ::lestes::backend_v2::structs::pi_operandsaccept_visitor_pi_pi2pi_operands_gen_base (ptr< visitor_pi_pi2pi_operands_gen_base > v)
virtual ulint accept_visitor_pi_pi2ulint_gen_base (ptr< visitor_pi_pi2ulint_gen_base > v)
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)
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< pi_ibmcreate (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)
 First generated factory method for class pi_ibm.

Protected Member Functions

 pi_ibm (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_ibm.
virtual void gc_mark ()
 Marking routine for class pi_ibm.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Indirect branch multiple (switch jump).

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


Constructor & Destructor Documentation

lestes::backend_v2::intercode::pi_ibm::pi_ibm ( 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_ibm.

Generated constructor for class pi_ibm.

Author:
lsg

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

Referenced by create().

06872         : pi_branch_multiple_address_target(a__pi_pi__psp,
06873                 a__pi_pi__nsp,
06874                 a__pi_pi__level,
06875                 a__pi_branch_multiple__value,
06876                 a__pi_branch_multiple_address_target__targets)
06877 {}


Member Function Documentation

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

Implements lestes::backend_v2::intercode::pi_branch_multiple_address_target.

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

06832 {
06833         return v->visit_pi_ibm( this );
06834 }

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

Implements lestes::backend_v2::intercode::pi_branch_multiple_address_target.

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

06837 {
06838         return v->visit_pi_ibm( this );
06839 }

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

Implements lestes::backend_v2::intercode::pi_branch_multiple_address_target.

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

06842 {
06843         return v->visit_pi_ibm( this );
06844 }

ptr< pi_ibm > lestes::backend_v2::intercode::pi_ibm::create ( 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 
) [static]

First generated factory method for class pi_ibm.

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

Author:
lsg

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

References pi_ibm().

06855 {
06856         return ptr< pi_ibm > ( new pi_ibm(a__pi_pi__psp,
06857                 a__pi_pi__nsp,
06858                 a__pi_pi__level,
06859                 a__pi_branch_multiple__value,
06860                 a__pi_branch_multiple_address_target__targets) );
06861 }

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

for purposes of dumping

Reimplemented from lestes::backend_v2::intercode::pi_branch_multiple_address_target.

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

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

06880 {
06881         if (!reflection) {
06882                 typedef class_reflection::field_metadata md;
06883                 typedef class_reflection::field_metadata_list mdlist;
06884                 ptr<mdlist> mdl = mdlist::create();
06885                 reflection = reflection_list::create( pi_branch_multiple_address_target::reflection_get() );
06886                 reflection->push_back( class_reflection::create( "pi_ibm", mdl ) );
06887         }
06888         return reflection;
06889 }

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

for purposes of dumping

Reimplemented from lestes::backend_v2::intercode::pi_branch_multiple_address_target.

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

References lestes::backend_v2::intercode::pi_branch_multiple_address_target::field_values_get().

06892 {
06893         ptr < field_list_list > result = pi_branch_multiple_address_target::field_values_get();
06894         return result;
06895 }

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

Marking routine for class pi_ibm.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::backend_v2::intercode::pi_branch_multiple_address_target.

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

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


Member Data Documentation

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

Reimplemented from lestes::backend_v2::intercode::pi_branch_multiple_address_target.

Definition at line 3876 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:24:03 2007 for lestes by doxygen 1.5.1-20070107