lestes::backend_v2::intercode::ge_operand Class Reference

Base class for an operand of a ge-level pseudoinstruction. More...

#include <ge.g.hh>

Inheritance diagram for lestes::backend_v2::intercode::ge_operand:

lestes::std::object lestes::std::mem::keystone lestes::backend_v2::intercode::ge_operand_imm lestes::backend_v2::intercode::ge_operand_mem lestes::backend_v2::intercode::ge_operand_reg List of all members.

Public Types

enum  kind_type { REGISTER, MEMORY, IMMEDIATE }
 Operand kinds. More...

Public Member Functions

ptr< ::lestes::md::types::tm_data_type_basetype_get () const
 The method type_get returns the value of the field ge_operand::type.
void type_set (const ptr< ::lestes::md::types::tm_data_type_base > &)
 The method type_set sets the field ge_operand::type to the given value.
ptr< ge_piorigin_get () const
 The method origin_get returns the value of the field ge_operand::origin.
void origin_set (const ptr< ge_pi > &)
 The method origin_set sets the field ge_operand::origin to the given value.
ptr< ::lestes::backend_v2::intercode::pi_operandpi_source_get () const
 The method pi_source_get returns the value of the field ge_operand::pi_source.
void pi_source_set (const ptr< ::lestes::backend_v2::intercode::pi_operand > &)
 The method pi_source_set sets the field ge_operand::pi_source to the given value.
virtual ge_operand::kind_type kind_get () override
 Returns kind of operand.
virtual lstring accept_visitor_ge_operand2lstring_gen_base (ptr< visitor_ge_operand2lstring_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

 ge_operand (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)
 Generated constructor for class ge_operand.
virtual void gc_mark ()
 Marking routine for class ge_operand.

Private Attributes

srp< ::lestes::md::types::tm_data_type_basetype
 A data type of a value that the operand holds.
srp< ge_piorigin
 An pseudoinstruction that crates value of the operand.
srp< ::lestes::backend_v2::intercode::pi_operandpi_source
 A pi-level operand that is source for the operand.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Base class for an operand of a ge-level pseudoinstruction.

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


Member Enumeration Documentation

enum lestes::backend_v2::intercode::ge_operand::kind_type

Operand kinds.

Enumerator:
REGISTER 
MEMORY 
IMMEDIATE 

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

00406                        {
00407                 REGISTER,
00408                 MEMORY,
00409                 IMMEDIATE
00410         };


Constructor & Destructor Documentation

lestes::backend_v2::intercode::ge_operand::ge_operand ( 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 
) [protected]

Generated constructor for class ge_operand.

Generated constructor for class ge_operand.

Author:
lsg

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

00606         : ::lestes::std::object(), type(checked(a__ge_operand__type)), origin(a__ge_operand__origin), pi_source(a__ge_operand__pi_source)
00607 {}


Member Function Documentation

ptr<::lestes::md::types::tm_data_type_base > lestes::backend_v2::intercode::ge_operand::type_get (  )  const

The method type_get returns the value of the field ge_operand::type.

Returns:
The value of ge_operand::type.
Author:
lsg

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

References type.

00550 {
00551         return type;
00552 }

void lestes::backend_v2::intercode::ge_operand::type_set ( const ptr< ::lestes::md::types::tm_data_type_base > &  x  ) 

The method type_set sets the field ge_operand::type to the given value.

Parameters:
[in] x The new value to set ge_operand::type to.
Author:
lsg

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

References type.

00559 {
00560         ge_operand::type = x;
00561 }

ptr< ge_pi > lestes::backend_v2::intercode::ge_operand::origin_get (  )  const

The method origin_get returns the value of the field ge_operand::origin.

Returns:
The value of ge_operand::origin.
Author:
lsg

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

References origin.

00568 {
00569         return origin;
00570 }

void lestes::backend_v2::intercode::ge_operand::origin_set ( const ptr< ge_pi > &  x  ) 

The method origin_set sets the field ge_operand::origin to the given value.

Parameters:
[in] x The new value to set ge_operand::origin to.
Author:
lsg

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

References origin.

00577 {
00578         ge_operand::origin = x;
00579 }

ptr<::lestes::backend_v2::intercode::pi_operand > lestes::backend_v2::intercode::ge_operand::pi_source_get (  )  const

The method pi_source_get returns the value of the field ge_operand::pi_source.

Returns:
The value of ge_operand::pi_source.
Author:
lsg

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

References pi_source.

00586 {
00587         return pi_source;
00588 }

void lestes::backend_v2::intercode::ge_operand::pi_source_set ( const ptr< ::lestes::backend_v2::intercode::pi_operand > &  x  ) 

The method pi_source_set sets the field ge_operand::pi_source to the given value.

Parameters:
[in] x The new value to set ge_operand::pi_source to.
Author:
lsg

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

References pi_source.

00595 {
00596         ge_operand::pi_source = x;
00597 }

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

Returns kind of operand.

Implemented in lestes::backend_v2::intercode::ge_operand_reg, lestes::backend_v2::intercode::ge_operand_mem, and lestes::backend_v2::intercode::ge_operand_imm.

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

Implemented in lestes::backend_v2::intercode::ge_operand_reg, lestes::backend_v2::intercode::ge_operand_mem, and lestes::backend_v2::intercode::ge_operand_imm.

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

for purposes of dumping

Reimplemented from lestes::std::object.

Reimplemented in lestes::backend_v2::intercode::ge_operand_reg, lestes::backend_v2::intercode::ge_operand_mem, and lestes::backend_v2::intercode::ge_operand_imm.

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

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

Referenced by lestes::backend_v2::intercode::ge_operand_imm::reflection_get(), lestes::backend_v2::intercode::ge_operand_mem::reflection_get(), and lestes::backend_v2::intercode::ge_operand_reg::reflection_get().

00610 {
00611         if (!reflection) {
00612                 typedef class_reflection::field_metadata md;
00613                 typedef class_reflection::field_metadata_list mdlist;
00614                 ptr<mdlist> mdl = mdlist::create();
00615                 mdl->push_back( md::create( "type", "tm_data_type_base" ) );
00616                 mdl->push_back( md::create( "origin", "ge_pi" ) );
00617                 mdl->push_back( md::create( "pi_source", "pi_operand" ) );
00618                 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00619                 reflection->push_back( class_reflection::create( "ge_operand", mdl ) );
00620         }
00621         return reflection;
00622 }

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

for purposes of dumping

Reimplemented from lestes::std::object.

Reimplemented in lestes::backend_v2::intercode::ge_operand_reg, lestes::backend_v2::intercode::ge_operand_mem, and lestes::backend_v2::intercode::ge_operand_imm.

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

References lestes::std::list< T >::create(), and lestes::std::object::field_values_get().

Referenced by lestes::backend_v2::intercode::ge_operand_imm::field_values_get(), lestes::backend_v2::intercode::ge_operand_mem::field_values_get(), and lestes::backend_v2::intercode::ge_operand_reg::field_values_get().

00625 {
00626         ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00627         result->push_back( value_list::create() );
00628         result->back()->push_back( this->type );
00629         result->push_back( value_list::create() );
00630         result->back()->push_back( this->origin );
00631         result->push_back( value_list::create() );
00632         result->back()->push_back( this->pi_source );
00633         return result;
00634 }

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

Marking routine for class ge_operand.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::std::mem::keystone.

Reimplemented in lestes::backend_v2::intercode::ge_operand_reg, lestes::backend_v2::intercode::ge_operand_mem, and lestes::backend_v2::intercode::ge_operand_imm.

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

References lestes::std::mem::keystone::gc_mark().

Referenced by lestes::backend_v2::intercode::ge_operand_imm::gc_mark(), lestes::backend_v2::intercode::ge_operand_mem::gc_mark(), and lestes::backend_v2::intercode::ge_operand_reg::gc_mark().

00642 {
00643 	::lestes::std::object::gc_mark();
00644 }


Member Data Documentation

srp< ::lestes::md::types::tm_data_type_base > lestes::backend_v2::intercode::ge_operand::type [private]

A data type of a value that the operand holds.

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

Referenced by type_get(), and type_set().

srp< ge_pi > lestes::backend_v2::intercode::ge_operand::origin [private]

An pseudoinstruction that crates value of the operand.

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

Referenced by origin_get(), and origin_set().

srp< ::lestes::backend_v2::intercode::pi_operand > lestes::backend_v2::intercode::ge_operand::pi_source [private]

A pi-level operand that is source for the operand.

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

Referenced by pi_source_get(), and pi_source_set().

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

Reimplemented from lestes::std::object.

Reimplemented in lestes::backend_v2::intercode::ge_operand_reg, lestes::backend_v2::intercode::ge_operand_mem, and lestes::backend_v2::intercode::ge_operand_imm.

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