Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

function_body.cc File Reference

#include "function_body.h"
#include "function_body_i.h"

Include dependency graph for function_body.cc:

Include dependency graph

Go to the source code of this file.

Functions

Ptreeprocess_initializers (Function_signature *fsig, Block_scope *scope, Ptree *tree)
 Process an initializer list. More...

void process_function_body (Function_signature *fsig, Block_scope *scope, Ptree *tree, Ptree *init)
 Process function body. More...


Function Documentation

void process_function_body Function_signature   fsig,
Block_scope   scope,
Ptree   tree,
Ptree   init
 

Process function body.

Parameters:
fsig  function signature
scope  scope containing the parameters
tree  body
init  member initializer tree, for constructors only.

Definition at line 200 of file function_body.cc.

References Function_signature::get_function(), Function_symbol::get_function_kind(), Annotator::get_output(), Function_signature::get_storage_specifier(), Function_signature::get_this_type(), Source::instance(), Symbol_name::k_Constructor, process_initializers(), s_Member, Function_signature::set_body(), Block_scope::set_this_type(), and Annotator::visit_stmt_or_block().

Referenced by Function_body_queue::process().

Ptree * process_initializers Function_signature   fsig,
Block_scope   scope,
Ptree   tree
[static]
 

Process an initializer list.

Parameters:
fsig  the function signature
scope  relevant scope
tree  input tree. Either null or [: init , init , ...] (whatever we get from the parser).
Returns:
list containing an initializer for every relevant element, in correct order.

Definition at line 92 of file function_body.cc.

References Class_symbol::base_begin(), Class_symbol::base_end(), Ptree::Car(), Ptree::Cdr(), compile_error(), compile_warning(), expect_ptree(), Ptree::First(), Function_symbol::get_declared_scope(), Function_signature::get_function(), Symbol::get_name(), Function_signature::get_this_type(), Variable_symbol::get_type(), Type_symbol::get_type(), Typedef_symbol::get_type(), Type::get_type_symbol(), Type::is_class_type(), Ptree::List(), make_name(), make_static_leaf(), Class_symbol::mem_begin(), Class_symbol::mem_end(), Ptree::Nth(), Ptree::Second(), Ptree::Snoc(), Symbol_pair::tag, Ptree::ToString(), Symbol_pair::untag, Class_symbol::vbc_begin(), and Class_symbol::vbc_end().

Referenced by process_function_body().


Generated on Mon Feb 10 17:33:51 2003 for VFiasco Semantics Compiler by doxygen1.2.15