#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 |
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.
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.
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. |
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.
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. |
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.
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.
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.