lestes::backend_v2::intercode::ge_call Class Reference

Ge-level function call. More...

#include <ge.g.hh>

Inheritance diagram for lestes::backend_v2::intercode::ge_call:

lestes::backend_v2::intercode::ge_pi lestes::std::object lestes::std::mem::keystone List of all members.

Public Member Functions

ptr< ::lestes::lang::cplus::sem::ss_function_declarationfunction_decl_get () const
 The method function_decl_get returns the value of the field ge_call::function_decl.
void function_decl_set (const ptr< ::lestes::lang::cplus::sem::ss_function_declaration > &)
 The method function_decl_set sets the field ge_call::function_decl to the given value.
virtual ge_pi::kind_type kind_get ()
 Returns kind of the pseudoinstruction.
virtual lstring accept_visitor_ge_pi2lstring_gen_base (ptr< visitor_ge_pi2lstring_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< ge_callcreate (ptr< ::lestes::md::instructions::tm_instr_base > a__ge_pi__instruction, ptr< ::lestes::backend_v2::intercode::pi_pi > a__ge_pi__pi_source, ptr< ::lestes::std::vector< srp< ge_operand > > > a__ge_pi__operands_input, ptr< ::lestes::std::vector< srp< ge_operand > > > a__ge_pi__operands_output, ptr< ::lestes::std::set< srp< ge_pi > > > a__ge_pi__dependencies, ptr< ::lestes::std::vector< srp< ge_sp > > > a__ge_pi__jmp_targets, ulint a__ge_pi__schedule_pos, ptr< ::lestes::backend_v2::workers::basic_block > a__ge_pi__bb, ptr< ::lestes::std::map< ulint, lstring > > a__ge_pi__properties, ptr< ::lestes::lang::cplus::sem::ss_function_declaration > a__ge_call__function_decl)
 First generated factory method for class ge_call.
static ptr< ge_callcreate (ptr< ::lestes::md::instructions::tm_instr_base > a__ge_pi__instruction, ptr< ::lestes::backend_v2::intercode::pi_pi > a__ge_pi__pi_source, ptr< ::lestes::lang::cplus::sem::ss_function_declaration > a__ge_call__function_decl)
 Second generated factory method for class ge_call.

Protected Member Functions

 ge_call (ptr< ::lestes::md::instructions::tm_instr_base > a__ge_pi__instruction, ptr< ::lestes::backend_v2::intercode::pi_pi > a__ge_pi__pi_source, ptr< ::lestes::std::vector< srp< ge_operand > > > a__ge_pi__operands_input, ptr< ::lestes::std::vector< srp< ge_operand > > > a__ge_pi__operands_output, ptr< ::lestes::std::set< srp< ge_pi > > > a__ge_pi__dependencies, ptr< ::lestes::std::vector< srp< ge_sp > > > a__ge_pi__jmp_targets, ulint a__ge_pi__schedule_pos, ptr< ::lestes::backend_v2::workers::basic_block > a__ge_pi__bb, ptr< ::lestes::std::map< ulint, lstring > > a__ge_pi__properties, ptr< ::lestes::lang::cplus::sem::ss_function_declaration > a__ge_call__function_decl)
 Generated constructor for class ge_call.
virtual void gc_mark ()
 Marking routine for class ge_call.

Private Attributes

srp< ::lestes::lang::cplus::sem::ss_function_declarationfunction_decl
 A Ss-intercode represenation of function's declaration.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Ge-level function call.

Definition at line 339 of file ge.g.hh.


Constructor & Destructor Documentation

lestes::backend_v2::intercode::ge_call::ge_call ( ptr< ::lestes::md::instructions::tm_instr_base a__ge_pi__instruction,
ptr< ::lestes::backend_v2::intercode::pi_pi a__ge_pi__pi_source,
ptr< ::lestes::std::vector< srp< ge_operand > > >  a__ge_pi__operands_input,
ptr< ::lestes::std::vector< srp< ge_operand > > >  a__ge_pi__operands_output,
ptr< ::lestes::std::set< srp< ge_pi > > >  a__ge_pi__dependencies,
ptr< ::lestes::std::vector< srp< ge_sp > > >  a__ge_pi__jmp_targets,
ulint  a__ge_pi__schedule_pos,
ptr< ::lestes::backend_v2::workers::basic_block a__ge_pi__bb,
ptr< ::lestes::std::map< ulint, lstring > >  a__ge_pi__properties,
ptr< ::lestes::lang::cplus::sem::ss_function_declaration a__ge_call__function_decl 
) [protected]

Generated constructor for class ge_call.

Generated constructor for class ge_call.

Author:
lsg

Definition at line 489 of file ge.g.cc.

Referenced by create().

00499         : ge_pi(a__ge_pi__instruction,
00500                 a__ge_pi__pi_source,
00501                 a__ge_pi__operands_input,
00502                 a__ge_pi__operands_output,
00503                 a__ge_pi__dependencies,
00504                 a__ge_pi__jmp_targets,
00505                 a__ge_pi__schedule_pos,
00506                 a__ge_pi__bb,
00507                 a__ge_pi__properties), function_decl(checked(a__ge_call__function_decl))
00508 {}


Member Function Documentation

ptr<::lestes::lang::cplus::sem::ss_function_declaration > lestes::backend_v2::intercode::ge_call::function_decl_get (  )  const

The method function_decl_get returns the value of the field ge_call::function_decl.

Returns:
The value of ge_call::function_decl.
Author:
lsg

Definition at line 428 of file ge.g.cc.

References function_decl.

00429 {
00430         return function_decl;
00431 }

void lestes::backend_v2::intercode::ge_call::function_decl_set ( const ptr< ::lestes::lang::cplus::sem::ss_function_declaration > &  x  ) 

The method function_decl_set sets the field ge_call::function_decl to the given value.

Parameters:
[in] x The new value to set ge_call::function_decl to.
Author:
lsg

Definition at line 437 of file ge.g.cc.

References function_decl.

00438 {
00439         ge_call::function_decl = x;
00440 }

ge_pi::kind_type lestes::backend_v2::intercode::ge_call::kind_get (  )  [virtual]

Returns kind of the pseudoinstruction.

Reimplemented from lestes::backend_v2::intercode::ge_pi.

Definition at line 35 of file ge.cc.

References lestes::backend_v2::intercode::ge_pi::CALL.

00036 {
00037     return ge_pi::CALL;
00038 }

lstring lestes::backend_v2::intercode::ge_call::accept_visitor_ge_pi2lstring_gen_base ( ptr< visitor_ge_pi2lstring_gen_base v  )  [virtual]

Reimplemented from lestes::backend_v2::intercode::ge_pi.

Definition at line 442 of file ge.g.cc.

00443 {
00444         return v->visit_ge_call( this );
00445 }

ptr< ge_call > lestes::backend_v2::intercode::ge_call::create ( ptr< ::lestes::md::instructions::tm_instr_base a__ge_pi__instruction,
ptr< ::lestes::backend_v2::intercode::pi_pi a__ge_pi__pi_source,
ptr< ::lestes::std::vector< srp< ge_operand > > >  a__ge_pi__operands_input,
ptr< ::lestes::std::vector< srp< ge_operand > > >  a__ge_pi__operands_output,
ptr< ::lestes::std::set< srp< ge_pi > > >  a__ge_pi__dependencies,
ptr< ::lestes::std::vector< srp< ge_sp > > >  a__ge_pi__jmp_targets,
ulint  a__ge_pi__schedule_pos,
ptr< ::lestes::backend_v2::workers::basic_block a__ge_pi__bb,
ptr< ::lestes::std::map< ulint, lstring > >  a__ge_pi__properties,
ptr< ::lestes::lang::cplus::sem::ss_function_declaration a__ge_call__function_decl 
) [static]

First generated factory method for class ge_call.

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

Author:
lsg

Definition at line 451 of file ge.g.cc.

References ge_call().

Referenced by create().

00461 {
00462         return ptr< ge_call > ( new ge_call(a__ge_pi__instruction,
00463                 a__ge_pi__pi_source,
00464                 a__ge_pi__operands_input,
00465                 a__ge_pi__operands_output,
00466                 a__ge_pi__dependencies,
00467                 a__ge_pi__jmp_targets,
00468                 a__ge_pi__schedule_pos,
00469                 a__ge_pi__bb,
00470                 a__ge_pi__properties,
00471                 a__ge_call__function_decl) );
00472 }

ptr< ge_call > lestes::backend_v2::intercode::ge_call::create ( ptr< ::lestes::md::instructions::tm_instr_base a__ge_pi__instruction,
ptr< ::lestes::backend_v2::intercode::pi_pi a__ge_pi__pi_source,
ptr< ::lestes::lang::cplus::sem::ss_function_declaration a__ge_call__function_decl 
) [static]

Second generated factory method for class ge_call.

This factory method for class ge_call uses initializers.

Author:
lsg

Definition at line 478 of file ge.g.cc.

References create(), and ge_call().

00481 {
00482         return ptr< ge_call > ( new ge_call(a__ge_pi__instruction, a__ge_pi__pi_source, ::lestes::std::vector< srp< ge_operand > > ::create(), ::lestes::std::vector< srp< ge_operand > > ::create(), ::lestes::std::set< srp< ge_pi > > ::create(), NULL, 0, NULL, NULL, a__ge_call__function_decl) );
00483 }

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

for purposes of dumping

Reimplemented from lestes::backend_v2::intercode::ge_pi.

Definition at line 510 of file ge.g.cc.

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

00511 {
00512         if (!reflection) {
00513                 typedef class_reflection::field_metadata md;
00514                 typedef class_reflection::field_metadata_list mdlist;
00515                 ptr<mdlist> mdl = mdlist::create();
00516                 mdl->push_back( md::create( "function_decl", "ss_function_declaration" ) );
00517                 reflection = reflection_list::create( ge_pi::reflection_get() );
00518                 reflection->push_back( class_reflection::create( "ge_call", mdl ) );
00519         }
00520         return reflection;
00521 }

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

for purposes of dumping

Reimplemented from lestes::backend_v2::intercode::ge_pi.

Definition at line 523 of file ge.g.cc.

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

00524 {
00525         ptr < field_list_list > result = ge_pi::field_values_get();
00526         result->push_back( value_list::create() );
00527         result->back()->push_back( this->function_decl );
00528         return result;
00529 }

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

Marking routine for class ge_call.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::backend_v2::intercode::ge_pi.

Definition at line 536 of file ge.g.cc.

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

00537 {
00538         ge_pi::gc_mark();
00539 }


Member Data Documentation

srp< ::lestes::lang::cplus::sem::ss_function_declaration > lestes::backend_v2::intercode::ge_call::function_decl [private]

A Ss-intercode represenation of function's declaration.

Definition at line 396 of file ge.g.hh.

Referenced by function_decl_get(), and function_decl_set().

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

Reimplemented from lestes::backend_v2::intercode::ge_pi.

Definition at line 397 of file ge.g.hh.

Referenced by reflection_get().


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