lestes::lang::cplus::sem::ss_function Class Reference

Class for function type. More...

#include <ss_type.g.hh>

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

Inheritance graph
[legend]
List of all members.

Public Member Functions

ptr< ss_typereturns_get () const
 The method returns_get returns the value of the field ss_function::returns.
void returns_set (const ptr< ss_type > &)
 The method returns_set sets the field ss_function::returns to the given value.
ptr< ::lestes::std::list<
srp< ss_type > > > 
params_get () const
 The method params_get returns the value of the field ss_function::params.
void params_set (const ptr< ::lestes::std::list< srp< ss_type > > > &)
 The method params_set sets the field ss_function::params to the given value.
bool ellipsis_get () const
 The method ellipsis_get returns the value of the field ss_function::ellipsis.
void ellipsis_set (bool)
 The method ellipsis_set sets the field ss_function::ellipsis to the given value.
bool less_than (ptr< ss_function > other)
 Compares to other ss_function for inequality.
bool equal_signature (ptr< ss_function > other)
 Compares to other ss_function signature.
virtual ptr< ::lestes::std::list<
srp< or_ics_functional > > > 
accept_or_ics_base (ptr< or_ics_base > v)
virtual or_cv_enum accept_or_ics_base_cv (ptr< or_ics_base_cv > v)
virtual ptr< ::lestes::md::types::tm_data_type_baseaccept_ss_type2tm_type_gen_base (ptr< ss_type2tm_type_gen_base > v)
virtual void accept_ss_type_visitor (ptr< ss_type_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_typeinstance (ptr< ss_type > return_type, ptr< ::lestes::std::list< srp< ss_type > > > param_types, bool ellipsis)
 Returns the instance representing specified function.
static ptr< ss_functioncreate (ptr< ss_type > a__ss_function__returns, ptr< ::lestes::std::list< srp< ss_type > > > a__ss_function__params, bool a__ss_function__ellipsis)
 First generated factory method for class ss_function.

Protected Member Functions

 ss_function (ptr< ss_type > a__ss_function__returns, ptr< ::lestes::std::list< srp< ss_type > > > a__ss_function__params, bool a__ss_function__ellipsis)
 Generated constructor for class ss_function.
virtual void gc_mark ()
 Marking routine for class ss_function.

Private Attributes

srp< ss_typereturns
 The return type of the function.
srp< ::lestes::std::list<
srp< ss_type > > > 
params
 The types of parameters of the function.
bool ellipsis
 Whether current function has an ellipsis(...) in function parameters.

Static Private Attributes

static ptr< ::lestes::std::set<
srp< ss_function >, ss_function_comparator > > 
instances = ::lestes::std::set< srp< ss_function >, ss_function_comparator > ::create()
 The singleton instances of the class.
static ptr< reflection_listreflection = reflection

Detailed Description

Class for function type.

Represents namespace function.


Constructor & Destructor Documentation

lestes::lang::cplus::sem::ss_function::ss_function ( ptr< ss_type a__ss_function__returns,
ptr< ::lestes::std::list< srp< ss_type > > >  a__ss_function__params,
bool  a__ss_function__ellipsis 
) [protected]

Generated constructor for class ss_function.

Generated constructor for class ss_function.

Author:
lsg


Member Function Documentation

ptr< ss_type > lestes::lang::cplus::sem::ss_function::returns_get (  )  const

The method returns_get returns the value of the field ss_function::returns.

Returns:
The value of ss_function::returns.
Author:
lsg

void lestes::lang::cplus::sem::ss_function::returns_set ( const ptr< ss_type > &  x  ) 

The method returns_set sets the field ss_function::returns to the given value.

Parameters:
[in] x The new value to set ss_function::returns to.
Author:
lsg

ptr<::lestes::std::list< srp< ss_type > > > lestes::lang::cplus::sem::ss_function::params_get (  )  const

The method params_get returns the value of the field ss_function::params.

Returns:
The value of ss_function::params.
Author:
lsg

void lestes::lang::cplus::sem::ss_function::params_set ( const ptr< ::lestes::std::list< srp< ss_type > > > &  x  ) 

The method params_set sets the field ss_function::params to the given value.

Parameters:
[in] x The new value to set ss_function::params to.
Author:
lsg

bool lestes::lang::cplus::sem::ss_function::ellipsis_get (  )  const

The method ellipsis_get returns the value of the field ss_function::ellipsis.

Returns:
The value of ss_function::ellipsis.
Author:
lsg

void lestes::lang::cplus::sem::ss_function::ellipsis_set ( bool  x  ) 

The method ellipsis_set sets the field ss_function::ellipsis to the given value.

Parameters:
[in] x The new value to set ss_function::ellipsis to.
Author:
lsg

static ptr< ss_type > lestes::lang::cplus::sem::ss_function::instance ( ptr< ss_type return_type,
ptr< ::lestes::std::list< srp< ss_type > > >  param_types,
bool  ellipsis 
) [static]

Returns the instance representing specified function.

bool lestes::lang::cplus::sem::ss_function::less_than ( ptr< ss_function other  ) 

Compares to other ss_function for inequality.

Compares to other ss_function in the defined ordering. Used for container comparator. The ordering considers (in this order) the first of the following to compare less: the ellipsis flag, the return value, and the parameter sequence. For the purpose of comparison, the value of the pointer determines the ordering for the objects representing data types, as these are all singletonized SS types and thus impose consistent ordering. The parameters are compared lexicographically in the usual manner, stopping at the first inequality. If there is none, the shorter sequence compares less.

Precondition:
other != NULL
Parameters:
other The other instance to compare to.
Returns:
true If this instance is less than the other in the defined ordering.

bool lestes::lang::cplus::sem::ss_function::equal_signature ( ptr< ss_function other  ) 

Compares to other ss_function signature.

Compares signatures ss_function in the defined ordering. Both functions have the same signature, if both have or have no ellipsis, if the parameter type sequences have the same length and the corresponding parameter types are the same.

Precondition:
other != NULL
Parameters:
other The other instance to compare to.
Returns:
true If this instance has the same signature.

ptr<::lestes::std::list< srp< or_ics_functional > > > lestes::lang::cplus::sem::ss_function::accept_or_ics_base ( ptr< or_ics_base v  )  [virtual]

Implements lestes::lang::cplus::sem::ss_type.

Reimplemented in lestes::lang::cplus::sem::ss_member_function.

or_cv_enum lestes::lang::cplus::sem::ss_function::accept_or_ics_base_cv ( ptr< or_ics_base_cv v  )  [virtual]

Implements lestes::lang::cplus::sem::ss_type.

Reimplemented in lestes::lang::cplus::sem::ss_member_function.

ptr<::lestes::md::types::tm_data_type_base > lestes::lang::cplus::sem::ss_function::accept_ss_type2tm_type_gen_base ( ptr< ss_type2tm_type_gen_base v  )  [virtual]

Implements lestes::lang::cplus::sem::ss_type.

Reimplemented in lestes::lang::cplus::sem::ss_member_function.

void lestes::lang::cplus::sem::ss_function::accept_ss_type_visitor ( ptr< ss_type_visitor v  )  [virtual]

Implements lestes::lang::cplus::sem::ss_type.

Reimplemented in lestes::lang::cplus::sem::ss_member_function.

ptr< ss_function > lestes::lang::cplus::sem::ss_function::create ( ptr< ss_type a__ss_function__returns,
ptr< ::lestes::std::list< srp< ss_type > > >  a__ss_function__params,
bool  a__ss_function__ellipsis 
) [static]

First generated factory method for class ss_function.

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

Author:
lsg

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

for purposes of dumping

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

Reimplemented in lestes::lang::cplus::sem::ss_member_function.

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

for purposes of dumping

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

Reimplemented in lestes::lang::cplus::sem::ss_member_function.

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

Marking routine for class ss_function.

Marking routine is used for garbage collection.

Author:
lsg

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

Reimplemented in lestes::lang::cplus::sem::ss_member_function.


Member Data Documentation

ptr<::lestes::std::set< srp< ss_function >, ss_function_comparator > > lestes::lang::cplus::sem::ss_function::instances = ::lestes::std::set< srp< ss_function >, ss_function_comparator > ::create() [static, private]

The singleton instances of the class.

srp< ss_type > lestes::lang::cplus::sem::ss_function::returns [private]

The return type of the function.

srp< ::lestes::std::list< srp< ss_type > > > lestes::lang::cplus::sem::ss_function::params [private]

The types of parameters of the function.

bool lestes::lang::cplus::sem::ss_function::ellipsis [private]

Whether current function has an ellipsis(...) in function parameters.

Rationale for field contra individual class: There is no C++ type, which corresponds to ellipsis.

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

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

Reimplemented in lestes::lang::cplus::sem::ss_member_function.


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