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  

UnifyType Class Reference

#include <unification.h>

List of all members.

Public Member Functions

 UnifyType ()
 UnifyType (Unify_Simple *s)
 UnifyType (Unify_Structure *s)
 UnifyType (Unify_Object *o)
 UnifyType (Unify_Blank *b)
 UnifyType (Unify_Blank *b, Unify_ECR *ecr)
Unify_ECRecr () const
Unify_ECRecr_no_root () const
void ecr (Unify_ECR *ecr)
bool is_bottom () const
int id () const
Object_Typ objTyp () const
memoryBlockblock () const
void block (memoryBlock *b)
set< procNode * > & procs ()
Unify_Simplesimple () const
Unify_Structurestructure () const
Unify_Objectobject () const
Unify_Blankblank () const
bool leq (UnifyType *o, Unify_Size s) const
Unify_Size size () const
void print () const

Static Public Member Functions

UnifyType * toTao (UnifyType *t)
UnifyType * bottom ()

Private Attributes

Unify_ECR_ecr
int _id
union {
   Unify_Simple *   simple
   Unify_Structure *   structure
   Unify_Object *   object
   Unify_Blank *   blank
_tao
Object_Typ obj_typ
memoryBlock_block
set< procNode * > _procs
bool _is_bottom

Static Private Attributes

int id_count = 0

Friends

ostream & operator<< (ostream &o, const UnifyType &t)


Constructor & Destructor Documentation

UnifyType::UnifyType   [inline]
 

Definition at line 286 of file unification.h.

References BOTTOM.

Referenced by bottom().

UnifyType::UnifyType Unify_Simple   s [inline]
 

Definition at line 288 of file unification.h.

References _tao, and SIMPLE.

UnifyType::UnifyType Unify_Structure   s [inline]
 

Definition at line 290 of file unification.h.

References _tao, and STRUCTURE.

UnifyType::UnifyType Unify_Object   o [inline]
 

Definition at line 292 of file unification.h.

References _tao, and OBJECT.

UnifyType::UnifyType Unify_Blank   b [inline]
 

Definition at line 294 of file unification.h.

References _tao, and BLANK.

UnifyType::UnifyType Unify_Blank   b,
Unify_ECR   ecr
[inline]
 

Definition at line 296 of file unification.h.

References _tao, BLANK, and ecr().


Member Function Documentation

Unify_Blank* UnifyType::blank   const [inline]
 

Definition at line 315 of file unification.h.

References _tao.

Referenced by size().

void UnifyType::block memoryBlock   b [inline]
 

Definition at line 306 of file unification.h.

memoryBlock* UnifyType::block   const [inline]
 

Definition at line 305 of file unification.h.

Referenced by Pointers::assignment_operator(), memoryModel::create_memory_object(), UnificationBasedPtr::createProcBlock(), Pointers::determine_call_targets(), Pointers::dot_operator(), UnificationBasedPtr::ecrDeref(), UnificationBasedPtr::ensure_struct_obj(), memoryModel::generate_array_elements_for(), memoryModel::initialize_struct(), memoryModel::lookup_string_constant(), print(), UnificationBasedPtr::settype(), Pointers::star_operator(), UnificationBasedPtr::unify(), memoryBlock::~memoryBlock(), and memoryModel::~memoryModel().

UnifyType* UnifyType::bottom   [inline, static]
 

Definition at line 327 of file unification.h.

References UnifyType().

void UnifyType::ecr Unify_ECR   ecr [inline]
 

Definition at line 301 of file unification.h.

Unify_ECR* UnifyType::ecr   const [inline]
 

Definition at line 299 of file unification.h.

References Unify_ECR::root().

Referenced by UnificationBasedPtr::at_proc(), UnificationBasedPtr::ecrDeref(), UnificationBasedPtr::ecrField(), UnificationBasedPtr::ensure_no_bottom(), UnificationBasedPtr::finalize(), UnificationBasedPtr::merge_EltMap(), UnificationBasedPtr::unify(), Unify_ECR::Unify_ECR(), and UnifyType().

Unify_ECR* UnifyType::ecr_no_root   const [inline]
 

Definition at line 300 of file unification.h.

Referenced by UnificationBasedPtr::createProcBlock().

int UnifyType::id   const [inline]
 

Definition at line 303 of file unification.h.

Referenced by print(), Lambda::print(), Alpha::print(), and UnificationBasedPtr::print_ecr().

bool UnifyType::is_bottom   const [inline]
 

Definition at line 302 of file unification.h.

Referenced by UnificationBasedPtr::at_allocation(), UnificationBasedPtr::at_call(), UnificationBasedPtr::at_initializer(), UnificationBasedPtr::cjoin(), memoryModel::create_memory_object(), UnificationBasedPtr::ecr(), UnificationBasedPtr::ecrDeref(), UnificationBasedPtr::ecrField(), UnificationBasedPtr::ensure_no_bottom(), UnificationBasedPtr::ensure_sim_obj(), UnificationBasedPtr::ensure_struct_obj(), UnificationBasedPtr::join(), Alpha::leq(), print(), UnificationBasedPtr::reachable(), and UnificationBasedPtr::unify().

bool UnifyType::leq UnifyType *    o,
Unify_Size    s
const [inline]
 

Definition at line 318 of file unification.h.

References Unify_Size::leq(), and size().

Referenced by Alpha::leq().

Unify_Object* UnifyType::object   const [inline]
 

Definition at line 313 of file unification.h.

References _tao.

Referenced by size().

Object_Typ UnifyType::objTyp   const [inline]
 

Definition at line 304 of file unification.h.

References Object_Typ.

Referenced by Pointers::assignment_operator(), UnificationBasedPtr::at_call(), UnificationBasedPtr::at_initializer(), UnificationBasedPtr::at_proc(), UnificationBasedPtr::cjoin(), Unify_Pendings::cleanup(), UnificationBasedPtr::collapse(), memoryBlock::containers(), Pointers::dot_operator(), UnificationBasedPtr::ecr(), UnificationBasedPtr::ecrDeref(), UnificationBasedPtr::ecrField(), UnificationBasedPtr::ensure_sim_obj(), UnificationBasedPtr::ensure_struct_obj(), memoryModel::generate_array_elements_for(), memoryModel::initialize_struct(), Unify_Pendings::insert(), UnificationBasedPtr::merge_EltMap(), UnificationBasedPtr::print_ecr(), UnificationBasedPtr::promote(), UnificationBasedPtr::reachable(), Pointers::star_operator(), and UnificationBasedPtr::unify().

void UnifyType::print   const
 

Definition at line 693 of file unification.cc.

References _procs, _tao, Unify_Object::alpha, Unify_Simple::alpha, BLANK, block(), declSet, id(), is_bottom(), Unify_Object::lambda, Unify_Simple::lambda, Unify_Structure::m, OBJECT, Unify_Blank::p, Unify_Structure::p, Unify_Object::p, Unify_Simple::p, Unify_Blank::s, Unify_Structure::s, Unify_Object::s, Unify_Simple::s, SIMPLE, Unify_Parents::str(), Unify_Size::str(), and STRUCTURE.

set<procNode*>& UnifyType::procs   [inline]
 

Definition at line 307 of file unification.h.

Referenced by UnificationBasedPtr::at_proc(), Pointers::determine_call_targets(), and UnificationBasedPtr::join().

Unify_Simple* UnifyType::simple   const [inline]
 

Definition at line 309 of file unification.h.

References _tao.

Referenced by size().

Unify_Size UnifyType::size   const
 

Definition at line 682 of file unification.cc.

References blank(), BLANK, BOTTOM, object(), OBJECT, Unify_Blank::s, Unify_Object::s, Unify_Structure::s, Unify_Simple::s, simple(), SIMPLE, structure(), and STRUCTURE.

Referenced by UnificationBasedPtr::cjoin(), and leq().

Unify_Structure* UnifyType::structure   const [inline]
 

Definition at line 311 of file unification.h.

References _tao.

Referenced by size().

UnifyType* UnifyType::toTao UnifyType *    t [static]
 


Friends And Related Function Documentation

ostream& operator<< ostream &    o,
const UnifyType &    t
[friend]
 

Definition at line 322 of file unification.h.


Member Data Documentation

memoryBlock* UnifyType::_block [private]
 

Definition at line 280 of file unification.h.

Unify_ECR* UnifyType::_ecr [private]
 

Definition at line 270 of file unification.h.

int UnifyType::_id [private]
 

Definition at line 271 of file unification.h.

bool UnifyType::_is_bottom [private]
 

Definition at line 283 of file unification.h.

set<procNode*> UnifyType::_procs [private]
 

Definition at line 281 of file unification.h.

Referenced by print().

union { ... } UnifyType::_tao [private]
 

Referenced by blank(), object(), print(), simple(), structure(), and UnifyType().

Unify_Blank* UnifyType::blank [private]
 

Definition at line 277 of file unification.h.

Referenced by UnificationBasedPtr::at_proc(), UnificationBasedPtr::cjoin(), memoryBlock::containers(), UnificationBasedPtr::ecrDeref(), UnificationBasedPtr::ensure_sim_obj(), UnificationBasedPtr::ensure_struct_obj(), and UnificationBasedPtr::unify().

int UnifyType::id_count = 0 [static, private]
 

Definition at line 680 of file unification.cc.

Object_Typ UnifyType::obj_typ [private]
 

Definition at line 279 of file unification.h.

Unify_Object* UnifyType::object [private]
 

Definition at line 276 of file unification.h.

Referenced by UnificationBasedPtr::cjoin(), Unify_Pendings::cleanup(), UnificationBasedPtr::collapse(), memoryBlock::containers(), UnificationBasedPtr::ecr(), UnificationBasedPtr::ecrDeref(), UnificationBasedPtr::ecrField(), Unify_Pendings::insert(), UnificationBasedPtr::print_ecr(), UnificationBasedPtr::promote(), and UnificationBasedPtr::unify().

Unify_Simple* UnifyType::simple [private]
 

Definition at line 274 of file unification.h.

Referenced by UnificationBasedPtr::cjoin(), memoryBlock::containers(), UnificationBasedPtr::ecrDeref(), UnificationBasedPtr::ecrField(), UnificationBasedPtr::ensure_sim_obj(), UnificationBasedPtr::print_ecr(), and UnificationBasedPtr::unify().

Unify_Structure* UnifyType::structure [private]
 

Definition at line 275 of file unification.h.

Referenced by UnificationBasedPtr::at_initializer(), UnificationBasedPtr::cjoin(), memoryBlock::containers(), UnificationBasedPtr::ecr(), UnificationBasedPtr::ecrField(), UnificationBasedPtr::ensure_sim_obj(), UnificationBasedPtr::ensure_struct_obj(), UnificationBasedPtr::merge_EltMap(), UnificationBasedPtr::reachable(), and UnificationBasedPtr::unify().


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

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