lestes::lang::cplus::sem::ss_vfuncall Class Reference

Class for virtual method call. More...

#include <ss_expr_funcall.g.hh>

Inheritance diagram for lestes::lang::cplus::sem::ss_vfuncall:

lestes::lang::cplus::sem::ss_funcall_abstr lestes::lang::cplus::sem::ss_expression lestes::intercode::ss_base_with_location lestes::intercode::ss_base lestes::intercode::intercode lestes::std::object lestes::std::mem::keystone List of all members.

Public Member Functions

ptr< ss_function_declarationfunction_get () const
 The method function_get returns the value of the field ss_vfuncall::function.
void function_set (const ptr< ss_function_declaration > &)
 The method function_set sets the field ss_vfuncall::function to the given value.
ptr< ss_expressionobject_ptr_get () const
 The method object_ptr_get returns the value of the field ss_vfuncall::object_ptr.
void object_ptr_set (const ptr< ss_expression > &)
 The method object_ptr_set sets the field ss_vfuncall::object_ptr to the given value.
virtual void accept_ss_expression_visitor (ptr< ss_expression_visitor > 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< ss_vfuncallcreate (ptr< ::lestes::std::source_location > a__ss_base_with_location__location, ptr< ss_type > a__ss_expression__type, ptr< ss_sp > a__ss_expression__psp, ptr< ss_sp > a__ss_expression__nsp, ptr< ::lestes::std::list< srp< ss_expression > > > a__ss_funcall_abstr__args, ptr< ss_function_declaration > a__ss_vfuncall__function, ptr< ss_expression > a__ss_vfuncall__object_ptr)
 First generated factory method for class ss_vfuncall.

Protected Member Functions

 ss_vfuncall (ptr< ::lestes::std::source_location > a__ss_base_with_location__location, ptr< ss_type > a__ss_expression__type, ptr< ss_sp > a__ss_expression__psp, ptr< ss_sp > a__ss_expression__nsp, ptr< ::lestes::std::list< srp< ss_expression > > > a__ss_funcall_abstr__args, ptr< ss_function_declaration > a__ss_vfuncall__function, ptr< ss_expression > a__ss_vfuncall__object_ptr)
 Generated constructor for class ss_vfuncall.
virtual void gc_mark ()
 Marking routine for class ss_vfuncall.

Private Attributes

srp< ss_function_declarationfunction
srp< ss_expressionobject_ptr
 Object, where to find correct VMT table.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Class for virtual method call.

Definition at line 278 of file ss_expr_funcall.g.hh.


Constructor & Destructor Documentation

lestes::lang::cplus::sem::ss_vfuncall::ss_vfuncall ( ptr< ::lestes::std::source_location a__ss_base_with_location__location,
ptr< ss_type a__ss_expression__type,
ptr< ss_sp a__ss_expression__psp,
ptr< ss_sp a__ss_expression__nsp,
ptr< ::lestes::std::list< srp< ss_expression > > >  a__ss_funcall_abstr__args,
ptr< ss_function_declaration a__ss_vfuncall__function,
ptr< ss_expression a__ss_vfuncall__object_ptr 
) [protected]

Generated constructor for class ss_vfuncall.

Generated constructor for class ss_vfuncall.

Author:
lsg

Definition at line 589 of file ss_expr_funcall.g.cc.

Referenced by create().

00596         : ss_funcall_abstr(a__ss_base_with_location__location,
00597                 a__ss_expression__type,
00598                 a__ss_expression__psp,
00599                 a__ss_expression__nsp,
00600                 a__ss_funcall_abstr__args), function(checked(a__ss_vfuncall__function)), object_ptr(checked(a__ss_vfuncall__object_ptr))
00601 {}


Member Function Documentation

ptr< ss_function_declaration > lestes::lang::cplus::sem::ss_vfuncall::function_get (  )  const

The method function_get returns the value of the field ss_vfuncall::function.

Returns:
The value of ss_vfuncall::function.
Author:
lsg

Definition at line 527 of file ss_expr_funcall.g.cc.

References function.

00528 {
00529         return function;
00530 }

void lestes::lang::cplus::sem::ss_vfuncall::function_set ( const ptr< ss_function_declaration > &  x  ) 

The method function_set sets the field ss_vfuncall::function to the given value.

Parameters:
[in] x The new value to set ss_vfuncall::function to.
Author:
lsg

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

References function.

00537 {
00538         ss_vfuncall::function = x;
00539 }

ptr< ss_expression > lestes::lang::cplus::sem::ss_vfuncall::object_ptr_get (  )  const

The method object_ptr_get returns the value of the field ss_vfuncall::object_ptr.

Returns:
The value of ss_vfuncall::object_ptr.
Author:
lsg

Definition at line 545 of file ss_expr_funcall.g.cc.

References object_ptr.

00546 {
00547         return object_ptr;
00548 }

void lestes::lang::cplus::sem::ss_vfuncall::object_ptr_set ( const ptr< ss_expression > &  x  ) 

The method object_ptr_set sets the field ss_vfuncall::object_ptr to the given value.

Parameters:
[in] x The new value to set ss_vfuncall::object_ptr to.
Author:
lsg

Definition at line 554 of file ss_expr_funcall.g.cc.

References object_ptr.

00555 {
00556         ss_vfuncall::object_ptr = x;
00557 }

void lestes::lang::cplus::sem::ss_vfuncall::accept_ss_expression_visitor ( ptr< ss_expression_visitor v  )  [virtual]

Implements lestes::lang::cplus::sem::ss_funcall_abstr.

Definition at line 559 of file ss_expr_funcall.g.cc.

00560 {
00561         return v->visit_ss_vfuncall( this );
00562 }

ptr< ss_vfuncall > lestes::lang::cplus::sem::ss_vfuncall::create ( ptr< ::lestes::std::source_location a__ss_base_with_location__location,
ptr< ss_type a__ss_expression__type,
ptr< ss_sp a__ss_expression__psp,
ptr< ss_sp a__ss_expression__nsp,
ptr< ::lestes::std::list< srp< ss_expression > > >  a__ss_funcall_abstr__args,
ptr< ss_function_declaration a__ss_vfuncall__function,
ptr< ss_expression a__ss_vfuncall__object_ptr 
) [static]

First generated factory method for class ss_vfuncall.

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

Author:
lsg

Definition at line 568 of file ss_expr_funcall.g.cc.

References ss_vfuncall().

00575 {
00576         return ptr< ss_vfuncall > ( new ss_vfuncall(a__ss_base_with_location__location,
00577                 a__ss_expression__type,
00578                 a__ss_expression__psp,
00579                 a__ss_expression__nsp,
00580                 a__ss_funcall_abstr__args,
00581                 a__ss_vfuncall__function,
00582                 a__ss_vfuncall__object_ptr) );
00583 }

ptr< object::reflection_list > lestes::lang::cplus::sem::ss_vfuncall::reflection_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::lang::cplus::sem::ss_funcall_abstr.

Definition at line 603 of file ss_expr_funcall.g.cc.

References lestes::std::list< T >::create(), reflection, and lestes::lang::cplus::sem::ss_funcall_abstr::reflection_get().

00604 {
00605         if (!reflection) {
00606                 typedef class_reflection::field_metadata md;
00607                 typedef class_reflection::field_metadata_list mdlist;
00608                 ptr<mdlist> mdl = mdlist::create();
00609                 mdl->push_back( md::create( "function", "ss_function_declaration" ) );
00610                 mdl->push_back( md::create( "object_ptr", "ss_expression" ) );
00611                 reflection = reflection_list::create( ss_funcall_abstr::reflection_get() );
00612                 reflection->push_back( class_reflection::create( "ss_vfuncall", mdl ) );
00613         }
00614         return reflection;
00615 }

ptr< object::field_list_list > lestes::lang::cplus::sem::ss_vfuncall::field_values_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::lang::cplus::sem::ss_funcall_abstr.

Definition at line 617 of file ss_expr_funcall.g.cc.

References lestes::std::list< T >::create(), and lestes::lang::cplus::sem::ss_funcall_abstr::field_values_get().

00618 {
00619         ptr < field_list_list > result = ss_funcall_abstr::field_values_get();
00620         result->push_back( value_list::create() );
00621         result->back()->push_back( this->function );
00622         result->push_back( value_list::create() );
00623         result->back()->push_back( this->object_ptr );
00624         return result;
00625 }

void lestes::lang::cplus::sem::ss_vfuncall::gc_mark ( void   )  [protected, virtual]

Marking routine for class ss_vfuncall.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::lang::cplus::sem::ss_funcall_abstr.

Definition at line 632 of file ss_expr_funcall.g.cc.

References lestes::lang::cplus::sem::ss_funcall_abstr::gc_mark().

00633 {
00634         ss_funcall_abstr::gc_mark();
00635 }


Member Data Documentation

srp< ss_function_declaration > lestes::lang::cplus::sem::ss_vfuncall::function [private]

Definition at line 326 of file ss_expr_funcall.g.hh.

Referenced by function_get(), and function_set().

srp< ss_expression > lestes::lang::cplus::sem::ss_vfuncall::object_ptr [private]

Object, where to find correct VMT table.

Definition at line 328 of file ss_expr_funcall.g.hh.

Referenced by object_ptr_get(), and object_ptr_set().

ptr< object::reflection_list > lestes::lang::cplus::sem::ss_vfuncall::reflection = reflection [static, private]

Reimplemented from lestes::lang::cplus::sem::ss_funcall_abstr.

Definition at line 329 of file ss_expr_funcall.g.hh.

Referenced by reflection_get().


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