IfThenSyntaxNode Class Reference

#include <include/hllcode.h>

Inheritance diagram for IfThenSyntaxNode:

SyntaxNode List of all members.

Detailed Description

Definition at line 245 of file hllcode.h.

Public Member Functions

virtual void addSuccessors (SyntaxNode *root, std::vector< SyntaxNode * > &successors)
virtual SyntaxNode * clone ()
virtual bool endsWithGoto ()
virtual int evaluate (SyntaxNode *root)
virtual SyntaxNode * findNodeFor (PBB bb)
Exp * getCond ()
virtual SyntaxNode * getEnclosingLoop (SyntaxNode *pFor, SyntaxNode *cur=NULL)
virtual int getNumOutEdges ()
virtual SyntaxNode * getOutEdge (SyntaxNode *root, int n)
 IfThenSyntaxNode ()
virtual bool isBranch ()
virtual bool isGoto ()
virtual void printAST (SyntaxNode *root, std::ostream &os)
virtual SyntaxNode * replace (SyntaxNode *from, SyntaxNode *to)
void setCond (Exp *e)
void setThen (SyntaxNode *n)
virtual ~IfThenSyntaxNode ()

Protected Attributes

Exp * cond
SyntaxNode * pThen


Constructor & Destructor Documentation

IfThenSyntaxNode::IfThenSyntaxNode (   ) 
 

Definition at line 405 of file syntax.cpp.

Referenced by clone().

IfThenSyntaxNode::~IfThenSyntaxNode (   )  [virtual]
 

Definition at line 410 of file syntax.cpp.

References pThen.


Member Function Documentation

void IfThenSyntaxNode::addSuccessors (  SyntaxNode *  root,
std::vector< SyntaxNode * > &  successors
)  [virtual]
 

Reimplemented from SyntaxNode.

Definition at line 429 of file syntax.cpp.

References SyntaxNode::addSuccessors(), and pThen.

SyntaxNode * IfThenSyntaxNode::clone (   )  [virtual]
 

Implements SyntaxNode.

Definition at line 435 of file syntax.cpp.

References SyntaxNode::clone(), Exp::clone(), cond, SyntaxNode::correspond, IfThenSyntaxNode(), SyntaxNode::pbb, and pThen.

virtual bool IfThenSyntaxNode::endsWithGoto (   )  [inline, virtual]
 

Implements SyntaxNode.

Definition at line 261 of file hllcode.h.

int IfThenSyntaxNode::evaluate (  SyntaxNode *  root  )  [virtual]
 

Implements SyntaxNode.

Definition at line 422 of file syntax.cpp.

References SyntaxNode::evaluate(), and pThen.

SyntaxNode * IfThenSyntaxNode::findNodeFor (  PBB  bb  )  [virtual]
 

Implements SyntaxNode.

Definition at line 456 of file syntax.cpp.

References SyntaxNode::findNodeFor(), SyntaxNode::pbb, and pThen.

Exp* IfThenSyntaxNode::getCond (   )  [inline]
 

Definition at line 272 of file hllcode.h.

References cond.

virtual SyntaxNode* IfThenSyntaxNode::getEnclosingLoop (  SyntaxNode *  pFor,
SyntaxNode *  cur = NULL
)  [inline, virtual]
 

Implements SyntaxNode.

Definition at line 266 of file hllcode.h.

References SyntaxNode::getEnclosingLoop(), and pThen.

virtual int IfThenSyntaxNode::getNumOutEdges (   )  [inline, virtual]
 

Implements SyntaxNode.

Definition at line 257 of file hllcode.h.

SyntaxNode * IfThenSyntaxNode::getOutEdge (  SyntaxNode *  root,
int  n
)  [virtual]
 

Implements SyntaxNode.

Definition at line 416 of file syntax.cpp.

References SyntaxNode::findNodeFor(), BasicBlock::getOutEdge(), SyntaxNode::pbb, and pThen.

virtual bool IfThenSyntaxNode::isBranch (   )  [inline, virtual]
 

Reimplemented from SyntaxNode.

Definition at line 255 of file hllcode.h.

virtual bool IfThenSyntaxNode::isGoto (   )  [inline, virtual]
 

Reimplemented from SyntaxNode.

Definition at line 254 of file hllcode.h.

void IfThenSyntaxNode::printAST (  SyntaxNode *  root,
std::ostream &  os
)  [virtual]
 

Implements SyntaxNode.

Definition at line 463 of file syntax.cpp.

References cond, SyntaxNode::findNodeFor(), SyntaxNode::getNumber(), BasicBlock::getOutEdge(), SyntaxNode::pbb, SyntaxNode::printAST(), and pThen.

SyntaxNode * IfThenSyntaxNode::replace (  SyntaxNode *  from,
SyntaxNode *  to
)  [virtual]
 

Implements SyntaxNode.

Definition at line 445 of file syntax.cpp.

References SyntaxNode::correspond, SyntaxNode::getCorrespond(), pThen, and to.

void IfThenSyntaxNode::setCond (  Exp *  e  )  [inline]
 

Definition at line 271 of file hllcode.h.

References cond.

void IfThenSyntaxNode::setThen (  SyntaxNode *  n  )  [inline]
 

Definition at line 273 of file hllcode.h.

References pThen.


Member Data Documentation

Exp* IfThenSyntaxNode::cond [protected]
 

Definition at line 248 of file hllcode.h.

Referenced by clone(), getCond(), printAST(), and setCond().

SyntaxNode* IfThenSyntaxNode::pThen [protected]
 

Definition at line 247 of file hllcode.h.

Referenced by addSuccessors(), clone(), evaluate(), findNodeFor(), getEnclosingLoop(), getOutEdge(), printAST(), replace(), setThen(), and ~IfThenSyntaxNode().


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