#include <pi.g.hh>
Inheritance diagram for lestes::backend_v2::intercode::pi_operand:

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_pi > | origin_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_base > | type_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_operand > | accept_visitor_pi_operand2ge_operand_gen_base (ptr< visitor_pi_operand2ge_operand_gen_base > v) override |
| virtual ptr< reflection_list > | reflection_get () const |
| for purposes of dumping | |
| virtual ptr< field_list_list > | field_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_pi > | origin |
| Pseudoinstruction where the operand has been born. | |
| srp< ::lestes::md::types::tm_data_type_base > | type |
| Datatype of the operand. | |
Static Private Attributes | |
| static ptr< reflection_list > | reflection = reflection |
Definition at line 4462 of file pi.g.hh.
| 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.
Definition at line 8079 of file pi.g.cc.
08081 : ::lestes::intercode::pi_base(), origin(a__pi_operand__origin), type(checked(a__pi_operand__type)) 08082 {}
| 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.
Definition at line 8043 of file pi.g.cc.
References origin.
08044 { 08045 return origin; 08046 }
| 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.
| [in] | x | The new value to set pi_operand::origin to. |
Definition at line 8052 of file pi.g.cc.
References origin.
08053 { 08054 pi_operand::origin = x; 08055 }
| 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.
Definition at line 8061 of file pi.g.cc.
References type.
08062 { 08063 return type; 08064 }
| 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.
| [in] | x | The new value to set pi_operand::type to. |
Definition at line 8070 of file pi.g.cc.
References type.
08071 { 08072 pi_operand::type = x; 08073 }
| 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.
Definition at line 8084 of file pi.g.cc.
References lestes::std::list< T >::create(), reflection, and lestes::intercode::pi_base::reflection_get().
Referenced by lestes::backend_v2::intercode::pi_mem::reflection_get(), and lestes::backend_v2::intercode::pi_non_mem::reflection_get().
08085 { 08086 if (!reflection) { 08087 typedef class_reflection::field_metadata md; 08088 typedef class_reflection::field_metadata_list mdlist; 08089 ptr<mdlist> mdl = mdlist::create(); 08090 mdl->push_back( md::create( "origin", "pi_pi" ) ); 08091 mdl->push_back( md::create( "type", "tm_data_type_base" ) ); 08092 reflection = reflection_list::create( ::lestes::intercode::pi_base::reflection_get() ); 08093 reflection->push_back( class_reflection::create( "pi_operand", mdl ) ); 08094 } 08095 return reflection; 08096 }
| 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.
Definition at line 8098 of file pi.g.cc.
References lestes::std::list< T >::create(), and lestes::intercode::pi_base::field_values_get().
Referenced by lestes::backend_v2::intercode::pi_mem::field_values_get(), and lestes::backend_v2::intercode::pi_non_mem::field_values_get().
08099 { 08100 ptr < field_list_list > result = ::lestes::intercode::pi_base::field_values_get(); 08101 result->push_back( value_list::create() ); 08102 result->back()->push_back( this->origin ); 08103 result->push_back( value_list::create() ); 08104 result->back()->push_back( this->type ); 08105 return result; 08106 }
| 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.
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.
Definition at line 8113 of file pi.g.cc.
References lestes::intercode::pi_base::gc_mark().
Referenced by lestes::backend_v2::intercode::pi_mem::gc_mark(), and lestes::backend_v2::intercode::pi_non_mem::gc_mark().
08114 { 08115 ::lestes::intercode::pi_base::gc_mark(); 08116 }
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.
Definition at line 4513 of file pi.g.hh.
Referenced by origin_get(), and origin_set().
srp< ::lestes::md::types::tm_data_type_base > lestes::backend_v2::intercode::pi_operand::type [private] |
Datatype of the operand.
Definition at line 4515 of file pi.g.hh.
Referenced by type_get(), and type_set().
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.
Definition at line 4516 of file pi.g.hh.
Referenced by reflection_get().
1.5.1-20070107