UnionType Class Reference

#include <include/type.h>

Inheritance diagram for UnionType:

Type List of all members.

Detailed Description

Definition at line 549 of file type.h.

Public Member Functions

void addType (Type *n, const char *str)
virtual Typeclone () const
TypedereferenceUnion ()
bool findType (Type *ty)
virtual const char * getCtype (bool final=false) const
int getNumTypes () const
virtual unsigned getSize () const
virtual bool isCompatible (Type *other, bool all)
virtual bool isCompatibleWith (Type *other, bool all)
virtual bool isUnion () const
virtual Expmatch (Type *pattern)
virtual TypemeetWith (Type *other, bool &ch, bool bHighestPtr)
virtual bool operator< (const Type &other) const
virtual bool operator== (const Type &other) const
 UnionType ()
virtual ~UnionType ()

Private Attributes

std::list< UnionElementli

Friends

class XMLProgParser


Constructor & Destructor Documentation

UnionType::UnionType  ) 
 

Definition at line 135 of file type.cpp.

Referenced by clone().

UnionType::~UnionType  )  [virtual]
 

Definition at line 160 of file type.cpp.


Member Function Documentation

void UnionType::addType Type n,
const char *  str
 

Definition at line 1499 of file type.cpp.

References Type::isUnion(), and li.

Referenced by clone(), dereferenceUnion(), and DfaTest::testMeetUnion().

Type * UnionType::clone  )  const [virtual]
 

Implements Type.

Definition at line 230 of file type.cpp.

References addType(), li, and UnionType().

Type * UnionType::dereferenceUnion  ) 
 

Definition at line 1491 of file dfa.cpp.

References addType(), Type::dereference(), li, and nextUnionNumber.

Referenced by Type::dereference().

bool UnionType::findType Type ty  ) 
 

Definition at line 1195 of file type.cpp.

References li.

const char * UnionType::getCtype bool  final = false  )  const [virtual]
 

Implements Type.

Definition at line 845 of file type.cpp.

References li, and tmp.

Referenced by DfaTest::testMeetUnion().

int UnionType::getNumTypes  )  const [inline]
 

Definition at line 561 of file type.h.

References li.

Referenced by operator<().

unsigned UnionType::getSize  )  const [virtual]
 

Implements Type.

Definition at line 291 of file type.cpp.

References li, and max().

bool UnionType::isCompatible Type other,
bool  all
[virtual]
 

Implements Type.

Definition at line 1420 of file dfa.cpp.

References isCompatible(), li, Type::resolvesToUnion(), and Type::resolvesToVoid().

Referenced by isCompatible(), and isCompatibleWith().

virtual bool UnionType::isCompatibleWith Type other,
bool  all
[inline, virtual]
 

Reimplemented from Type.

Definition at line 579 of file type.h.

References isCompatible().

virtual bool UnionType::isUnion  )  const [inline, virtual]
 

Reimplemented from Type.

Definition at line 558 of file type.h.

Exp * UnionType::match Type pattern  )  [virtual]
 

Reimplemented from Type.

Definition at line 716 of file type.cpp.

References Type::match().

Type * UnionType::meetWith Type other,
bool &  ch,
bool  bHighestPtr
[virtual]
 

Implements Type.

Definition at line 576 of file dfa.cpp.

References li, Type::resolvesToUnion(), and Type::resolvesToVoid().

Referenced by DfaTest::testMeetUnion().

bool UnionType::operator< const Type other  )  const [virtual]
 

Implements Type.

Definition at line 616 of file type.cpp.

References Type::getId(), and getNumTypes().

bool UnionType::operator== const Type other  )  const [virtual]
 

Implements Type.

Definition at line 492 of file type.cpp.

References Type::isUnion(), and li.


Friends And Related Function Documentation

friend class XMLProgParser [friend]
 

Reimplemented from Type.

Definition at line 585 of file type.h.


Member Data Documentation

std::list<UnionElement> UnionType::li [private]
 

Definition at line 553 of file type.h.

Referenced by addType(), clone(), dereferenceUnion(), findType(), getCtype(), getNumTypes(), getSize(), isCompatible(), meetWith(), and operator==().


The documentation for this class was generated from the following files:
Generated on Tue Sep 19 21:18:47 2006 for Boomerang by  doxygen 1.4.6