lestes::backend_v2::intercode::pi_mem Class Reference

Base class for memory operands. More...

#include <pi.g.hh>

Inheritance diagram for 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 lestes::backend_v2::intercode::pi_mem_decl lestes::backend_v2::intercode::pi_mem_lit lestes::backend_v2::intercode::pi_mem_member lestes::backend_v2::intercode::pi_mem_preg lestes::backend_v2::intercode::pi_mem_ptr_deref lestes::backend_v2::intercode::pi_mem_stack lestes::backend_v2::intercode::pi_mem_temp List of all members.

Public Member Functions

ptr< ::lestes::backend_v2::intercode::pi_mem_factoryfactory_get () const
 The method factory_get returns the value of the field pi_mem::factory.
void factory_set (const ptr< ::lestes::backend_v2::intercode::pi_mem_factory > &)
 The method factory_set sets the field pi_mem::factory to the given value.
virtual kind_type kind_get () override
 Identifies 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) 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_mem (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.
virtual void gc_mark ()
 Marking routine for class pi_mem.

Private Attributes

srp< ::lestes::backend_v2::intercode::pi_mem_factoryfactory
 Memory space that is accessed through the memory operand.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Base class for memory operands.

Represents allocated memory chunk.

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


Constructor & Destructor Documentation

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

Generated constructor for class pi_mem.

Author:
lsg

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

08329         : pi_operand(a__pi_operand__origin,
08330                 a__pi_operand__type), factory(a__pi_mem__factory)
08331 {}


Member Function Documentation

ptr<::lestes::backend_v2::intercode::pi_mem_factory > lestes::backend_v2::intercode::pi_mem::factory_get (  )  const

The method factory_get returns the value of the field pi_mem::factory.

Returns:
The value of pi_mem::factory.
Author:
lsg

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

References factory.

08309 {
08310         return factory;
08311 }

void lestes::backend_v2::intercode::pi_mem::factory_set ( const ptr< ::lestes::backend_v2::intercode::pi_mem_factory > &  x  ) 

The method factory_set sets the field pi_mem::factory to the given value.

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

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

References factory.

08318 {
08319         pi_mem::factory = x;
08320 }

virtual kind_type lestes::backend_v2::intercode::pi_mem::kind_get (  )  [pure virtual]

Identifies kind of the operand.

Implements lestes::backend_v2::intercode::pi_operand.

Implemented in lestes::backend_v2::intercode::pi_mem_decl, lestes::backend_v2::intercode::pi_mem_lit, lestes::backend_v2::intercode::pi_mem_member, lestes::backend_v2::intercode::pi_mem_stack, lestes::backend_v2::intercode::pi_mem_preg, lestes::backend_v2::intercode::pi_mem_temp, and lestes::backend_v2::intercode::pi_mem_ptr_deref.

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

Implements lestes::backend_v2::intercode::pi_operand.

Implemented in lestes::backend_v2::intercode::pi_mem_decl, lestes::backend_v2::intercode::pi_mem_lit, lestes::backend_v2::intercode::pi_mem_member, lestes::backend_v2::intercode::pi_mem_stack, lestes::backend_v2::intercode::pi_mem_preg, lestes::backend_v2::intercode::pi_mem_temp, and lestes::backend_v2::intercode::pi_mem_ptr_deref.

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

for purposes of dumping

Reimplemented from lestes::backend_v2::intercode::pi_operand.

Reimplemented in lestes::backend_v2::intercode::pi_mem_decl, lestes::backend_v2::intercode::pi_mem_lit, lestes::backend_v2::intercode::pi_mem_member, lestes::backend_v2::intercode::pi_mem_stack, lestes::backend_v2::intercode::pi_mem_preg, lestes::backend_v2::intercode::pi_mem_temp, and lestes::backend_v2::intercode::pi_mem_ptr_deref.

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

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

Referenced by lestes::backend_v2::intercode::pi_mem_ptr_deref::reflection_get(), lestes::backend_v2::intercode::pi_mem_temp::reflection_get(), lestes::backend_v2::intercode::pi_mem_preg::reflection_get(), lestes::backend_v2::intercode::pi_mem_stack::reflection_get(), lestes::backend_v2::intercode::pi_mem_member::reflection_get(), lestes::backend_v2::intercode::pi_mem_lit::reflection_get(), and lestes::backend_v2::intercode::pi_mem_decl::reflection_get().

08334 {
08335         if (!reflection) {
08336                 typedef class_reflection::field_metadata md;
08337                 typedef class_reflection::field_metadata_list mdlist;
08338                 ptr<mdlist> mdl = mdlist::create();
08339                 mdl->push_back( md::create( "factory", "pi_mem_factory" ) );
08340                 reflection = reflection_list::create( pi_operand::reflection_get() );
08341                 reflection->push_back( class_reflection::create( "pi_mem", mdl ) );
08342         }
08343         return reflection;
08344 }

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

for purposes of dumping

Reimplemented from lestes::backend_v2::intercode::pi_operand.

Reimplemented in lestes::backend_v2::intercode::pi_mem_decl, lestes::backend_v2::intercode::pi_mem_lit, lestes::backend_v2::intercode::pi_mem_member, lestes::backend_v2::intercode::pi_mem_stack, lestes::backend_v2::intercode::pi_mem_preg, lestes::backend_v2::intercode::pi_mem_temp, and lestes::backend_v2::intercode::pi_mem_ptr_deref.

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

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

Referenced by lestes::backend_v2::intercode::pi_mem_ptr_deref::field_values_get(), lestes::backend_v2::intercode::pi_mem_temp::field_values_get(), lestes::backend_v2::intercode::pi_mem_preg::field_values_get(), lestes::backend_v2::intercode::pi_mem_stack::field_values_get(), lestes::backend_v2::intercode::pi_mem_member::field_values_get(), lestes::backend_v2::intercode::pi_mem_lit::field_values_get(), and lestes::backend_v2::intercode::pi_mem_decl::field_values_get().

08347 {
08348         ptr < field_list_list > result = pi_operand::field_values_get();
08349         result->push_back( value_list::create() );
08350         result->back()->push_back( this->factory );
08351         return result;
08352 }

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

Marking routine for class pi_mem.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::backend_v2::intercode::pi_operand.

Reimplemented in lestes::backend_v2::intercode::pi_mem_decl, lestes::backend_v2::intercode::pi_mem_lit, lestes::backend_v2::intercode::pi_mem_member, lestes::backend_v2::intercode::pi_mem_stack, lestes::backend_v2::intercode::pi_mem_preg, lestes::backend_v2::intercode::pi_mem_temp, and lestes::backend_v2::intercode::pi_mem_ptr_deref.

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

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

Referenced by lestes::backend_v2::intercode::pi_mem_ptr_deref::gc_mark(), lestes::backend_v2::intercode::pi_mem_temp::gc_mark(), lestes::backend_v2::intercode::pi_mem_preg::gc_mark(), lestes::backend_v2::intercode::pi_mem_stack::gc_mark(), lestes::backend_v2::intercode::pi_mem_member::gc_mark(), lestes::backend_v2::intercode::pi_mem_lit::gc_mark(), and lestes::backend_v2::intercode::pi_mem_decl::gc_mark().

08360 {
08361         pi_operand::gc_mark();
08362 }


Member Data Documentation

srp< ::lestes::backend_v2::intercode::pi_mem_factory > lestes::backend_v2::intercode::pi_mem::factory [private]

Memory space that is accessed through the memory operand.

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

Referenced by factory_get(), and factory_set().

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

Reimplemented from lestes::backend_v2::intercode::pi_operand.

Reimplemented in lestes::backend_v2::intercode::pi_mem_decl, lestes::backend_v2::intercode::pi_mem_lit, lestes::backend_v2::intercode::pi_mem_member, lestes::backend_v2::intercode::pi_mem_stack, lestes::backend_v2::intercode::pi_mem_preg, lestes::backend_v2::intercode::pi_mem_temp, and lestes::backend_v2::intercode::pi_mem_ptr_deref.

Definition at line 4662 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