lestes::backend_v2::intercode::ge_operand_reg Class Reference

A register operand. More...

#include <ge.g.hh>

Inheritance diagram for lestes::backend_v2::intercode::ge_operand_reg:

lestes::backend_v2::intercode::ge_operand lestes::std::object lestes::std::mem::keystone List of all members.

Public Member Functions

ptr< ::lestes::std::map< srp<
ge_pi >, ulint > > 
assigned_registers_get () const
 The method assigned_registers_get returns the value of the field ge_operand_reg::assigned_registers.
void assigned_registers_set (const ptr< ::lestes::std::map< srp< ge_pi >, ulint > > &)
 The method assigned_registers_set sets the field ge_operand_reg::assigned_registers to the given value.
virtual ge_operand::kind_type kind_get ()
 Returns kind of the operand.
virtual lstring accept_visitor_ge_operand2lstring_gen_base (ptr< visitor_ge_operand2lstring_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< ge_operand_regcreate (ptr< ::lestes::md::types::tm_data_type_base > a__ge_operand__type, ptr< ge_pi > a__ge_operand__origin, ptr< ::lestes::backend_v2::intercode::pi_operand > a__ge_operand__pi_source, ptr< ::lestes::std::map< srp< ge_pi >, ulint > > a__ge_operand_reg__assigned_registers)
 First generated factory method for class ge_operand_reg.
static ptr< ge_operand_regcreate (ptr< ::lestes::md::types::tm_data_type_base > a__ge_operand__type, ptr< ge_pi > a__ge_operand__origin, ptr< ::lestes::backend_v2::intercode::pi_operand > a__ge_operand__pi_source)
 Second generated factory method for class ge_operand_reg.

Protected Member Functions

 ge_operand_reg (ptr< ::lestes::md::types::tm_data_type_base > a__ge_operand__type, ptr< ge_pi > a__ge_operand__origin, ptr< ::lestes::backend_v2::intercode::pi_operand > a__ge_operand__pi_source, ptr< ::lestes::std::map< srp< ge_pi >, ulint > > a__ge_operand_reg__assigned_registers)
 Generated constructor for class ge_operand_reg.
virtual void gc_mark ()
 Marking routine for class ge_operand_reg.

Private Attributes

srp< ::lestes::std::map< srp<
ge_pi >, ulint > > 
assigned_registers
 Registers assigned to the operand within each pseudoinstruction that use it.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

A register operand.

Definition at line 464 of file ge.g.hh.


Constructor & Destructor Documentation

lestes::backend_v2::intercode::ge_operand_reg::ge_operand_reg ( ptr< ::lestes::md::types::tm_data_type_base a__ge_operand__type,
ptr< ge_pi a__ge_operand__origin,
ptr< ::lestes::backend_v2::intercode::pi_operand a__ge_operand__pi_source,
ptr< ::lestes::std::map< srp< ge_pi >, ulint > >  a__ge_operand_reg__assigned_registers 
) [protected]

Generated constructor for class ge_operand_reg.

Generated constructor for class ge_operand_reg.

Author:
lsg

Definition at line 703 of file ge.g.cc.

Referenced by create().

00707         : ge_operand(a__ge_operand__type,
00708                 a__ge_operand__origin,
00709                 a__ge_operand__pi_source), assigned_registers(checked(a__ge_operand_reg__assigned_registers))
00710 {}


Member Function Documentation

ptr<::lestes::std::map< srp< ge_pi >, ulint > > lestes::backend_v2::intercode::ge_operand_reg::assigned_registers_get (  )  const

The method assigned_registers_get returns the value of the field ge_operand_reg::assigned_registers.

Returns:
The value of ge_operand_reg::assigned_registers.
Author:
lsg

Definition at line 654 of file ge.g.cc.

References assigned_registers.

00655 {
00656         return assigned_registers;
00657 }

void lestes::backend_v2::intercode::ge_operand_reg::assigned_registers_set ( const ptr< ::lestes::std::map< srp< ge_pi >, ulint > > &  x  ) 

The method assigned_registers_set sets the field ge_operand_reg::assigned_registers to the given value.

Parameters:
[in] x The new value to set ge_operand_reg::assigned_registers to.
Author:
lsg

Definition at line 663 of file ge.g.cc.

References assigned_registers.

00664 {
00665         ge_operand_reg::assigned_registers = x;
00666 }

ge_operand::kind_type lestes::backend_v2::intercode::ge_operand_reg::kind_get (  )  [virtual]

Returns kind of the operand.

Implements lestes::backend_v2::intercode::ge_operand.

Definition at line 117 of file ge.cc.

References lestes::backend_v2::intercode::ge_operand::REGISTER.

00118 {
00119     return ge_operand::REGISTER;
00120 }

lstring lestes::backend_v2::intercode::ge_operand_reg::accept_visitor_ge_operand2lstring_gen_base ( ptr< visitor_ge_operand2lstring_gen_base v  )  [virtual]

Implements lestes::backend_v2::intercode::ge_operand.

Definition at line 668 of file ge.g.cc.

00669 {
00670         return v->visit_ge_operand_reg( this );
00671 }

ptr< ge_operand_reg > lestes::backend_v2::intercode::ge_operand_reg::create ( ptr< ::lestes::md::types::tm_data_type_base a__ge_operand__type,
ptr< ge_pi a__ge_operand__origin,
ptr< ::lestes::backend_v2::intercode::pi_operand a__ge_operand__pi_source,
ptr< ::lestes::std::map< srp< ge_pi >, ulint > >  a__ge_operand_reg__assigned_registers 
) [static]

First generated factory method for class ge_operand_reg.

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

Author:
lsg

Definition at line 677 of file ge.g.cc.

References ge_operand_reg().

Referenced by create().

00681 {
00682         return ptr< ge_operand_reg > ( new ge_operand_reg(a__ge_operand__type,
00683                 a__ge_operand__origin,
00684                 a__ge_operand__pi_source,
00685                 a__ge_operand_reg__assigned_registers) );
00686 }

ptr< ge_operand_reg > lestes::backend_v2::intercode::ge_operand_reg::create ( ptr< ::lestes::md::types::tm_data_type_base a__ge_operand__type,
ptr< ge_pi a__ge_operand__origin,
ptr< ::lestes::backend_v2::intercode::pi_operand a__ge_operand__pi_source 
) [static]

Second generated factory method for class ge_operand_reg.

This factory method for class ge_operand_reg uses initializers.

Author:
lsg

Definition at line 692 of file ge.g.cc.

References create(), and ge_operand_reg().

00695 {
00696         return ptr< ge_operand_reg > ( new ge_operand_reg(a__ge_operand__type, a__ge_operand__origin, a__ge_operand__pi_source, ::lestes::std::map< srp< ge_pi >, ulint > ::create()) );
00697 }

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

for purposes of dumping

Reimplemented from lestes::backend_v2::intercode::ge_operand.

Definition at line 712 of file ge.g.cc.

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

00713 {
00714         if (!reflection) {
00715                 typedef class_reflection::field_metadata md;
00716                 typedef class_reflection::field_metadata_list mdlist;
00717                 ptr<mdlist> mdl = mdlist::create();
00718                 mdl->push_back( md::create( "assigned_registers", "map&lt; srp&lt; ge_pi &gt;, ulint &gt;" ) );
00719                 reflection = reflection_list::create( ge_operand::reflection_get() );
00720                 reflection->push_back( class_reflection::create( "ge_operand_reg", mdl ) );
00721         }
00722         return reflection;
00723 }

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

for purposes of dumping

Reimplemented from lestes::backend_v2::intercode::ge_operand.

Definition at line 725 of file ge.g.cc.

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

00726 {
00727         ptr < field_list_list > result = ge_operand::field_values_get();
00728         result->push_back( value_list::create() );
00729         result->back()->push_back( this->assigned_registers );
00730         return result;
00731 }

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

Marking routine for class ge_operand_reg.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::backend_v2::intercode::ge_operand.

Definition at line 738 of file ge.g.cc.

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

00739 {
00740         ge_operand::gc_mark();
00741 }


Member Data Documentation

srp< ::lestes::std::map< srp< ge_pi >, ulint > > lestes::backend_v2::intercode::ge_operand_reg::assigned_registers [private]

Registers assigned to the operand within each pseudoinstruction that use it.

Definition at line 510 of file ge.g.hh.

Referenced by assigned_registers_get(), and assigned_registers_set().

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

Reimplemented from lestes::backend_v2::intercode::ge_operand.

Definition at line 511 of file ge.g.hh.

Referenced by reflection_get().


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