lestes::md::instructions::pi_operand2ge_operand Class Reference

#include <pi_operand2ge_operand.g.hh>

Inheritance diagram for lestes::md::instructions::pi_operand2ge_operand:

lestes::md::instructions::pi_operand2ge_operand_base lestes::backend_v2::intercode::visitor_pi_operand2ge_operand_gen_base lestes::std::visitor_base lestes::std::object lestes::std::mem::keystone List of all members.

Public Member Functions

virtual ptr< ::lestes::backend_v2::intercode::ge_operandvisit_pi_preg (ptr< ::lestes::backend_v2::intercode::pi_preg >)
virtual ptr< ::lestes::backend_v2::intercode::ge_operandvisit_pi_lit (ptr< ::lestes::backend_v2::intercode::pi_lit >)
virtual ptr< ::lestes::backend_v2::intercode::ge_operandvisit_pi_mem_decl (ptr< ::lestes::backend_v2::intercode::pi_mem_decl >)
virtual ptr< ::lestes::backend_v2::intercode::ge_operandvisit_pi_mem_lit (ptr< ::lestes::backend_v2::intercode::pi_mem_lit >)
virtual ptr< ::lestes::backend_v2::intercode::ge_operandvisit_pi_mem_member (ptr< ::lestes::backend_v2::intercode::pi_mem_member >)
virtual ptr< ::lestes::backend_v2::intercode::ge_operandvisit_pi_mem_stack (ptr< ::lestes::backend_v2::intercode::pi_mem_stack >)
virtual ptr< ::lestes::backend_v2::intercode::ge_operandvisit_pi_mem_preg (ptr< ::lestes::backend_v2::intercode::pi_mem_preg >)
virtual ptr< ::lestes::backend_v2::intercode::ge_operandvisit_pi_mem_temp (ptr< ::lestes::backend_v2::intercode::pi_mem_temp >)
virtual ptr< ::lestes::backend_v2::intercode::ge_operandvisit_pi_mem_ptr_deref (ptr< ::lestes::backend_v2::intercode::pi_mem_ptr_deref >)
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_operand2ge_operandcreate (ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_operand >, srp< ::lestes::backend_v2::intercode::ge_operand > > > a__pi_operand2ge_operand_base__pi_op2ge_op)
 First generated factory method for class pi_operand2ge_operand.
static ptr< pi_operand2ge_operandcreate ()
 Second generated factory method for class pi_operand2ge_operand.

Protected Member Functions

 pi_operand2ge_operand (ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_operand >, srp< ::lestes::backend_v2::intercode::ge_operand > > > a__pi_operand2ge_operand_base__pi_op2ge_op)
 Generated constructor for class pi_operand2ge_operand.
virtual void gc_mark ()
 Marking routine for class pi_operand2ge_operand.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Definition at line 29 of file pi_operand2ge_operand.g.hh.


Constructor & Destructor Documentation

lestes::md::instructions::pi_operand2ge_operand::pi_operand2ge_operand ( ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_operand >, srp< ::lestes::backend_v2::intercode::ge_operand > > >  a__pi_operand2ge_operand_base__pi_op2ge_op  )  [protected]

Generated constructor for class pi_operand2ge_operand.

Generated constructor for class pi_operand2ge_operand.

Author:
lsg

Definition at line 44 of file pi_operand2ge_operand.g.cc.

Referenced by create().

00045         : pi_operand2ge_operand_base(a__pi_operand2ge_operand_base__pi_op2ge_op)
00046 {}


Member Function Documentation

ptr<::lestes::backend_v2::intercode::ge_operand > lestes::md::instructions::pi_operand2ge_operand::visit_pi_preg ( ptr< ::lestes::backend_v2::intercode::pi_preg  )  [virtual]

Definition at line 16 of file pi_operand2ge_operand.cc.

00016                                                                                                                           {
00017         return ge_operand_reg::create(pi->type_get(), NULL, pi);
00018 }

ptr<::lestes::backend_v2::intercode::ge_operand > lestes::md::instructions::pi_operand2ge_operand::visit_pi_lit ( ptr< ::lestes::backend_v2::intercode::pi_lit  )  [virtual]

Definition at line 20 of file pi_operand2ge_operand.cc.

00020                                                                                                                         {
00021         return ge_operand_imm::create(pi->type_get(), NULL, pi, pi->value_get());
00022 }

ptr<::lestes::backend_v2::intercode::ge_operand > lestes::md::instructions::pi_operand2ge_operand::visit_pi_mem_decl ( ptr< ::lestes::backend_v2::intercode::pi_mem_decl  )  [virtual]

Definition at line 24 of file pi_operand2ge_operand.cc.

00024                                                                                                                                   {
00025         return ge_operand_mem::create(pi->type_get(), NULL, pi, pi->factory_get());
00026 }

ptr<::lestes::backend_v2::intercode::ge_operand > lestes::md::instructions::pi_operand2ge_operand::visit_pi_mem_lit ( ptr< ::lestes::backend_v2::intercode::pi_mem_lit  )  [virtual]

Definition at line 28 of file pi_operand2ge_operand.cc.

00028                                                                                                                                {
00029         return ge_operand_mem::create(pi->type_get(), NULL, pi, pi->factory_get());
00030 }

ptr<::lestes::backend_v2::intercode::ge_operand > lestes::md::instructions::pi_operand2ge_operand::visit_pi_mem_member ( ptr< ::lestes::backend_v2::intercode::pi_mem_member  )  [virtual]

Definition at line 32 of file pi_operand2ge_operand.cc.

00032                                                                                                                                      {
00033         return ge_operand_mem::create(pi->type_get(), NULL, pi, pi->factory_get());
00034 }

ptr<::lestes::backend_v2::intercode::ge_operand > lestes::md::instructions::pi_operand2ge_operand::visit_pi_mem_stack ( ptr< ::lestes::backend_v2::intercode::pi_mem_stack  )  [virtual]

Definition at line 36 of file pi_operand2ge_operand.cc.

00036                                                                                                                                    {
00037         return ge_operand_mem::create(pi->type_get(), NULL, pi, pi->factory_get());
00038 }

ptr<::lestes::backend_v2::intercode::ge_operand > lestes::md::instructions::pi_operand2ge_operand::visit_pi_mem_preg ( ptr< ::lestes::backend_v2::intercode::pi_mem_preg  )  [virtual]

Definition at line 40 of file pi_operand2ge_operand.cc.

00040                                                                                                                                  {
00041         return ge_operand_reg::create(pi->type_get(), NULL, pi);
00042 }

ptr<::lestes::backend_v2::intercode::ge_operand > lestes::md::instructions::pi_operand2ge_operand::visit_pi_mem_temp ( ptr< ::lestes::backend_v2::intercode::pi_mem_temp  )  [virtual]

Definition at line 44 of file pi_operand2ge_operand.cc.

00044                                                                                                                                  {
00045         return ge_operand_mem::create(pi->type_get(), NULL, pi, pi->factory_get());
00046 }

ptr<::lestes::backend_v2::intercode::ge_operand > lestes::md::instructions::pi_operand2ge_operand::visit_pi_mem_ptr_deref ( ptr< ::lestes::backend_v2::intercode::pi_mem_ptr_deref  )  [virtual]

Definition at line 48 of file pi_operand2ge_operand.cc.

00048                                                                                                                                             {
00049         ptr<pi_mf_ptr_deref> mf = pi->factory_get().dncast<pi_mf_ptr_deref>();
00050         
00051         if ( !mf->ge_addr_get() ) {
00052                 mf->ge_addr_set(this->convert(mf->addr_get()).dncast<ge_operand_reg>());                
00053         }
00054         
00055         return ge_operand_mem::create(pi->type_get(), NULL, pi, mf);
00056 }

ptr< pi_operand2ge_operand > lestes::md::instructions::pi_operand2ge_operand::create ( ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_operand >, srp< ::lestes::backend_v2::intercode::ge_operand > > >  a__pi_operand2ge_operand_base__pi_op2ge_op  )  [static]

First generated factory method for class pi_operand2ge_operand.

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

Author:
lsg

Definition at line 26 of file pi_operand2ge_operand.g.cc.

References pi_operand2ge_operand().

00027 {
00028         return ptr< pi_operand2ge_operand > ( new pi_operand2ge_operand(a__pi_operand2ge_operand_base__pi_op2ge_op) );
00029 }

ptr< pi_operand2ge_operand > lestes::md::instructions::pi_operand2ge_operand::create ( void   )  [static]

Second generated factory method for class pi_operand2ge_operand.

This factory method for class pi_operand2ge_operand uses initializers.

Author:
lsg

Definition at line 35 of file pi_operand2ge_operand.g.cc.

References pi_operand2ge_operand().

Referenced by lestes::md::instructions::pi_pi2ge_pi::create().

00036 {
00037         return ptr< pi_operand2ge_operand > ( new pi_operand2ge_operand(::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_operand >, srp< ::lestes::backend_v2::intercode::ge_operand > > ::create()) );
00038 }

ptr< object::reflection_list > lestes::md::instructions::pi_operand2ge_operand::reflection_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::md::instructions::pi_operand2ge_operand_base.

Definition at line 48 of file pi_operand2ge_operand.g.cc.

References lestes::std::list< T >::create(), reflection, and lestes::md::instructions::pi_operand2ge_operand_base::reflection_get().

00049 {
00050         if (!reflection) {
00051                 typedef class_reflection::field_metadata md;
00052                 typedef class_reflection::field_metadata_list mdlist;
00053                 ptr<mdlist> mdl = mdlist::create();
00054                 reflection = reflection_list::create( pi_operand2ge_operand_base::reflection_get() );
00055                 reflection->push_back( class_reflection::create( "pi_operand2ge_operand", mdl ) );
00056         }
00057         return reflection;
00058 }

ptr< object::field_list_list > lestes::md::instructions::pi_operand2ge_operand::field_values_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::md::instructions::pi_operand2ge_operand_base.

Definition at line 60 of file pi_operand2ge_operand.g.cc.

References lestes::md::instructions::pi_operand2ge_operand_base::field_values_get().

00061 {
00062         ptr < field_list_list > result = pi_operand2ge_operand_base::field_values_get();
00063         return result;
00064 }

void lestes::md::instructions::pi_operand2ge_operand::gc_mark ( void   )  [protected, virtual]

Marking routine for class pi_operand2ge_operand.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::md::instructions::pi_operand2ge_operand_base.

Definition at line 71 of file pi_operand2ge_operand.g.cc.

References lestes::md::instructions::pi_operand2ge_operand_base::gc_mark().

00072 {
00073         pi_operand2ge_operand_base::gc_mark();
00074 }


Member Data Documentation

ptr< object::reflection_list > lestes::md::instructions::pi_operand2ge_operand::reflection = reflection [static, private]

Reimplemented from lestes::md::instructions::pi_operand2ge_operand_base.

Definition at line 74 of file pi_operand2ge_operand.g.hh.

Referenced by reflection_get().


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