lestes::backend_v2::intercode::pi_operand Class Reference

Base class for pseudoinstruction operand hierarchy. More...

#include <pi.g.hh>

Inheritance diagram for lestes::backend_v2::intercode::pi_operand:

Inheritance graph
[legend]
List of all members.

Public Types

enum  kind_type {
  PREG, LIT, MEM_DECL, MEM_LIT,
  MEM_STACK, MEM_PREG, MEM_TEMP, MEM_MEMBER,
  MEM_PTR_DEREF
}

Public Member Functions

ptr< pi_piorigin_get () const
 The method origin_get returns the value of the field pi_operand::origin.
void origin_set (const ptr< pi_pi > &)
 The method origin_set sets the field pi_operand::origin to the given value.
ptr< ::lestes::md::types::tm_data_type_basetype_get () const
 The method type_get returns the value of the field pi_operand::type.
void type_set (const ptr< ::lestes::md::types::tm_data_type_base > &)
 The method type_set sets the field pi_operand::type 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_operand (ptr< pi_pi > a__pi_operand__origin, ptr< ::lestes::md::types::tm_data_type_base > a__pi_operand__type)
 Generated constructor for class pi_operand.
virtual void gc_mark ()
 Marking routine for class pi_operand.

Private Attributes

srp< pi_piorigin
 Pseudoinstruction where the operand has been born.
srp< ::lestes::md::types::tm_data_type_basetype
 Datatype of the operand.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Base class for pseudoinstruction operand hierarchy.


Member Enumeration Documentation

enum lestes::backend_v2::intercode::pi_operand::kind_type

Enumerator:
PREG 
LIT 
MEM_DECL 
MEM_LIT 
MEM_STACK 
MEM_PREG 
MEM_TEMP 
MEM_MEMBER 
MEM_PTR_DEREF 


Constructor & Destructor Documentation

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

Generated constructor for class pi_operand.

Generated constructor for class pi_operand.

Author:
lsg


Member Function Documentation

ptr< pi_pi > lestes::backend_v2::intercode::pi_operand::origin_get (  )  const

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

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

void lestes::backend_v2::intercode::pi_operand::origin_set ( const ptr< pi_pi > &  x  ) 

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

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

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

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

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

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

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

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

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

Identifies kind of the operand.

Implemented in lestes::backend_v2::intercode::pi_non_mem, lestes::backend_v2::intercode::pi_preg, lestes::backend_v2::intercode::pi_lit, lestes::backend_v2::intercode::pi_mem, 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_operand::accept_visitor_pi_operand2ge_operand_gen_base ( ptr< visitor_pi_operand2ge_operand_gen_base v  )  [pure virtual]

Implemented in lestes::backend_v2::intercode::pi_non_mem, lestes::backend_v2::intercode::pi_preg, lestes::backend_v2::intercode::pi_lit, lestes::backend_v2::intercode::pi_mem, 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_operand::reflection_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::intercode::pi_base.

Reimplemented in lestes::backend_v2::intercode::pi_non_mem, lestes::backend_v2::intercode::pi_preg, lestes::backend_v2::intercode::pi_lit, lestes::backend_v2::intercode::pi_mem, 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::field_list_list > lestes::backend_v2::intercode::pi_operand::field_values_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::intercode::pi_base.

Reimplemented in lestes::backend_v2::intercode::pi_non_mem, lestes::backend_v2::intercode::pi_preg, lestes::backend_v2::intercode::pi_lit, lestes::backend_v2::intercode::pi_mem, 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.

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

Marking routine for class pi_operand.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::intercode::pi_base.

Reimplemented in lestes::backend_v2::intercode::pi_non_mem, lestes::backend_v2::intercode::pi_preg, lestes::backend_v2::intercode::pi_lit, lestes::backend_v2::intercode::pi_mem, 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.


Member Data Documentation

srp< pi_pi > lestes::backend_v2::intercode::pi_operand::origin [private]

Pseudoinstruction where the operand has been born.

If origin has no sense (i.e. for literal) then it is set to NULL.

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

Datatype of the operand.

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

Reimplemented from lestes::intercode::pi_base.

Reimplemented in lestes::backend_v2::intercode::pi_non_mem, lestes::backend_v2::intercode::pi_preg, lestes::backend_v2::intercode::pi_lit, lestes::backend_v2::intercode::pi_mem, 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.


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