lestes::backend_v2::intercode::pi_mem_preg Class Reference

Wrapper class for pseudoregister to look like memory. More...

#include <pi.g.hh>

Inheritance diagram for lestes::backend_v2::intercode::pi_mem_preg:

lestes::backend_v2::intercode::pi_mem lestes::backend_v2::intercode::pi_operand lestes::intercode::pi_base lestes::intercode::intercode lestes::std::object lestes::std::mem::keystone List of all members.

Public Member Functions

virtual kind_type kind_get ()
 Returns kind of the operand.
virtual ptr< ::lestes::backend_v2::intercode::ge_operandaccept_visitor_pi_operand2ge_operand_gen_base (ptr< visitor_pi_operand2ge_operand_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_mem_pregcreate (ptr< pi_pi > a__pi_operand__origin, ptr< ::lestes::md::types::tm_data_type_base > a__pi_operand__type, ptr< ::lestes::backend_v2::intercode::pi_mem_factory > a__pi_mem__factory)
 First generated factory method for class pi_mem_preg.

Protected Member Functions

 pi_mem_preg (ptr< pi_pi > a__pi_operand__origin, ptr< ::lestes::md::types::tm_data_type_base > a__pi_operand__type, ptr< ::lestes::backend_v2::intercode::pi_mem_factory > a__pi_mem__factory)
 Generated constructor for class pi_mem_preg.
virtual void gc_mark ()
 Marking routine for class pi_mem_preg.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Wrapper class for pseudoregister to look like memory.

Used for function parameters (only memory operands can be parameter) for values passed in pregs.

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


Constructor & Destructor Documentation

lestes::backend_v2::intercode::pi_mem_preg::pi_mem_preg ( ptr< pi_pi a__pi_operand__origin,
ptr< ::lestes::md::types::tm_data_type_base a__pi_operand__type,
ptr< ::lestes::backend_v2::intercode::pi_mem_factory a__pi_mem__factory 
) [protected]

Generated constructor for class pi_mem_preg.

Generated constructor for class pi_mem_preg.

Author:
lsg

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

Referenced by create().

08641         : pi_mem(a__pi_operand__origin,
08642                 a__pi_operand__type,
08643                 a__pi_mem__factory)
08644 {}


Member Function Documentation

pi_operand::kind_type lestes::backend_v2::intercode::pi_mem_preg::kind_get (  )  [virtual]

Returns kind of the operand.

Implements lestes::backend_v2::intercode::pi_mem.

Definition at line 50 of file pi.cc.

References lestes::backend_v2::intercode::pi_operand::MEM_PREG.

00050                                           {
00051         return pi_operand::MEM_PREG;
00052 }

ptr<::lestes::backend_v2::intercode::ge_operand > lestes::backend_v2::intercode::pi_mem_preg::accept_visitor_pi_operand2ge_operand_gen_base ( ptr< visitor_pi_operand2ge_operand_gen_base v  )  [virtual]

Implements lestes::backend_v2::intercode::pi_mem.

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

08617 {
08618         return v->visit_pi_mem_preg( this );
08619 }

ptr< pi_mem_preg > lestes::backend_v2::intercode::pi_mem_preg::create ( ptr< pi_pi a__pi_operand__origin,
ptr< ::lestes::md::types::tm_data_type_base a__pi_operand__type,
ptr< ::lestes::backend_v2::intercode::pi_mem_factory a__pi_mem__factory 
) [static]

First generated factory method for class pi_mem_preg.

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

Author:
lsg

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

References pi_mem_preg().

08628 {
08629         return ptr< pi_mem_preg > ( new pi_mem_preg(a__pi_operand__origin,
08630                 a__pi_operand__type,
08631                 a__pi_mem__factory) );
08632 }

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

for purposes of dumping

Reimplemented from lestes::backend_v2::intercode::pi_mem.

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

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

08647 {
08648         if (!reflection) {
08649                 typedef class_reflection::field_metadata md;
08650                 typedef class_reflection::field_metadata_list mdlist;
08651                 ptr<mdlist> mdl = mdlist::create();
08652                 reflection = reflection_list::create( pi_mem::reflection_get() );
08653                 reflection->push_back( class_reflection::create( "pi_mem_preg", mdl ) );
08654         }
08655         return reflection;
08656 }

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

for purposes of dumping

Reimplemented from lestes::backend_v2::intercode::pi_mem.

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

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

08659 {
08660         ptr < field_list_list > result = pi_mem::field_values_get();
08661         return result;
08662 }

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

Marking routine for class pi_mem_preg.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::backend_v2::intercode::pi_mem.

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

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

08670 {
08671         pi_mem::gc_mark();
08672 }


Member Data Documentation

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

Reimplemented from lestes::backend_v2::intercode::pi_mem.

Definition at line 4857 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:06 2007 for lestes by doxygen 1.5.1-20070107