lestes::backend_v2::intercode::pi_abstract_move_dt Class Reference

Base class for load/store instructions with operands of the different types. More...

#include <pi.g.hh>

Inheritance diagram for lestes::backend_v2::intercode::pi_abstract_move_dt:

lestes::backend_v2::intercode::pi_abstract_move lestes::backend_v2::intercode::pi_pi lestes::intercode::pi_base lestes::intercode::intercode lestes::std::object lestes::std::mem::keystone lestes::backend_v2::intercode::pi_lda List of all members.

Public Member Functions

ptr< pi_operanddestination_get () const
 The method destination_get returns the value of the field pi_abstract_move_dt::destination.
void destination_set (const ptr< pi_operand > &)
 The method destination_set sets the field pi_abstract_move_dt::destination to the given value.
ptr< pi_operandsource_get () const
 The method source_get returns the value of the field pi_abstract_move_dt::source.
void source_set (const ptr< pi_operand > &)
 The method source_set sets the field pi_abstract_move_dt::source to the given value.
ptr< ::lestes::md::types::tm_data_type_basetype1_get () const
 The method type1_get returns the value of the field pi_abstract_move_dt::type1.
void type1_set (const ptr< ::lestes::md::types::tm_data_type_base > &)
 The method type1_set sets the field pi_abstract_move_dt::type1 to the given value.
ptr< ::lestes::md::types::tm_data_type_basetype2_get () const
 The method type2_get returns the value of the field pi_abstract_move_dt::type2.
void type2_set (const ptr< ::lestes::md::types::tm_data_type_base > &)
 The method type2_set sets the field pi_abstract_move_dt::type2 to the given value.
virtual ptr< ::lestes::backend_v2::structs::pi_operandsaccept_visitor_pi_pi2pi_operands_gen_base (ptr< visitor_pi_pi2pi_operands_gen_base > v) override
virtual ulint accept_visitor_pi_pi2ulint_gen_base (ptr< visitor_pi_pi2ulint_gen_base > v) override
virtual ptr< vector< srp<
::lestes::backend_v2::intercode::ge_pi > > > 
accept_visitor_pi_pi2ge_pi_gen_base (ptr< visitor_pi_pi2ge_pi_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_abstract_move_dt (ptr< pi_pi > a__pi_pi__psp, ptr< pi_pi > a__pi_pi__nsp, ulint a__pi_pi__level, ptr< pi_operand > a__pi_abstract_move_dt__destination, ptr< pi_operand > a__pi_abstract_move_dt__source, ptr< ::lestes::md::types::tm_data_type_base > a__pi_abstract_move_dt__type1, ptr< ::lestes::md::types::tm_data_type_base > a__pi_abstract_move_dt__type2)
 Generated constructor for class pi_abstract_move_dt.
virtual void gc_mark ()
 Marking routine for class pi_abstract_move_dt.

Private Attributes

srp< pi_operanddestination
srp< pi_operandsource
srp< ::lestes::md::types::tm_data_type_basetype1
 Datatype of output operand.
srp< ::lestes::md::types::tm_data_type_basetype2
 Datatype of input operand.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Base class for load/store instructions with operands of the different types.

Definition at line 953 of file pi.g.hh.


Constructor & Destructor Documentation

lestes::backend_v2::intercode::pi_abstract_move_dt::pi_abstract_move_dt ( ptr< pi_pi a__pi_pi__psp,
ptr< pi_pi a__pi_pi__nsp,
ulint  a__pi_pi__level,
ptr< pi_operand a__pi_abstract_move_dt__destination,
ptr< pi_operand a__pi_abstract_move_dt__source,
ptr< ::lestes::md::types::tm_data_type_base a__pi_abstract_move_dt__type1,
ptr< ::lestes::md::types::tm_data_type_base a__pi_abstract_move_dt__type2 
) [protected]

Generated constructor for class pi_abstract_move_dt.

Generated constructor for class pi_abstract_move_dt.

Author:
lsg

Definition at line 1367 of file pi.g.cc.

01374         : pi_abstract_move(a__pi_pi__psp,
01375                 a__pi_pi__nsp,
01376                 a__pi_pi__level), destination(checked(a__pi_abstract_move_dt__destination)), source(checked(a__pi_abstract_move_dt__source)), type1(checked(a__pi_abstract_move_dt__type1)), type2(checked(a__pi_abstract_move_dt__type2))
01377 {}


Member Function Documentation

ptr< pi_operand > lestes::backend_v2::intercode::pi_abstract_move_dt::destination_get (  )  const

The method destination_get returns the value of the field pi_abstract_move_dt::destination.

Returns:
The value of pi_abstract_move_dt::destination.
Author:
lsg

Definition at line 1295 of file pi.g.cc.

References destination.

01296 {
01297         return destination;
01298 }

void lestes::backend_v2::intercode::pi_abstract_move_dt::destination_set ( const ptr< pi_operand > &  x  ) 

The method destination_set sets the field pi_abstract_move_dt::destination to the given value.

Parameters:
[in] x The new value to set pi_abstract_move_dt::destination to.
Author:
lsg

Definition at line 1304 of file pi.g.cc.

References destination.

01305 {
01306         pi_abstract_move_dt::destination = x;
01307 }

ptr< pi_operand > lestes::backend_v2::intercode::pi_abstract_move_dt::source_get (  )  const

The method source_get returns the value of the field pi_abstract_move_dt::source.

Returns:
The value of pi_abstract_move_dt::source.
Author:
lsg

Definition at line 1313 of file pi.g.cc.

References source.

01314 {
01315         return source;
01316 }

void lestes::backend_v2::intercode::pi_abstract_move_dt::source_set ( const ptr< pi_operand > &  x  ) 

The method source_set sets the field pi_abstract_move_dt::source to the given value.

Parameters:
[in] x The new value to set pi_abstract_move_dt::source to.
Author:
lsg

Definition at line 1322 of file pi.g.cc.

References source.

01323 {
01324         pi_abstract_move_dt::source = x;
01325 }

ptr<::lestes::md::types::tm_data_type_base > lestes::backend_v2::intercode::pi_abstract_move_dt::type1_get (  )  const

The method type1_get returns the value of the field pi_abstract_move_dt::type1.

Returns:
The value of pi_abstract_move_dt::type1.
Author:
lsg

Definition at line 1331 of file pi.g.cc.

References type1.

01332 {
01333         return type1;
01334 }

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

The method type1_set sets the field pi_abstract_move_dt::type1 to the given value.

Parameters:
[in] x The new value to set pi_abstract_move_dt::type1 to.
Author:
lsg

Definition at line 1340 of file pi.g.cc.

References type1.

01341 {
01342         pi_abstract_move_dt::type1 = x;
01343 }

ptr<::lestes::md::types::tm_data_type_base > lestes::backend_v2::intercode::pi_abstract_move_dt::type2_get (  )  const

The method type2_get returns the value of the field pi_abstract_move_dt::type2.

Returns:
The value of pi_abstract_move_dt::type2.
Author:
lsg

Definition at line 1349 of file pi.g.cc.

References type2.

01350 {
01351         return type2;
01352 }

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

The method type2_set sets the field pi_abstract_move_dt::type2 to the given value.

Parameters:
[in] x The new value to set pi_abstract_move_dt::type2 to.
Author:
lsg

Definition at line 1358 of file pi.g.cc.

References type2.

01359 {
01360         pi_abstract_move_dt::type2 = x;
01361 }

virtual ptr< ::lestes::backend_v2::structs::pi_operands > lestes::backend_v2::intercode::pi_abstract_move_dt::accept_visitor_pi_pi2pi_operands_gen_base ( ptr< visitor_pi_pi2pi_operands_gen_base v  )  [pure virtual]

Implements lestes::backend_v2::intercode::pi_abstract_move.

Implemented in lestes::backend_v2::intercode::pi_lda.

virtual ulint lestes::backend_v2::intercode::pi_abstract_move_dt::accept_visitor_pi_pi2ulint_gen_base ( ptr< visitor_pi_pi2ulint_gen_base v  )  [pure virtual]

Implements lestes::backend_v2::intercode::pi_abstract_move.

Implemented in lestes::backend_v2::intercode::pi_lda.

virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > lestes::backend_v2::intercode::pi_abstract_move_dt::accept_visitor_pi_pi2ge_pi_gen_base ( ptr< visitor_pi_pi2ge_pi_gen_base v  )  [pure virtual]

Implements lestes::backend_v2::intercode::pi_abstract_move.

Implemented in lestes::backend_v2::intercode::pi_lda.

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

for purposes of dumping

Reimplemented from lestes::backend_v2::intercode::pi_abstract_move.

Reimplemented in lestes::backend_v2::intercode::pi_lda.

Definition at line 1379 of file pi.g.cc.

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

Referenced by lestes::backend_v2::intercode::pi_lda::reflection_get().

01380 {
01381         if (!reflection) {
01382                 typedef class_reflection::field_metadata md;
01383                 typedef class_reflection::field_metadata_list mdlist;
01384                 ptr<mdlist> mdl = mdlist::create();
01385                 mdl->push_back( md::create( "destination", "pi_operand" ) );
01386                 mdl->push_back( md::create( "source", "pi_operand" ) );
01387                 mdl->push_back( md::create( "type1", "tm_data_type_base" ) );
01388                 mdl->push_back( md::create( "type2", "tm_data_type_base" ) );
01389                 reflection = reflection_list::create( pi_abstract_move::reflection_get() );
01390                 reflection->push_back( class_reflection::create( "pi_abstract_move_dt", mdl ) );
01391         }
01392         return reflection;
01393 }

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

for purposes of dumping

Reimplemented from lestes::backend_v2::intercode::pi_abstract_move.

Reimplemented in lestes::backend_v2::intercode::pi_lda.

Definition at line 1395 of file pi.g.cc.

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

Referenced by lestes::backend_v2::intercode::pi_lda::field_values_get().

01396 {
01397         ptr < field_list_list > result = pi_abstract_move::field_values_get();
01398         result->push_back( value_list::create() );
01399         result->back()->push_back( this->destination );
01400         result->push_back( value_list::create() );
01401         result->back()->push_back( this->source );
01402         result->push_back( value_list::create() );
01403         result->back()->push_back( this->type1 );
01404         result->push_back( value_list::create() );
01405         result->back()->push_back( this->type2 );
01406         return result;
01407 }

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

Marking routine for class pi_abstract_move_dt.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::backend_v2::intercode::pi_abstract_move.

Reimplemented in lestes::backend_v2::intercode::pi_lda.

Definition at line 1414 of file pi.g.cc.

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

Referenced by lestes::backend_v2::intercode::pi_lda::gc_mark().

01415 {
01416         pi_abstract_move::gc_mark();
01417 }


Member Data Documentation

srp< pi_operand > lestes::backend_v2::intercode::pi_abstract_move_dt::destination [private]

Definition at line 1004 of file pi.g.hh.

Referenced by destination_get(), and destination_set().

srp< pi_operand > lestes::backend_v2::intercode::pi_abstract_move_dt::source [private]

Definition at line 1005 of file pi.g.hh.

Referenced by source_get(), and source_set().

srp< ::lestes::md::types::tm_data_type_base > lestes::backend_v2::intercode::pi_abstract_move_dt::type1 [private]

Datatype of output operand.

Definition at line 1007 of file pi.g.hh.

Referenced by type1_get(), and type1_set().

srp< ::lestes::md::types::tm_data_type_base > lestes::backend_v2::intercode::pi_abstract_move_dt::type2 [private]

Datatype of input operand.

Definition at line 1009 of file pi.g.hh.

Referenced by type2_get(), and type2_set().

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

Reimplemented from lestes::backend_v2::intercode::pi_abstract_move.

Reimplemented in lestes::backend_v2::intercode::pi_lda.

Definition at line 1010 of file pi.g.hh.

Referenced by reflection_get().


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