C-Breeze
C Compiler Infrastructure

[ Project home page]
Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

Unify_ECR Class Reference

#include <unification.h>

List of all members.

Public Member Functions

 Unify_ECR (declNode *v, procNode *p)
 Unify_ECR (UnifyType *t)
declNodevar () const
void var (declNode *d)
procNodeproc () const
void proc (procNode *p)
Unify_ECR * parent () const
void parent (Unify_ECR *p)
Unify_ECR * root ()
Unify_Pendingspending ()
int id () const
bool operator== (Unify_ECR &other)
Unify_ECR * Union (Unify_ECR *other)
decl_list all_decls () const
UnifyTypetype ()
void type (UnifyType *t)
void print ()

Static Public Member Functions

set< Unify_ECR * > allECR ()

Protected Attributes

REF declNode_var
REF procNode_proc
REF Unify_ECR * _parent
REF Unify_ECR * _root
int _ndecestors
set< Unify_ECR * > _children
Unify_Pendings _pending
TREE int _id
TREE UnifyType_type

Static Protected Attributes

int id_count = 0
set< Unify_ECR * > all_ECR

Friends

ostream & operator<< (ostream &o, Unify_ECR &ecr)


Constructor & Destructor Documentation

Unify_ECR::Unify_ECR declNode   v,
procNode   p
 

Definition at line 562 of file unification.cc.

References _type, all_ECR, Array, UnifyType::ecr(), declNode::init(), Initializer, Unify_Size::sizeOf(), Node::typ(), typeNode::type(), declNode::type(), and Unify_Blank.

Unify_ECR::Unify_ECR UnifyType   t
 

Definition at line 575 of file unification.cc.

References all_ECR.


Member Function Documentation

decl_list Unify_ECR::all_decls   const
 

Definition at line 618 of file unification.cc.

References _children, and decl_list.

set<Unify_ECR*> Unify_ECR::allECR   [inline, static]
 

Definition at line 109 of file unification.h.

Referenced by UnificationBasedPtr::finalize(), and UnificationBasedPtr::print_ecr().

int Unify_ECR::id   const [inline]
 

Definition at line 99 of file unification.h.

Referenced by print().

bool Unify_ECR::operator== Unify_ECR &    other [inline]
 

Definition at line 100 of file unification.h.

References root().

void Unify_ECR::parent Unify_ECR *    p [inline]
 

Definition at line 96 of file unification.h.

Unify_ECR* Unify_ECR::parent   const [inline]
 

Definition at line 95 of file unification.h.

Referenced by UnificationBasedPtr::createProcBlock().

Unify_Pendings& Unify_ECR::pending   [inline]
 

Definition at line 98 of file unification.h.

Referenced by UnificationBasedPtr::cjoin(), UnificationBasedPtr::ecrDeref(), UnificationBasedPtr::ensure_struct_obj(), Unify_Pendings::insert(), UnificationBasedPtr::join(), and UnificationBasedPtr::settype().

void Unify_ECR::print  
 

Definition at line 640 of file unification.cc.

References _parent, _pending, _type, Unify_Pending::cjoin, Unify_Pendings::empty(), huge_pending, id(), Pendings_p, root(), Unify_Pendings::set(), Unify_Pendings::size(), and type().

Referenced by UnificationBasedPtr::print_ecr().

void Unify_ECR::proc procNode   p [inline]
 

Definition at line 94 of file unification.h.

procNode* Unify_ECR::proc   const [inline]
 

Definition at line 93 of file unification.h.

Referenced by UnificationBasedPtr::at_proc(), and UnificationBasedPtr::print_ecr().

Unify_ECR * Unify_ECR::root  
 

Definition at line 592 of file unification.cc.

References _parent, and _root.

Referenced by UnificationBasedPtr::at_proc(), UnificationBasedPtr::cjoin(), Unify_Pendings::cleanup(), UnifyType::ecr(), UnificationBasedPtr::ecr1(), Unify_Pendings::insert(), UnificationBasedPtr::join(), UnificationBasedPtr::make_compatible(), operator==(), print(), type(), UnificationBasedPtr::unify(), and Union().

void Unify_ECR::type UnifyType   t
 

Definition at line 583 of file unification.cc.

References _root, _type, root(), type(), and Union().

UnifyType * Unify_ECR::type  
 

Definition at line 581 of file unification.cc.

References _type, and root().

Referenced by Pointers::assignment_operator(), UnificationBasedPtr::at_allocation(), UnificationBasedPtr::at_call(), UnificationBasedPtr::at_decl(), UnificationBasedPtr::at_initializer(), UnificationBasedPtr::at_proc(), UnificationBasedPtr::at_threeAddr(), UnificationBasedPtr::cjoin(), Unify_Pendings::cleanup(), UnificationBasedPtr::collapse(), memoryModel::create_memory_object(), UnificationBasedPtr::createProcBlock(), Pointers::dot_operator(), UnificationBasedPtr::ecr(), UnificationBasedPtr::ecrDeref(), UnificationBasedPtr::ecrField(), UnificationBasedPtr::ensure_no_bottom(), UnificationBasedPtr::ensure_sim_obj(), UnificationBasedPtr::ensure_struct_obj(), Alpha::equal(), Lambda::equal(), UnificationBasedPtr::expand(), UnificationBasedPtr::finalize(), memoryModel::generate_array_elements_for(), memoryModel::initialize_struct(), Unify_Pendings::insert(), UnificationBasedPtr::join(), Alpha::leq(), memoryModel::lookup_string_constant(), UnificationBasedPtr::mergeOperand(), print(), Lambda::print(), Alpha::print(), UnificationBasedPtr::print_ecr(), UnificationBasedPtr::promote(), UnificationBasedPtr::settype(), Pointers::star_operator(), type(), and UnificationBasedPtr::unify().

Unify_ECR * Unify_ECR::Union Unify_ECR *    other
 

Definition at line 598 of file unification.cc.

References _children, _ndecestors, _parent, _root, and root().

Referenced by UnificationBasedPtr::join(), and type().

void Unify_ECR::var declNode   d [inline]
 

Definition at line 92 of file unification.h.

declNode* Unify_ECR::var void    const [inline]
 

Definition at line 91 of file unification.h.

Referenced by UnificationBasedPtr::at_proc(), and UnificationBasedPtr::print_ecr().


Friends And Related Function Documentation

ostream& operator<< ostream &    o,
Unify_ECR &    ecr
[friend]
 

Definition at line 106 of file unification.h.


Member Data Documentation

set<Unify_ECR*> Unify_ECR::_children [protected]
 

Definition at line 79 of file unification.h.

Referenced by all_decls(), and Union().

TREE int Unify_ECR::_id [protected]
 

Definition at line 81 of file unification.h.

int Unify_ECR::_ndecestors [protected]
 

Definition at line 78 of file unification.h.

Referenced by Union().

REF Unify_ECR* Unify_ECR::_parent [protected]
 

Definition at line 77 of file unification.h.

Referenced by print(), root(), and Union().

Unify_Pendings Unify_ECR::_pending [protected]
 

Definition at line 80 of file unification.h.

Referenced by print().

REF procNode* Unify_ECR::_proc [protected]
 

Definition at line 76 of file unification.h.

REF Unify_ECR * Unify_ECR::_root [protected]
 

Definition at line 77 of file unification.h.

Referenced by root(), type(), and Union().

TREE UnifyType* Unify_ECR::_type [protected]
 

Definition at line 82 of file unification.h.

Referenced by print(), type(), and Unify_ECR().

REF declNode* Unify_ECR::_var [protected]
 

Definition at line 75 of file unification.h.

set< Unify_ECR * > Unify_ECR::all_ECR [static, protected]
 

Definition at line 560 of file unification.cc.

Referenced by Unify_ECR().

int Unify_ECR::id_count = 0 [static, protected]
 

Definition at line 559 of file unification.cc.


The documentation for this class was generated from the following files:

Generated on August 27, 2003
Back to the C-Breeze home page