#include <or_or.g.hh>
Inheritance diagram for lestes::lang::cplus::sem::or_or_functional:

Public Member Functions | |
| ptr< ss_type > | type_get () const |
| The method type_get returns the value of the field or_or_functional::type. | |
| void | type_set (const ptr< ss_type > &) |
| The method type_set sets the field or_or_functional::type to the given value. | |
| virtual ptr< ss_expression > | operator() (ptr< ss_sp > psp, ptr< ss_sp > nsp, ptr< ::lestes::std::source_location > location, ptr< ::lestes::std::list< srp< ss_sp > > > sp_list) override |
| Operator, which constructs the actual expression (and invokes creation of subexpressions, calling recusrively operator() on them. | |
| virtual void | accept_or_or_functional_visitor (ptr< or_or_functional_visitor > v) override |
| virtual ptr< reflection_list > | reflection_get () const |
| for purposes of dumping | |
| virtual ptr< field_list_list > | field_values_get () const |
| for purposes of dumping | |
Protected Member Functions | |
| or_or_functional (ptr< ss_type > a__or_or_functional__type) | |
| Generated constructor for class or_or_functional. | |
| virtual void | gc_mark () |
| Marking routine for class or_or_functional. | |
Private Attributes | |
| srp< ss_type > | type |
Static Private Attributes | |
| static ptr< reflection_list > | reflection = reflection |
This class represents the creator of the ss_expression descendants. It is used in the process of "lazy creation" of ss_expressions in overload resolution and as->ss expression transformations. Every instance of this functional represents the ss_expression to be created later (using operator() of the functional).
Definition at line 67 of file or_or.g.hh.
| lestes::lang::cplus::sem::or_or_functional::or_or_functional | ( | ptr< ss_type > | a__or_or_functional__type | ) | [protected] |
Generated constructor for class or_or_functional.
Generated constructor for class or_or_functional.
Definition at line 53 of file or_or.g.cc.
| ptr< ss_type > lestes::lang::cplus::sem::or_or_functional::type_get | ( | void | ) | const |
The method type_get returns the value of the field or_or_functional::type.
Definition at line 35 of file or_or.g.cc.
References type.
Referenced by lestes::lang::cplus::sem::or_or_functional_decl::operator()(), lestes::lang::cplus::sem::or_or_functional_literal::operator()(), lestes::lang::cplus::sem::or_or_functional_this::operator()(), and lestes::lang::cplus::sem::or_or_functional_addrof::operator()().
00036 { 00037 return type; 00038 }
| void lestes::lang::cplus::sem::or_or_functional::type_set | ( | const ptr< ss_type > & | x | ) |
The method type_set sets the field or_or_functional::type to the given value.
| [in] | x | The new value to set or_or_functional::type to. |
Definition at line 44 of file or_or.g.cc.
References type.
00045 { 00046 or_or_functional::type = x; 00047 }
| virtual ptr< ss_expression > lestes::lang::cplus::sem::or_or_functional::operator() | ( | ptr< ss_sp > | psp, | |
| ptr< ss_sp > | nsp, | |||
| ptr< ::lestes::std::source_location > | location, | |||
| ptr< ::lestes::std::list< srp< ss_sp > > > | sp_list | |||
| ) | [pure virtual] |
Operator, which constructs the actual expression (and invokes creation of subexpressions, calling recusrively operator() on them.
Implemented in lestes::lang::cplus::sem::or_or_functional_concrete, lestes::lang::cplus::sem::or_or_functional_comma, lestes::lang::cplus::sem::or_or_functional_addrof, lestes::lang::cplus::sem::or_or_functional_literal, lestes::lang::cplus::sem::or_or_functional_func_decl_set, lestes::lang::cplus::sem::or_or_functional_decl, lestes::lang::cplus::sem::or_or_functional_ambiguous, lestes::lang::cplus::sem::or_or_functional_noviable, and lestes::lang::cplus::sem::or_or_functional_this.
| virtual void lestes::lang::cplus::sem::or_or_functional::accept_or_or_functional_visitor | ( | ptr< or_or_functional_visitor > | v | ) | [pure virtual] |
Implemented in lestes::lang::cplus::sem::or_or_functional_concrete, lestes::lang::cplus::sem::or_or_functional_comma, lestes::lang::cplus::sem::or_or_functional_addrof, lestes::lang::cplus::sem::or_or_functional_literal, lestes::lang::cplus::sem::or_or_functional_func_decl_set, lestes::lang::cplus::sem::or_or_functional_decl, lestes::lang::cplus::sem::or_or_functional_ambiguous, lestes::lang::cplus::sem::or_or_functional_noviable, and lestes::lang::cplus::sem::or_or_functional_this.
| ptr< object::reflection_list > lestes::lang::cplus::sem::or_or_functional::reflection_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::std::object.
Reimplemented in lestes::lang::cplus::sem::or_or_functional_concrete, lestes::lang::cplus::sem::or_or_functional_comma, lestes::lang::cplus::sem::or_or_functional_addrof, lestes::lang::cplus::sem::or_or_functional_literal, lestes::lang::cplus::sem::or_or_functional_func_decl_set, lestes::lang::cplus::sem::or_or_functional_decl, lestes::lang::cplus::sem::or_or_functional_ambiguous, lestes::lang::cplus::sem::or_or_functional_noviable, and lestes::lang::cplus::sem::or_or_functional_this.
Definition at line 57 of file or_or.g.cc.
References lestes::std::list< T >::create(), reflection, and lestes::std::object::reflection_get().
Referenced by lestes::lang::cplus::sem::or_or_functional_this::reflection_get(), lestes::lang::cplus::sem::or_or_functional_noviable::reflection_get(), lestes::lang::cplus::sem::or_or_functional_ambiguous::reflection_get(), lestes::lang::cplus::sem::or_or_functional_decl::reflection_get(), lestes::lang::cplus::sem::or_or_functional_func_decl_set::reflection_get(), lestes::lang::cplus::sem::or_or_functional_literal::reflection_get(), lestes::lang::cplus::sem::or_or_functional_addrof::reflection_get(), lestes::lang::cplus::sem::or_or_functional_comma::reflection_get(), and lestes::lang::cplus::sem::or_or_functional_concrete::reflection_get().
00058 { 00059 if (!reflection) { 00060 typedef class_reflection::field_metadata md; 00061 typedef class_reflection::field_metadata_list mdlist; 00062 ptr<mdlist> mdl = mdlist::create(); 00063 mdl->push_back( md::create( "type", "ss_type" ) ); 00064 reflection = reflection_list::create( ::lestes::std::object::reflection_get() ); 00065 reflection->push_back( class_reflection::create( "or_or_functional", mdl ) ); 00066 } 00067 return reflection; 00068 }
| ptr< object::field_list_list > lestes::lang::cplus::sem::or_or_functional::field_values_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::std::object.
Reimplemented in lestes::lang::cplus::sem::or_or_functional_concrete, lestes::lang::cplus::sem::or_or_functional_comma, lestes::lang::cplus::sem::or_or_functional_addrof, lestes::lang::cplus::sem::or_or_functional_literal, lestes::lang::cplus::sem::or_or_functional_func_decl_set, lestes::lang::cplus::sem::or_or_functional_decl, lestes::lang::cplus::sem::or_or_functional_ambiguous, lestes::lang::cplus::sem::or_or_functional_noviable, and lestes::lang::cplus::sem::or_or_functional_this.
Definition at line 70 of file or_or.g.cc.
References lestes::std::list< T >::create(), and lestes::std::object::field_values_get().
Referenced by lestes::lang::cplus::sem::or_or_functional_this::field_values_get(), lestes::lang::cplus::sem::or_or_functional_noviable::field_values_get(), lestes::lang::cplus::sem::or_or_functional_ambiguous::field_values_get(), lestes::lang::cplus::sem::or_or_functional_decl::field_values_get(), lestes::lang::cplus::sem::or_or_functional_func_decl_set::field_values_get(), lestes::lang::cplus::sem::or_or_functional_literal::field_values_get(), lestes::lang::cplus::sem::or_or_functional_addrof::field_values_get(), lestes::lang::cplus::sem::or_or_functional_comma::field_values_get(), and lestes::lang::cplus::sem::or_or_functional_concrete::field_values_get().
00071 { 00072 ptr < field_list_list > result = ::lestes::std::object::field_values_get(); 00073 result->push_back( value_list::create() ); 00074 result->back()->push_back( this->type ); 00075 return result; 00076 }
| void lestes::lang::cplus::sem::or_or_functional::gc_mark | ( | void | ) | [protected, virtual] |
Marking routine for class or_or_functional.
Marking routine is used for garbage collection.
Reimplemented from lestes::std::mem::keystone.
Reimplemented in lestes::lang::cplus::sem::or_or_functional_concrete, lestes::lang::cplus::sem::or_or_functional_comma, lestes::lang::cplus::sem::or_or_functional_addrof, lestes::lang::cplus::sem::or_or_functional_literal, lestes::lang::cplus::sem::or_or_functional_func_decl_set, lestes::lang::cplus::sem::or_or_functional_decl, lestes::lang::cplus::sem::or_or_functional_ambiguous, lestes::lang::cplus::sem::or_or_functional_noviable, and lestes::lang::cplus::sem::or_or_functional_this.
Definition at line 83 of file or_or.g.cc.
References lestes::std::mem::keystone::gc_mark().
Referenced by lestes::lang::cplus::sem::or_or_functional_this::gc_mark(), lestes::lang::cplus::sem::or_or_functional_noviable::gc_mark(), lestes::lang::cplus::sem::or_or_functional_ambiguous::gc_mark(), lestes::lang::cplus::sem::or_or_functional_decl::gc_mark(), lestes::lang::cplus::sem::or_or_functional_func_decl_set::gc_mark(), lestes::lang::cplus::sem::or_or_functional_literal::gc_mark(), lestes::lang::cplus::sem::or_or_functional_addrof::gc_mark(), lestes::lang::cplus::sem::or_or_functional_comma::gc_mark(), and lestes::lang::cplus::sem::or_or_functional_concrete::gc_mark().
00084 { 00085 ::lestes::std::object::gc_mark(); 00086 }
srp< ss_type > lestes::lang::cplus::sem::or_or_functional::type [private] |
ptr< object::reflection_list > lestes::lang::cplus::sem::or_or_functional::reflection = reflection [static, private] |
Reimplemented from lestes::std::object.
Reimplemented in lestes::lang::cplus::sem::or_or_functional_concrete, lestes::lang::cplus::sem::or_or_functional_comma, lestes::lang::cplus::sem::or_or_functional_addrof, lestes::lang::cplus::sem::or_or_functional_literal, lestes::lang::cplus::sem::or_or_functional_func_decl_set, lestes::lang::cplus::sem::or_or_functional_decl, lestes::lang::cplus::sem::or_or_functional_ambiguous, lestes::lang::cplus::sem::or_or_functional_noviable, and lestes::lang::cplus::sem::or_or_functional_this.
Definition at line 99 of file or_or.g.hh.
Referenced by reflection_get().
1.5.1-20070107