RefExp Class Reference

#include <include/exp.h>

Inheritance diagram for RefExp:

Unary Exp List of all members.

Detailed Description

Definition at line 771 of file exp.h.

Public Member Functions

virtual Expaccept (ExpModifier *v)
virtual bool accept (ExpVisitor *v)
ExpaddSubscript (Statement *def)
virtual TypeascendType ()
virtual Expclone ()
virtual void descendType (Type *parentType, bool &ch, Statement *s)
virtual ExpgenConstraints (Exp *restrictTo)
StatementgetDef ()
bool isImplicitDef ()
virtual bool match (const char *pattern, std::map< std::string, Exp * > &bindings)
virtual Expmatch (Exp *pattern)
virtual bool operator *= (Exp &o)
virtual bool operator< (const Exp &o) const
virtual bool operator== (const Exp &o) const
virtual ExppolySimplify (bool &bMod)
virtual void print (std::ostream &os, bool html=false)
virtual void printx (int ind)
bool references (Statement *s)
 RefExp (Exp *e, Statement *def)
void setDef (Statement *def)

Protected Member Functions

 RefExp ()

Private Attributes

Statementdef

Friends

class XMLProgParser


Constructor & Destructor Documentation

RefExp::RefExp Exp e,
Statement def
 

Definition at line 134 of file exp.cpp.

RefExp::RefExp  )  [inline, protected]
 

Definition at line 808 of file exp.h.

Referenced by clone().


Member Function Documentation

Exp * RefExp::accept ExpModifier v  )  [virtual]
 

Reimplemented from Unary.

Definition at line 3721 of file exp.cpp.

References Exp::accept(), ExpModifier::postVisit(), ExpModifier::preVisit(), and Unary::subExp1.

bool RefExp::accept ExpVisitor v  )  [virtual]
 

Reimplemented from Unary.

Definition at line 3635 of file exp.cpp.

References Exp::accept(), Unary::subExp1, and ExpVisitor::visit().

Referenced by PhiAssign::accept(), StmtRegMapper::common(), Exp::fromSSAleft(), and CallBypasser::postVisit().

Exp* RefExp::addSubscript Statement def  )  [inline]
 

Definition at line 788 of file exp.h.

References def.

Type * RefExp::ascendType  )  [virtual]
 

Reimplemented from Unary.

Definition at line 987 of file dfa.cpp.

References def, Statement::getTypeFor(), NULL, and Unary::subExp1.

Exp * RefExp::clone  )  [virtual]
 

Reimplemented from Unary.

Definition at line 318 of file exp.cpp.

References Exp::clone(), def, RefExp(), and Unary::subExp1.

void RefExp::descendType Type parentType,
bool &  ch,
Statement s
[virtual]
 

Reimplemented from Unary.

Definition at line 1170 of file dfa.cpp.

References def, Exp::descendType(), Statement::meetWithFor(), and Unary::subExp1.

Exp * RefExp::genConstraints Exp restrictTo  )  [virtual]
 

Reimplemented from Unary.

Definition at line 3342 of file exp.cpp.

References Exp::getOper(), opGlobal, opLocal, opParam, opRegOf, opTrue, result, Unary::subExp1, and Unary::Unary().

Statement* RefExp::getDef  )  [inline]
 

Definition at line 787 of file exp.h.

References def.

Referenced by UserProc::checkLocalFor(), UserProc::countRefs(), UserProc::findLocalFromRef(), UserProc::lookupSymFromRef(), UserProc::lookupSymFromRefAny(), ExpCastInserter::postVisit(), ImplicitConverter::postVisit(), CallBypasser::postVisit(), ConstGlobalConverter::preVisit(), UserProc::printUseGraph(), UserProc::reverseStrengthReduction(), and PrimitiveTester::visit().

bool RefExp::isImplicitDef  ) 
 

Definition at line 3873 of file exp.cpp.

References def, Statement::getKind(), NULL, and STMT_IMPASSIGN.

Referenced by operator==().

bool RefExp::match const char *  pattern,
std::map< std::string, Exp * > &  bindings
[virtual]
 

Reimplemented from Unary.

Definition at line 1463 of file exp.cpp.

References def, end(), Statement::getNumber(), LOG, Exp::match(), NULL, and Unary::subExp1.

Exp * RefExp::match Exp pattern  )  [virtual]
 

Reimplemented from Unary.

Definition at line 1317 of file exp.cpp.

References Unary::match().

bool RefExp::operator *= Exp o  )  [virtual]
 

Reimplemented from Unary.

Definition at line 560 of file exp.cpp.

References Exp::getOper(), Exp::getSubExp1(), opSubscript, and Unary::subExp1.

bool RefExp::operator< const Exp o  )  const [virtual]
 

Reimplemented from Unary.

Definition at line 488 of file exp.cpp.

References def, Exp::getOper(), Unary::getSubExp1(), opSubscript, and Unary::subExp1.

bool RefExp::operator== const Exp o  )  const [virtual]
 

Reimplemented from Unary.

Definition at line 398 of file exp.cpp.

References def, Statement::isImplicit(), isImplicitDef(), NULL, Exp::op, opSubscript, opWild, and Unary::subExp1.

Exp * RefExp::polySimplify bool &  bMod  )  [virtual]
 

Reimplemented from Unary.

Definition at line 2902 of file exp.cpp.

References def, Exp::getOper(), NULL, opDF, Exp::polySimplify(), Unary::subExp1, and tmp.

void RefExp::print std::ostream &  os,
bool  html = false
[virtual]
 

Reimplemented from Unary.

Definition at line 1005 of file exp.cpp.

References def, Statement::getNumber(), Exp::print(), Statement::printNum(), and Unary::subExp1.

void RefExp::printx int  ind  )  [virtual]
 

Reimplemented from Unary.

Definition at line 3822 of file exp.cpp.

References child(), def, Statement::getNumber(), operStrings, and Unary::subExp1.

bool RefExp::references Statement s  )  [inline]
 

Definition at line 791 of file exp.h.

References def.

void RefExp::setDef Statement def  )  [inline]
 

Definition at line 789 of file exp.h.

References def.

Referenced by ImplicitConverter::postVisit().


Friends And Related Function Documentation

friend class XMLProgParser [friend]
 

Reimplemented from Unary.

Definition at line 809 of file exp.h.


Member Data Documentation

Statement* RefExp::def [private]
 

Definition at line 772 of file exp.h.

Referenced by addSubscript(), ascendType(), clone(), descendType(), getDef(), isImplicitDef(), match(), operator<(), operator==(), XMLProgParser::persistToXML(), polySimplify(), print(), printx(), references(), and setDef().


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