lestes::lang::cplus::sem::ss_method_declaration Class Reference

Method declaration for a class. More...

#include <ss_declaration.g.hh>

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

lestes::lang::cplus::sem::ss_function_declaration lestes::lang::cplus::sem::ss_befriendable_declaration lestes::lang::cplus::sem::ss_declaration_with_access_specifier lestes::lang::cplus::sem::ss_declaration 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

bool virtuality_get () const
 The method virtuality_get returns the value of the field ss_method_declaration::virtuality.
void virtuality_set (bool)
 The method virtuality_set sets the field ss_method_declaration::virtuality to the given value.
bool pure_virtual_get () const
 The method pure_virtual_get returns the value of the field ss_method_declaration::pure_virtual.
void pure_virtual_set (bool)
 The method pure_virtual_set sets the field ss_method_declaration::pure_virtual to the given value.
ptr< ss_method_declarationreimplements_get () const
 The method reimplements_get returns the value of the field ss_method_declaration::reimplements.
void reimplements_set (const ptr< ss_method_declaration > &)
 The method reimplements_set sets the field ss_method_declaration::reimplements to the given value.
virtual void accept_ss_declaration_visitor (ptr< ss_declaration_visitor > v)
virtual ulint accept_ss_decl2ulint_base (ptr< ss_decl2ulint_base > v)
virtual lstring accept_ss_decl2lstring_base (ptr< ss_decl2lstring_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< ss_method_declarationcreate (ptr< ::lestes::std::source_location > a__ss_base_with_location__location, ptr< ss_declaration_time > a__ss_declaration__visible_since, ptr< ss_declaration_time > a__ss_declaration__decl_time, ptr< ss_decl_name > a__ss_declaration__name, ptr< ss_decl_seq > a__ss_declaration__contained_in, ptr< ss_type > a__ss_declaration__type, ptr< ss_linkage > a__ss_declaration__linkage, ss_access_specifier::type a__ss_declaration_with_access_specifier__access_specifier, ss_storage_class::type a__ss_declaration_with_access_specifier__storage_class, ptr< ::lestes::std::set< srp< ss_struct_base > > > a__ss_befriendable_declaration__friend_of, ptr< ss_decl_seq > a__ss_function_declaration__parameters, ptr< ss_compound_stmt > a__ss_function_declaration__body, ptr< ::lestes::std::map< srp< ss_id_label >, srp< ss_statement > > > a__ss_function_declaration__labels, ptr< ::lestes::std::list< srp< ss_decl_seq > > > a__ss_function_declaration__historical_parameters, bool a__ss_method_declaration__virtuality, bool a__ss_method_declaration__pure_virtual, ptr< ss_method_declaration > a__ss_method_declaration__reimplements)
 First generated factory method for class ss_method_declaration.
static ptr< ss_method_declarationcreate (ptr< ::lestes::std::source_location > a__ss_base_with_location__location, ptr< ss_declaration_time > a__ss_declaration__visible_since, ptr< ss_declaration_time > a__ss_declaration__decl_time, ptr< ss_decl_name > a__ss_declaration__name, ptr< ss_decl_seq > a__ss_declaration__contained_in, ptr< ss_type > a__ss_declaration__type, ptr< ss_linkage > a__ss_declaration__linkage, ptr< ss_decl_seq > a__ss_function_declaration__parameters, ptr< ss_compound_stmt > a__ss_function_declaration__body, bool a__ss_method_declaration__virtuality, bool a__ss_method_declaration__pure_virtual, ptr< ss_method_declaration > a__ss_method_declaration__reimplements)
 Second generated factory method for class ss_method_declaration.

Protected Member Functions

 ss_method_declaration (ptr< ::lestes::std::source_location > a__ss_base_with_location__location, ptr< ss_declaration_time > a__ss_declaration__visible_since, ptr< ss_declaration_time > a__ss_declaration__decl_time, ptr< ss_decl_name > a__ss_declaration__name, ptr< ss_decl_seq > a__ss_declaration__contained_in, ptr< ss_type > a__ss_declaration__type, ptr< ss_linkage > a__ss_declaration__linkage, ss_access_specifier::type a__ss_declaration_with_access_specifier__access_specifier, ss_storage_class::type a__ss_declaration_with_access_specifier__storage_class, ptr< ::lestes::std::set< srp< ss_struct_base > > > a__ss_befriendable_declaration__friend_of, ptr< ss_decl_seq > a__ss_function_declaration__parameters, ptr< ss_compound_stmt > a__ss_function_declaration__body, ptr< ::lestes::std::map< srp< ss_id_label >, srp< ss_statement > > > a__ss_function_declaration__labels, ptr< ::lestes::std::list< srp< ss_decl_seq > > > a__ss_function_declaration__historical_parameters, bool a__ss_method_declaration__virtuality, bool a__ss_method_declaration__pure_virtual, ptr< ss_method_declaration > a__ss_method_declaration__reimplements)
 Generated constructor for class ss_method_declaration.
virtual void gc_mark ()
 Marking routine for class ss_method_declaration.

Private Attributes

bool virtuality
 Whether is current function(method) virtual.
bool pure_virtual
 Whether is current function(method) pure virtual (=0).
srp< ss_method_declarationreimplements
 Declaration, which is being replaced in VMT by current declaration.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Method declaration for a class.

Definition at line 1088 of file ss_declaration.g.hh.


Constructor & Destructor Documentation

lestes::lang::cplus::sem::ss_method_declaration::ss_method_declaration ( ptr< ::lestes::std::source_location a__ss_base_with_location__location,
ptr< ss_declaration_time a__ss_declaration__visible_since,
ptr< ss_declaration_time a__ss_declaration__decl_time,
ptr< ss_decl_name a__ss_declaration__name,
ptr< ss_decl_seq a__ss_declaration__contained_in,
ptr< ss_type a__ss_declaration__type,
ptr< ss_linkage a__ss_declaration__linkage,
ss_access_specifier::type  a__ss_declaration_with_access_specifier__access_specifier,
ss_storage_class::type  a__ss_declaration_with_access_specifier__storage_class,
ptr< ::lestes::std::set< srp< ss_struct_base > > >  a__ss_befriendable_declaration__friend_of,
ptr< ss_decl_seq a__ss_function_declaration__parameters,
ptr< ss_compound_stmt a__ss_function_declaration__body,
ptr< ::lestes::std::map< srp< ss_id_label >, srp< ss_statement > > >  a__ss_function_declaration__labels,
ptr< ::lestes::std::list< srp< ss_decl_seq > > >  a__ss_function_declaration__historical_parameters,
bool  a__ss_method_declaration__virtuality,
bool  a__ss_method_declaration__pure_virtual,
ptr< ss_method_declaration a__ss_method_declaration__reimplements 
) [protected]

Generated constructor for class ss_method_declaration.

Generated constructor for class ss_method_declaration.

Author:
lsg

Definition at line 2055 of file ss_declaration.g.cc.

Referenced by create().

02072         : ss_function_declaration(a__ss_base_with_location__location,
02073                 a__ss_declaration__visible_since,
02074                 a__ss_declaration__decl_time,
02075                 a__ss_declaration__name,
02076                 a__ss_declaration__contained_in,
02077                 a__ss_declaration__type,
02078                 a__ss_declaration__linkage,
02079                 a__ss_declaration_with_access_specifier__access_specifier,
02080                 a__ss_declaration_with_access_specifier__storage_class,
02081                 a__ss_befriendable_declaration__friend_of,
02082                 a__ss_function_declaration__parameters,
02083                 a__ss_function_declaration__body,
02084                 a__ss_function_declaration__labels,
02085                 a__ss_function_declaration__historical_parameters), virtuality(a__ss_method_declaration__virtuality), pure_virtual(a__ss_method_declaration__pure_virtual), reimplements(a__ss_method_declaration__reimplements)
02086 {}


Member Function Documentation

bool lestes::lang::cplus::sem::ss_method_declaration::virtuality_get (  )  const

The method virtuality_get returns the value of the field ss_method_declaration::virtuality.

Returns:
The value of ss_method_declaration::virtuality.
Author:
lsg

Definition at line 1925 of file ss_declaration.g.cc.

References virtuality.

01926 {
01927         return virtuality;
01928 }

void lestes::lang::cplus::sem::ss_method_declaration::virtuality_set ( bool  x  ) 

The method virtuality_set sets the field ss_method_declaration::virtuality to the given value.

Parameters:
[in] x The new value to set ss_method_declaration::virtuality to.
Author:
lsg

Definition at line 1934 of file ss_declaration.g.cc.

References virtuality.

01935 {
01936         ss_method_declaration::virtuality = x;
01937 }

bool lestes::lang::cplus::sem::ss_method_declaration::pure_virtual_get (  )  const

The method pure_virtual_get returns the value of the field ss_method_declaration::pure_virtual.

Returns:
The value of ss_method_declaration::pure_virtual.
Author:
lsg

Definition at line 1943 of file ss_declaration.g.cc.

References pure_virtual.

01944 {
01945         return pure_virtual;
01946 }

void lestes::lang::cplus::sem::ss_method_declaration::pure_virtual_set ( bool  x  ) 

The method pure_virtual_set sets the field ss_method_declaration::pure_virtual to the given value.

Parameters:
[in] x The new value to set ss_method_declaration::pure_virtual to.
Author:
lsg

Definition at line 1952 of file ss_declaration.g.cc.

References pure_virtual.

01953 {
01954         ss_method_declaration::pure_virtual = x;
01955 }

ptr< ss_method_declaration > lestes::lang::cplus::sem::ss_method_declaration::reimplements_get (  )  const

The method reimplements_get returns the value of the field ss_method_declaration::reimplements.

Returns:
The value of ss_method_declaration::reimplements.
Author:
lsg

Definition at line 1961 of file ss_declaration.g.cc.

References reimplements.

01962 {
01963         return reimplements;
01964 }

void lestes::lang::cplus::sem::ss_method_declaration::reimplements_set ( const ptr< ss_method_declaration > &  x  ) 

The method reimplements_set sets the field ss_method_declaration::reimplements to the given value.

Parameters:
[in] x The new value to set ss_method_declaration::reimplements to.
Author:
lsg

Definition at line 1970 of file ss_declaration.g.cc.

References reimplements.

01971 {
01972         ss_method_declaration::reimplements = x;
01973 }

void lestes::lang::cplus::sem::ss_method_declaration::accept_ss_declaration_visitor ( ptr< ss_declaration_visitor v  )  [virtual]

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

Definition at line 1975 of file ss_declaration.g.cc.

01976 {
01977         return v->visit_ss_method_declaration( this );
01978 }

ulint lestes::lang::cplus::sem::ss_method_declaration::accept_ss_decl2ulint_base ( ptr< ss_decl2ulint_base v  )  [virtual]

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

Definition at line 1980 of file ss_declaration.g.cc.

01981 {
01982         return v->visit_ss_method_declaration( this );
01983 }

lstring lestes::lang::cplus::sem::ss_method_declaration::accept_ss_decl2lstring_base ( ptr< ss_decl2lstring_base v  )  [virtual]

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

Definition at line 1985 of file ss_declaration.g.cc.

01986 {
01987         return v->visit_ss_method_declaration( this );
01988 }

ptr< ss_method_declaration > lestes::lang::cplus::sem::ss_method_declaration::create ( ptr< ::lestes::std::source_location a__ss_base_with_location__location,
ptr< ss_declaration_time a__ss_declaration__visible_since,
ptr< ss_declaration_time a__ss_declaration__decl_time,
ptr< ss_decl_name a__ss_declaration__name,
ptr< ss_decl_seq a__ss_declaration__contained_in,
ptr< ss_type a__ss_declaration__type,
ptr< ss_linkage a__ss_declaration__linkage,
ss_access_specifier::type  a__ss_declaration_with_access_specifier__access_specifier,
ss_storage_class::type  a__ss_declaration_with_access_specifier__storage_class,
ptr< ::lestes::std::set< srp< ss_struct_base > > >  a__ss_befriendable_declaration__friend_of,
ptr< ss_decl_seq a__ss_function_declaration__parameters,
ptr< ss_compound_stmt a__ss_function_declaration__body,
ptr< ::lestes::std::map< srp< ss_id_label >, srp< ss_statement > > >  a__ss_function_declaration__labels,
ptr< ::lestes::std::list< srp< ss_decl_seq > > >  a__ss_function_declaration__historical_parameters,
bool  a__ss_method_declaration__virtuality,
bool  a__ss_method_declaration__pure_virtual,
ptr< ss_method_declaration a__ss_method_declaration__reimplements 
) [static]

First generated factory method for class ss_method_declaration.

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

Author:
lsg

Definition at line 1994 of file ss_declaration.g.cc.

References ss_method_declaration().

02011 {
02012         return ptr< ss_method_declaration > ( new ss_method_declaration(a__ss_base_with_location__location,
02013                 a__ss_declaration__visible_since,
02014                 a__ss_declaration__decl_time,
02015                 a__ss_declaration__name,
02016                 a__ss_declaration__contained_in,
02017                 a__ss_declaration__type,
02018                 a__ss_declaration__linkage,
02019                 a__ss_declaration_with_access_specifier__access_specifier,
02020                 a__ss_declaration_with_access_specifier__storage_class,
02021                 a__ss_befriendable_declaration__friend_of,
02022                 a__ss_function_declaration__parameters,
02023                 a__ss_function_declaration__body,
02024                 a__ss_function_declaration__labels,
02025                 a__ss_function_declaration__historical_parameters,
02026                 a__ss_method_declaration__virtuality,
02027                 a__ss_method_declaration__pure_virtual,
02028                 a__ss_method_declaration__reimplements) );
02029 }

ptr< ss_method_declaration > lestes::lang::cplus::sem::ss_method_declaration::create ( ptr< ::lestes::std::source_location a__ss_base_with_location__location,
ptr< ss_declaration_time a__ss_declaration__visible_since,
ptr< ss_declaration_time a__ss_declaration__decl_time,
ptr< ss_decl_name a__ss_declaration__name,
ptr< ss_decl_seq a__ss_declaration__contained_in,
ptr< ss_type a__ss_declaration__type,
ptr< ss_linkage a__ss_declaration__linkage,
ptr< ss_decl_seq a__ss_function_declaration__parameters,
ptr< ss_compound_stmt a__ss_function_declaration__body,
bool  a__ss_method_declaration__virtuality,
bool  a__ss_method_declaration__pure_virtual,
ptr< ss_method_declaration a__ss_method_declaration__reimplements 
) [static]

Second generated factory method for class ss_method_declaration.

This factory method for class ss_method_declaration uses initializers.

Author:
lsg

Definition at line 2035 of file ss_declaration.g.cc.

References lestes::lang::cplus::sem::ss_access_specifier::ACCESS_PUBLIC, lestes::intercode::intercode::create(), ss_method_declaration(), and lestes::lang::cplus::sem::ss_storage_class::ST_NONE.

02047 {
02048         return ptr< ss_method_declaration > ( new ss_method_declaration(a__ss_base_with_location__location, a__ss_declaration__visible_since, a__ss_declaration__decl_time, a__ss_declaration__name, a__ss_declaration__contained_in, a__ss_declaration__type, a__ss_declaration__linkage, ss_access_specifier::ACCESS_PUBLIC, ss_storage_class::ST_NONE, ::lestes::std::set< srp< ss_struct_base > > ::create(), a__ss_function_declaration__parameters, a__ss_function_declaration__body, ::lestes::std::map< srp< ss_id_label >, srp< ss_statement > > ::create(), ::lestes::std::list< srp< ss_decl_seq > > ::create(), a__ss_method_declaration__virtuality, a__ss_method_declaration__pure_virtual, a__ss_method_declaration__reimplements) );
02049 }

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

for purposes of dumping

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

Definition at line 2088 of file ss_declaration.g.cc.

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

02089 {
02090         if (!reflection) {
02091                 typedef class_reflection::field_metadata md;
02092                 typedef class_reflection::field_metadata_list mdlist;
02093                 ptr<mdlist> mdl = mdlist::create();
02094                 mdl->push_back( md::create( "virtuality", "bool" ) );
02095                 mdl->push_back( md::create( "pure_virtual", "bool" ) );
02096                 mdl->push_back( md::create( "reimplements", "ss_method_declaration" ) );
02097                 reflection = reflection_list::create( ss_function_declaration::reflection_get() );
02098                 reflection->push_back( class_reflection::create( "ss_method_declaration", mdl ) );
02099         }
02100         return reflection;
02101 }

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

for purposes of dumping

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

Definition at line 2103 of file ss_declaration.g.cc.

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

02104 {
02105         ptr < field_list_list > result = ss_function_declaration::field_values_get();
02106         result->push_back( value_list::create() );
02107         result->back()->push_back( objectize< bool > ::create( this->virtuality ) );
02108         result->push_back( value_list::create() );
02109         result->back()->push_back( objectize< bool > ::create( this->pure_virtual ) );
02110         result->push_back( value_list::create() );
02111         result->back()->push_back( this->reimplements );
02112         return result;
02113 }

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

Marking routine for class ss_method_declaration.

Marking routine is used for garbage collection.

Author:
lsg

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

Definition at line 2120 of file ss_declaration.g.cc.

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

02121 {
02122         ss_function_declaration::gc_mark();
02123 }


Member Data Documentation

bool lestes::lang::cplus::sem::ss_method_declaration::virtuality [private]

Whether is current function(method) virtual.

Definition at line 1180 of file ss_declaration.g.hh.

Referenced by virtuality_get(), and virtuality_set().

bool lestes::lang::cplus::sem::ss_method_declaration::pure_virtual [private]

Whether is current function(method) pure virtual (=0).

Definition at line 1182 of file ss_declaration.g.hh.

Referenced by pure_virtual_get(), and pure_virtual_set().

srp< ss_method_declaration > lestes::lang::cplus::sem::ss_method_declaration::reimplements [private]

Declaration, which is being replaced in VMT by current declaration.

This field is used only for virtual functions. Non virtual methods have this field set to NULL.

Definition at line 1190 of file ss_declaration.g.hh.

Referenced by reimplements_get(), and reimplements_set().

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

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

Definition at line 1191 of file ss_declaration.g.hh.

Referenced by reflection_get().


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