#include <as_decl.g.hh>
Inheritance diagram for lestes::lang::cplus::sem::as_function_definition:
Public Member Functions | |
ptr< ::lestes::std::list< srp< as_declaration_specifier > > > | declaration_specifiers_get () const |
The method declaration_specifiers_get returns the value of the field as_function_definition::declaration_specifiers. | |
void | declaration_specifiers_set (const ptr< ::lestes::std::list< srp< as_declaration_specifier > > > &) |
The method declaration_specifiers_set sets the field as_function_definition::declaration_specifiers to the given value. | |
ptr< as_declarator > | declarator_get () const |
The method declarator_get returns the value of the field as_function_definition::declarator. | |
void | declarator_set (const ptr< as_declarator > &) |
The method declarator_set sets the field as_function_definition::declarator to the given value. | |
ptr< ::lestes::std::list< srp< as_mem_initializer > > > | mem_initializers_get () const |
The method mem_initializers_get returns the value of the field as_function_definition::mem_initializers. | |
void | mem_initializers_set (const ptr< ::lestes::std::list< srp< as_mem_initializer > > > &) |
The method mem_initializers_set sets the field as_function_definition::mem_initializers to the given value. | |
ptr< ::lestes::lang::cplus::syn::bison_pack_token > | function_body_get () const |
The method function_body_get returns the value of the field as_function_definition::function_body. | |
void | function_body_set (const ptr< ::lestes::lang::cplus::syn::bison_pack_token > &) |
The method function_body_set sets the field as_function_definition::function_body to the given value. | |
ptr< ::lestes::std::list< srp< as_handler > > > | handlers_get () const |
The method handlers_get returns the value of the field as_function_definition::handlers. | |
void | handlers_set (const ptr< ::lestes::std::list< srp< as_handler > > > &) |
The method handlers_set sets the field as_function_definition::handlers to the given value. | |
ptr< ::lestes::intercode::as_base > | parsed_body_get () const |
The method parsed_body_get returns the value of the field as_function_definition::parsed_body. | |
void | parsed_body_set (const ptr< ::lestes::intercode::as_base > &) |
The method parsed_body_set sets the field as_function_definition::parsed_body to the given value. | |
virtual ptr< reflection_list > | reflection_get () const |
for purposes of dumping | |
virtual ptr< field_list_list > | field_values_get () const |
for purposes of dumping | |
Static Public Member Functions | |
static ptr< as_function_definition > | create (ptr< ::lestes::std::source_location > a__as_base__location, ptr< ::lestes::std::list< srp< as_declaration_specifier > > > a__as_function_definition__declaration_specifiers, ptr< as_declarator > a__as_function_definition__declarator, ptr< ::lestes::std::list< srp< as_mem_initializer > > > a__as_function_definition__mem_initializers, ptr< ::lestes::lang::cplus::syn::bison_pack_token > a__as_function_definition__function_body, ptr< ::lestes::std::list< srp< as_handler > > > a__as_function_definition__handlers, ptr< ::lestes::intercode::as_base > a__as_function_definition__parsed_body) |
First generated factory method for class as_function_definition. | |
static ptr< as_function_definition > | create (ptr< ::lestes::std::source_location > a__as_base__location, ptr< ::lestes::std::list< srp< as_declaration_specifier > > > a__as_function_definition__declaration_specifiers, ptr< as_declarator > a__as_function_definition__declarator, ptr< ::lestes::std::list< srp< as_mem_initializer > > > a__as_function_definition__mem_initializers, ptr< ::lestes::lang::cplus::syn::bison_pack_token > a__as_function_definition__function_body, ptr< ::lestes::std::list< srp< as_handler > > > a__as_function_definition__handlers) |
Second generated factory method for class as_function_definition. | |
Protected Member Functions | |
as_function_definition (ptr< ::lestes::std::source_location > a__as_base__location, ptr< ::lestes::std::list< srp< as_declaration_specifier > > > a__as_function_definition__declaration_specifiers, ptr< as_declarator > a__as_function_definition__declarator, ptr< ::lestes::std::list< srp< as_mem_initializer > > > a__as_function_definition__mem_initializers, ptr< ::lestes::lang::cplus::syn::bison_pack_token > a__as_function_definition__function_body, ptr< ::lestes::std::list< srp< as_handler > > > a__as_function_definition__handlers, ptr< ::lestes::intercode::as_base > a__as_function_definition__parsed_body) | |
Generated constructor for class as_function_definition. | |
virtual void | gc_mark () |
Marking routine for class as_function_definition. | |
Private Attributes | |
srp< ::lestes::std::list< srp< as_declaration_specifier > > > | declaration_specifiers |
srp< as_declarator > | declarator |
srp< ::lestes::std::list< srp< as_mem_initializer > > > | mem_initializers |
srp< ::lestes::lang::cplus::syn::bison_pack_token > | function_body |
srp< ::lestes::std::list< srp< as_handler > > > | handlers |
srp< ::lestes::intercode::as_base > | parsed_body |
Contains parsed body of the function. | |
Static Private Attributes | |
static ptr< reflection_list > | reflection = reflection |
lestes::lang::cplus::sem::as_function_definition::as_function_definition | ( | ptr< ::lestes::std::source_location > | a__as_base__location, | |
ptr< ::lestes::std::list< srp< as_declaration_specifier > > > | a__as_function_definition__declaration_specifiers, | |||
ptr< as_declarator > | a__as_function_definition__declarator, | |||
ptr< ::lestes::std::list< srp< as_mem_initializer > > > | a__as_function_definition__mem_initializers, | |||
ptr< ::lestes::lang::cplus::syn::bison_pack_token > | a__as_function_definition__function_body, | |||
ptr< ::lestes::std::list< srp< as_handler > > > | a__as_function_definition__handlers, | |||
ptr< ::lestes::intercode::as_base > | a__as_function_definition__parsed_body | |||
) | [protected] |
Generated constructor for class as_function_definition.
Generated constructor for class as_function_definition.
ptr<::lestes::std::list< srp< as_declaration_specifier > > > lestes::lang::cplus::sem::as_function_definition::declaration_specifiers_get | ( | ) | const |
The method declaration_specifiers_get returns the value of the field as_function_definition::declaration_specifiers.
void lestes::lang::cplus::sem::as_function_definition::declaration_specifiers_set | ( | const ptr< ::lestes::std::list< srp< as_declaration_specifier > > > & | x | ) |
The method declaration_specifiers_set sets the field as_function_definition::declaration_specifiers to the given value.
[in] | x | The new value to set as_function_definition::declaration_specifiers to. |
ptr< as_declarator > lestes::lang::cplus::sem::as_function_definition::declarator_get | ( | ) | const |
The method declarator_get returns the value of the field as_function_definition::declarator.
void lestes::lang::cplus::sem::as_function_definition::declarator_set | ( | const ptr< as_declarator > & | x | ) |
The method declarator_set sets the field as_function_definition::declarator to the given value.
[in] | x | The new value to set as_function_definition::declarator to. |
ptr<::lestes::std::list< srp< as_mem_initializer > > > lestes::lang::cplus::sem::as_function_definition::mem_initializers_get | ( | ) | const |
The method mem_initializers_get returns the value of the field as_function_definition::mem_initializers.
void lestes::lang::cplus::sem::as_function_definition::mem_initializers_set | ( | const ptr< ::lestes::std::list< srp< as_mem_initializer > > > & | x | ) |
The method mem_initializers_set sets the field as_function_definition::mem_initializers to the given value.
[in] | x | The new value to set as_function_definition::mem_initializers to. |
ptr<::lestes::lang::cplus::syn::bison_pack_token > lestes::lang::cplus::sem::as_function_definition::function_body_get | ( | ) | const |
The method function_body_get returns the value of the field as_function_definition::function_body.
void lestes::lang::cplus::sem::as_function_definition::function_body_set | ( | const ptr< ::lestes::lang::cplus::syn::bison_pack_token > & | x | ) |
The method function_body_set sets the field as_function_definition::function_body to the given value.
[in] | x | The new value to set as_function_definition::function_body to. |
ptr<::lestes::std::list< srp< as_handler > > > lestes::lang::cplus::sem::as_function_definition::handlers_get | ( | ) | const |
The method handlers_get returns the value of the field as_function_definition::handlers.
void lestes::lang::cplus::sem::as_function_definition::handlers_set | ( | const ptr< ::lestes::std::list< srp< as_handler > > > & | x | ) |
The method handlers_set sets the field as_function_definition::handlers to the given value.
[in] | x | The new value to set as_function_definition::handlers to. |
ptr<::lestes::intercode::as_base > lestes::lang::cplus::sem::as_function_definition::parsed_body_get | ( | ) | const |
The method parsed_body_get returns the value of the field as_function_definition::parsed_body.
void lestes::lang::cplus::sem::as_function_definition::parsed_body_set | ( | const ptr< ::lestes::intercode::as_base > & | x | ) |
The method parsed_body_set sets the field as_function_definition::parsed_body to the given value.
[in] | x | The new value to set as_function_definition::parsed_body to. |
ptr< as_function_definition > lestes::lang::cplus::sem::as_function_definition::create | ( | ptr< ::lestes::std::source_location > | a__as_base__location, | |
ptr< ::lestes::std::list< srp< as_declaration_specifier > > > | a__as_function_definition__declaration_specifiers, | |||
ptr< as_declarator > | a__as_function_definition__declarator, | |||
ptr< ::lestes::std::list< srp< as_mem_initializer > > > | a__as_function_definition__mem_initializers, | |||
ptr< ::lestes::lang::cplus::syn::bison_pack_token > | a__as_function_definition__function_body, | |||
ptr< ::lestes::std::list< srp< as_handler > > > | a__as_function_definition__handlers, | |||
ptr< ::lestes::intercode::as_base > | a__as_function_definition__parsed_body | |||
) | [static] |
First generated factory method for class as_function_definition.
This factory method for class as_function_definition takes values of all fields as arguments.
ptr< as_function_definition > lestes::lang::cplus::sem::as_function_definition::create | ( | ptr< ::lestes::std::source_location > | a__as_base__location, | |
ptr< ::lestes::std::list< srp< as_declaration_specifier > > > | a__as_function_definition__declaration_specifiers, | |||
ptr< as_declarator > | a__as_function_definition__declarator, | |||
ptr< ::lestes::std::list< srp< as_mem_initializer > > > | a__as_function_definition__mem_initializers, | |||
ptr< ::lestes::lang::cplus::syn::bison_pack_token > | a__as_function_definition__function_body, | |||
ptr< ::lestes::std::list< srp< as_handler > > > | a__as_function_definition__handlers | |||
) | [static] |
Second generated factory method for class as_function_definition.
This factory method for class as_function_definition uses initializers.
ptr< object::reflection_list > lestes::lang::cplus::sem::as_function_definition::reflection_get | ( | ) | const [virtual] |
ptr< object::field_list_list > lestes::lang::cplus::sem::as_function_definition::field_values_get | ( | ) | const [virtual] |
void lestes::lang::cplus::sem::as_function_definition::gc_mark | ( | void | ) | [protected, virtual] |
Marking routine for class as_function_definition.
Marking routine is used for garbage collection.
Reimplemented from lestes::lang::cplus::sem::as_declaration.
srp< ::lestes::std::list< srp< as_declaration_specifier > > > lestes::lang::cplus::sem::as_function_definition::declaration_specifiers [private] |
srp< ::lestes::std::list< srp< as_mem_initializer > > > lestes::lang::cplus::sem::as_function_definition::mem_initializers [private] |
srp< ::lestes::lang::cplus::syn::bison_pack_token > lestes::lang::cplus::sem::as_function_definition::function_body [private] |
srp< ::lestes::std::list< srp< as_handler > > > lestes::lang::cplus::sem::as_function_definition::handlers [private] |
srp< ::lestes::intercode::as_base > lestes::lang::cplus::sem::as_function_definition::parsed_body [private] |
Contains parsed body of the function.
Currently, we do not defer parsing function/method bodies, but rather analyze them immediately. Thus, we fill this field right after (and only if) the body has been successfully parsed. This is useful for dumping AS structure of the body, which would otherwise be lost.
In production compiler, this could filled (if at all) after parsing the body as well, but the parsing would take place at different time (compared to current practice).
ptr< object::reflection_list > lestes::lang::cplus::sem::as_function_definition::reflection = reflection [static, private] |
Reimplemented from lestes::lang::cplus::sem::as_declaration.