lestes::backend_v2::intercode::pi_icall Class Reference

Indirect function call. More...

#include <pi.g.hh>

Inheritance diagram for lestes::backend_v2::intercode::pi_icall:

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

Public Member Functions

ptr< ::lestes::md::types::tm_data_type_basetype_get () const
 The method type_get returns the value of the field pi_icall::type.
void type_set (const ptr< ::lestes::md::types::tm_data_type_base > &)
 The method type_set sets the field pi_icall::type to the given value.
ptr< pi_memrv_get () const
 The method rv_get returns the value of the field pi_icall::rv.
void rv_set (const ptr< pi_mem > &)
 The method rv_set sets the field pi_icall::rv to the given value.
ptr< pi_pregf_get () const
 The method f_get returns the value of the field pi_icall::f.
void f_set (const ptr< pi_preg > &)
 The method f_set sets the field pi_icall::f 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)
virtual ulint accept_visitor_pi_pi2ulint_gen_base (ptr< visitor_pi_pi2ulint_gen_base > v)
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)
virtual ptr< reflection_listreflection_get () const
 for purposes of dumping
virtual ptr< field_list_listfield_values_get () const
 for purposes of dumping

Static Public Member Functions

static ptr< pi_icallcreate (ptr< pi_pi > a__pi_pi__psp, ptr< pi_pi > a__pi_pi__nsp, ulint a__pi_pi__level, ptr< ::lestes::std::list< srp< pi_operand > > > a__pi_abstract_function_call__args, ptr< pi_mem > a__pi_abstract_function_call__this_arg, ptr< ::lestes::md::types::tm_data_type_base > a__pi_icall__type, ptr< pi_mem > a__pi_icall__rv, ptr< pi_preg > a__pi_icall__f)
 First generated factory method for class pi_icall.

Protected Member Functions

 pi_icall (ptr< pi_pi > a__pi_pi__psp, ptr< pi_pi > a__pi_pi__nsp, ulint a__pi_pi__level, ptr< ::lestes::std::list< srp< pi_operand > > > a__pi_abstract_function_call__args, ptr< pi_mem > a__pi_abstract_function_call__this_arg, ptr< ::lestes::md::types::tm_data_type_base > a__pi_icall__type, ptr< pi_mem > a__pi_icall__rv, ptr< pi_preg > a__pi_icall__f)
 Generated constructor for class pi_icall.
virtual void gc_mark ()
 Marking routine for class pi_icall.

Private Attributes

srp< ::lestes::md::types::tm_data_type_basetype
 Datatype of return value.
srp< pi_memrv
 Return value.
srp< pi_pregf
 Pseudoregister that holds address of function..

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Indirect function call.

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


Constructor & Destructor Documentation

lestes::backend_v2::intercode::pi_icall::pi_icall ( ptr< pi_pi a__pi_pi__psp,
ptr< pi_pi a__pi_pi__nsp,
ulint  a__pi_pi__level,
ptr< ::lestes::std::list< srp< pi_operand > > >  a__pi_abstract_function_call__args,
ptr< pi_mem a__pi_abstract_function_call__this_arg,
ptr< ::lestes::md::types::tm_data_type_base a__pi_icall__type,
ptr< pi_mem a__pi_icall__rv,
ptr< pi_preg a__pi_icall__f 
) [protected]

Generated constructor for class pi_icall.

Generated constructor for class pi_icall.

Author:
lsg

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

Referenced by create().

05551         : pi_abstract_function_call(a__pi_pi__psp,
05552                 a__pi_pi__nsp,
05553                 a__pi_pi__level,
05554                 a__pi_abstract_function_call__args,
05555                 a__pi_abstract_function_call__this_arg), type(checked(a__pi_icall__type)), rv(a__pi_icall__rv), f(checked(a__pi_icall__f))
05556 {}


Member Function Documentation

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

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

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

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

References type.

05452 {
05453         return type;
05454 }

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

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

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

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

References type.

05461 {
05462         pi_icall::type = x;
05463 }

ptr< pi_mem > lestes::backend_v2::intercode::pi_icall::rv_get (  )  const

The method rv_get returns the value of the field pi_icall::rv.

Returns:
The value of pi_icall::rv.
Author:
lsg

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

References rv.

05470 {
05471         return rv;
05472 }

void lestes::backend_v2::intercode::pi_icall::rv_set ( const ptr< pi_mem > &  x  ) 

The method rv_set sets the field pi_icall::rv to the given value.

Parameters:
[in] x The new value to set pi_icall::rv to.
Author:
lsg

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

References rv.

05479 {
05480         pi_icall::rv = x;
05481 }

ptr< pi_preg > lestes::backend_v2::intercode::pi_icall::f_get (  )  const

The method f_get returns the value of the field pi_icall::f.

Returns:
The value of pi_icall::f.
Author:
lsg

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

References f.

05488 {
05489         return f;
05490 }

void lestes::backend_v2::intercode::pi_icall::f_set ( const ptr< pi_preg > &  x  ) 

The method f_set sets the field pi_icall::f to the given value.

Parameters:
[in] x The new value to set pi_icall::f to.
Author:
lsg

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

References f.

05497 {
05498         pi_icall::f = x;
05499 }

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

Implements lestes::backend_v2::intercode::pi_abstract_function_call.

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

05502 {
05503         return v->visit_pi_icall( this );
05504 }

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

Implements lestes::backend_v2::intercode::pi_abstract_function_call.

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

05507 {
05508         return v->visit_pi_icall( this );
05509 }

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

Implements lestes::backend_v2::intercode::pi_abstract_function_call.

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

05512 {
05513         return v->visit_pi_icall( this );
05514 }

ptr< pi_icall > lestes::backend_v2::intercode::pi_icall::create ( ptr< pi_pi a__pi_pi__psp,
ptr< pi_pi a__pi_pi__nsp,
ulint  a__pi_pi__level,
ptr< ::lestes::std::list< srp< pi_operand > > >  a__pi_abstract_function_call__args,
ptr< pi_mem a__pi_abstract_function_call__this_arg,
ptr< ::lestes::md::types::tm_data_type_base a__pi_icall__type,
ptr< pi_mem a__pi_icall__rv,
ptr< pi_preg a__pi_icall__f 
) [static]

First generated factory method for class pi_icall.

This factory method for class pi_icall takes values of all fields as arguments.

Author:
lsg

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

References pi_icall().

05528 {
05529         return ptr< pi_icall > ( new pi_icall(a__pi_pi__psp,
05530                 a__pi_pi__nsp,
05531                 a__pi_pi__level,
05532                 a__pi_abstract_function_call__args,
05533                 a__pi_abstract_function_call__this_arg,
05534                 a__pi_icall__type,
05535                 a__pi_icall__rv,
05536                 a__pi_icall__f) );
05537 }

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

for purposes of dumping

Reimplemented from lestes::backend_v2::intercode::pi_abstract_function_call.

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

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

05559 {
05560         if (!reflection) {
05561                 typedef class_reflection::field_metadata md;
05562                 typedef class_reflection::field_metadata_list mdlist;
05563                 ptr<mdlist> mdl = mdlist::create();
05564                 mdl->push_back( md::create( "type", "tm_data_type_base" ) );
05565                 mdl->push_back( md::create( "rv", "pi_mem" ) );
05566                 mdl->push_back( md::create( "f", "pi_preg" ) );
05567                 reflection = reflection_list::create( pi_abstract_function_call::reflection_get() );
05568                 reflection->push_back( class_reflection::create( "pi_icall", mdl ) );
05569         }
05570         return reflection;
05571 }

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

for purposes of dumping

Reimplemented from lestes::backend_v2::intercode::pi_abstract_function_call.

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

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

05574 {
05575         ptr < field_list_list > result = pi_abstract_function_call::field_values_get();
05576         result->push_back( value_list::create() );
05577         result->back()->push_back( this->type );
05578         result->push_back( value_list::create() );
05579         result->back()->push_back( this->rv );
05580         result->push_back( value_list::create() );
05581         result->back()->push_back( this->f );
05582         return result;
05583 }

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

Marking routine for class pi_icall.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::backend_v2::intercode::pi_abstract_function_call.

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

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

05591 {
05592         pi_abstract_function_call::gc_mark();
05593 }


Member Data Documentation

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

Datatype of return value.

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

Referenced by type_get(), and type_set().

srp< pi_mem > lestes::backend_v2::intercode::pi_icall::rv [private]

Return value.

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

Referenced by rv_get(), and rv_set().

srp< pi_preg > lestes::backend_v2::intercode::pi_icall::f [private]

Pseudoregister that holds address of function..

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

Referenced by f_get(), and f_set().

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

Reimplemented from lestes::backend_v2::intercode::pi_abstract_function_call.

Definition at line 3218 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:24:00 2007 for lestes by doxygen 1.5.1-20070107