PointerType Class Reference

#include <include/type.h>

Inheritance diagram for PointerType:

Type List of all members.

Detailed Description

Definition at line 386 of file type.h.

Public Member Functions

virtual Typeclone () const
virtual const char * getCtype (bool final=false) const
TypegetFinalPointsTo ()
TypegetPointsTo ()
virtual unsigned getSize () const
virtual bool isCompatible (Type *other, bool all)
virtual bool isPointer () 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
int pointerDepth ()
 PointerType (Type *p)
bool pointsToAlpha ()
void setPointsTo (Type *p)
virtual void setSize (int sz)
virtual ~PointerType ()

Static Public Member Functions

static PointerTypenewPtrAlpha ()

Private Attributes

Typepoints_to

Friends

class XMLProgParser


Constructor & Destructor Documentation

PointerType::PointerType Type p  ) 
 

Definition at line 43 of file typeStubs.cpp.

Referenced by newPtrAlpha().

PointerType::~PointerType  )  [virtual]
 

Definition at line 44 of file typeStubs.cpp.


Member Function Documentation

Type * PointerType::clone  )  const [virtual]
 

Implements Type.

Definition at line 55 of file typeStubs.cpp.

References NULL.

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

Implements Type.

Definition at line 809 of file type.cpp.

References Type::getCtype(), Type::isPointer(), and points_to.

Referenced by DfaTest::testMeetPointer().

Type * PointerType::getFinalPointsTo  ) 
 

Definition at line 1021 of file type.cpp.

References Type::asPointer(), getPointsTo(), Type::isPointer(), and points_to.

Type* PointerType::getPointsTo  )  [inline]
 

Definition at line 395 of file type.h.

References points_to.

Referenced by CHLLCode::appendType(), CHLLCode::appendTypeIdent(), Unary::ascendType(), Type::dereference(), Binary::descendType(), Assignment::dfaTypeAnalysis(), PentiumFrontEnd::extraProcessCall(), getFinalPointsTo(), Type::isCString(), UserProc::mapExpressionsToLocals(), match(), pointerDepth(), Prog::readNativeAs(), and TypeTest::testCompound().

unsigned PointerType::getSize  )  const [virtual]
 

Implements Type.

Definition at line 58 of file typeStubs.cpp.

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

Implements Type.

Definition at line 1394 of file dfa.cpp.

References Type::asPointer(), Type::isCompatibleWith(), points_to, Type::resolvesToPointer(), Type::resolvesToSize(), Type::resolvesToUnion(), Type::resolvesToVoid(), and STD_SIZE.

virtual bool PointerType::isPointer  )  const [inline, virtual]
 

Reimplemented from Type.

Definition at line 393 of file type.h.

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

Reimplemented from Type.

Definition at line 690 of file type.cpp.

References Type::asPointer(), Type::getCtype(), getPointsTo(), Type::isPointer(), LOG, Type::match(), and points_to.

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

Implements Type.

Definition at line 460 of file dfa.cpp.

References Type::asPointer(), pointsToAlpha(), Type::resolvesToSize(), Type::resolvesToVoid(), setPointsTo(), and STD_SIZE.

Referenced by DfaTest::testMeetPointer().

PointerType * PointerType::newPtrAlpha  )  [static]
 

Definition at line 999 of file type.cpp.

References NamedType::getAlpha(), and PointerType().

Referenced by Binary::genConstraints(), and ExpTest::testSimpConstr().

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

Implements Type.

Definition at line 57 of file typeStubs.cpp.

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

Implements Type.

Definition at line 56 of file typeStubs.cpp.

int PointerType::pointerDepth  ) 
 

Definition at line 1011 of file type.cpp.

References Type::asPointer(), getPointsTo(), Type::isPointer(), and points_to.

bool PointerType::pointsToAlpha  ) 
 

Definition at line 1004 of file type.cpp.

References Type::isNamed(), Type::isVoid(), and points_to.

Referenced by meetWith().

void PointerType::setPointsTo Type p  ) 
 

Definition at line 84 of file type.cpp.

References LOG, points_to, and VERBOSE.

Referenced by meetWith().

virtual void PointerType::setSize int  sz  )  [inline, virtual]
 

Reimplemented from Type.

Definition at line 409 of file type.h.

References STD_SIZE.


Friends And Related Function Documentation

friend class XMLProgParser [friend]
 

Reimplemented from Type.

Definition at line 417 of file type.h.


Member Data Documentation

Type* PointerType::points_to [private]
 

Definition at line 388 of file type.h.

Referenced by getCtype(), getFinalPointsTo(), getPointsTo(), isCompatible(), match(), XMLProgParser::persistToXML(), pointerDepth(), pointsToAlpha(), and setPointsTo().


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