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

Function_body_queue Class Reference

#include <function_body.h>

Collaboration diagram for Function_body_queue:

Collaboration graph
[legend]
List of all members.

Public Methods

 Function_body_queue ()
 Create a function body queue. More...

void add_function (Function_signature *fsig, Block_scope *scope, Ptree *tree, Ptree *init)
 Add function definition. More...

void process ()
 Process all enqueued function bodies. More...


Private Methods

Function_body_nodepop ()

Private Attributes

Function_body_nodefirst
Function_body_nodelast

Constructor & Destructor Documentation

Function_body_queue::Function_body_queue  
 

Create a function body queue.

Definition at line 24 of file function_body.cc.


Member Function Documentation

void Function_body_queue::add_function Function_signature   fsig,
Block_scope   scope,
Ptree   tree,
Ptree   init
 

Add function definition.

Parameters:
fsig  the function signature we're dealing with
scope  the relevant block scope (including parameter types)
tree  the function body
init  member initializer

Definition at line 36 of file function_body.cc.

References first, Function_signature::get_function(), Function_symbol::get_function_kind(), Symbol_name::k_Constructor, last, and Function_body_node::next.

Referenced by Namespace_scope::add_function_implementation().

Function_body_node * Function_body_queue::pop   [private]
 

Definition at line 57 of file function_body.cc.

References first, last, and Function_body_node::next.

Referenced by process().

void Function_body_queue::process  
 

Process all enqueued function bodies.

Definition at line 72 of file function_body.cc.

References Function_body_node::fsig, Function_body_node::init, pop(), process_function_body(), Function_body_node::scope, and Function_body_node::tree.

Referenced by Namespace_scope::process_pending().


Member Data Documentation

Function_body_node* Function_body_queue::first [private]
 

Definition at line 27 of file function_body.h.

Referenced by add_function(), and pop().

Function_body_node * Function_body_queue::last [private]
 

Definition at line 27 of file function_body.h.

Referenced by add_function(), and pop().


The documentation for this class was generated from the following files:
Generated on Mon Feb 10 17:35:37 2003 for VFiasco Semantics Compiler by doxygen1.2.15