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_ECR * ecr () const
Unify_ECR * ecr_no_root () const
void ecr (Unify_ECR *ecr)
bool is_bottom () const
int id () const
Object_Typ objTyp () const
memoryBlock * block () const
void block (memoryBlock *b)
set< procNode * > & procs ()
Unify_Simple * simple () const
Unify_Structure * structure () const
Unify_Object * object () const
Unify_Blank * blank () 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