lestes::lang::cplus::sem::or_or_functional_comma Class Reference

This is the concrete implementation of functional creating the ss_expression for the comma case (this has to be handled separately, as comma can be used for infinitely many types. More...

#include <or_or.g.hh>

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

Inheritance graph
[legend]
List of all members.

Public Member Functions

ptr< ::lestes::std::list<
srp< or_or_functional > > > 
args_get () const
 The method args_get returns the value of the field or_or_functional_comma::args.
void args_set (const ptr< ::lestes::std::list< srp< or_or_functional > > > &)
 The method args_set sets the field or_or_functional_comma::args to the given value.
virtual ptr< ss_expressionoperator() (ptr< ss_sp > psp, ptr< ss_sp > nsp, ptr< ::lestes::std::source_location > location, ptr< ::lestes::std::list< srp< ss_sp > > > sp_list)
virtual void accept_or_or_functional_visitor (ptr< or_or_functional_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< or_or_functional_commacreate (ptr< ss_type > a__or_or_functional__type, ptr< ::lestes::std::list< srp< or_or_functional > > > a__or_or_functional_comma__args)
 First generated factory method for class or_or_functional_comma.

Protected Member Functions

 or_or_functional_comma (ptr< ss_type > a__or_or_functional__type, ptr< ::lestes::std::list< srp< or_or_functional > > > a__or_or_functional_comma__args)
 Generated constructor for class or_or_functional_comma.
virtual void gc_mark ()
 Marking routine for class or_or_functional_comma.

Private Attributes

srp< ::lestes::std::list<
srp< or_or_functional > > > 
args

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

This is the concrete implementation of functional creating the ss_expression for the comma case (this has to be handled separately, as comma can be used for infinitely many types.


Constructor & Destructor Documentation

lestes::lang::cplus::sem::or_or_functional_comma::or_or_functional_comma ( ptr< ss_type a__or_or_functional__type,
ptr< ::lestes::std::list< srp< or_or_functional > > >  a__or_or_functional_comma__args 
) [protected]

Generated constructor for class or_or_functional_comma.

Generated constructor for class or_or_functional_comma.

Author:
lsg


Member Function Documentation

ptr<::lestes::std::list< srp< or_or_functional > > > lestes::lang::cplus::sem::or_or_functional_comma::args_get (  )  const

The method args_get returns the value of the field or_or_functional_comma::args.

Returns:
The value of or_or_functional_comma::args.
Author:
lsg

void lestes::lang::cplus::sem::or_or_functional_comma::args_set ( const ptr< ::lestes::std::list< srp< or_or_functional > > > &  x  ) 

The method args_set sets the field or_or_functional_comma::args to the given value.

Parameters:
[in] x The new value to set or_or_functional_comma::args to.
Author:
lsg

ptr< ss_expression > lestes::lang::cplus::sem::or_or_functional_comma::operator() ( ptr< ss_sp psp,
ptr< ss_sp nsp,
ptr< ::lestes::std::source_location location,
ptr< ::lestes::std::list< srp< ss_sp > > >  sp_list 
) [virtual]

This is overloaded operator () of functional used by overload resolution. It creates corresponding funcall and returns it's expression.

This functional handles the special case of comma operator. This is handled in a slightly different way (as some other operators, line unary & and ->), as they exist for infinite number of types and their declarations are not filled in the builtin op decl_seq

Bug:
context doesn't contain VMT yet, so vfuncall is irrelevant
Returns:
pointer to expression, representing the function call

Implements lestes::lang::cplus::sem::or_or_functional.

void lestes::lang::cplus::sem::or_or_functional_comma::accept_or_or_functional_visitor ( ptr< or_or_functional_visitor v  )  [virtual]

Implements lestes::lang::cplus::sem::or_or_functional.

ptr< or_or_functional_comma > lestes::lang::cplus::sem::or_or_functional_comma::create ( ptr< ss_type a__or_or_functional__type,
ptr< ::lestes::std::list< srp< or_or_functional > > >  a__or_or_functional_comma__args 
) [static]

First generated factory method for class or_or_functional_comma.

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

Author:
lsg

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

for purposes of dumping

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

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

for purposes of dumping

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

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

Marking routine for class or_or_functional_comma.

Marking routine is used for garbage collection.

Author:
lsg

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


Member Data Documentation

srp< ::lestes::std::list< srp< or_or_functional > > > lestes::lang::cplus::sem::or_or_functional_comma::args [private]

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

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


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