#include <EvalToConstVisitor.hpp>


Public Member Functions | |
| EvalToConstVisitor (OA_ptr< EvalToConstVisitorIRInterface > ir, OA_ptr< ReachConsts::Interface > rc) | |
| ~EvalToConstVisitor () | |
| void | visitExprTreeBefore (ExprTree &) |
| called before root noded in the expression tree is visited | |
| void | visitExprTreeAfter (ExprTree &) |
| called after root noded in the expression tree is visited | |
| void | visitNode (ExprTree::Node &) |
| void | visitOpNode (ExprTree::OpNode &n) |
| void | visitCallNode (ExprTree::CallNode &n) |
| void | visitMemRefNode (ExprTree::MemRefNode &n) |
| void | visitConstSymNode (ExprTree::ConstSymNode &n) |
| void | visitConstValNode (ExprTree::ConstValNode &n) |
| OA_ptr< ConstValBasicInterface > | getConstVal () |
| interface for results of visiting the expression tree | |
Private Attributes | |
| OA_ptr< ConstValBasicInterface > | mEvalResult |
| OA_ptr < EvalToConstVisitorIRInterface > | mIR |
| OA_ptr< ReachConsts::Interface > | mReachConsts |
Definition at line 30 of file EvalToConstVisitor.hpp.
| OA::EvalToConstVisitor::EvalToConstVisitor | ( | OA_ptr< EvalToConstVisitorIRInterface > | ir, | |
| OA_ptr< ReachConsts::Interface > | rc | |||
| ) |
Definition at line 22 of file EvalToConstVisitor.cpp.
References mEvalResult.
| OA::EvalToConstVisitor::~EvalToConstVisitor | ( | ) | [inline] |
Definition at line 34 of file EvalToConstVisitor.hpp.
| OA_ptr<ConstValBasicInterface> OA::EvalToConstVisitor::getConstVal | ( | ) | [inline] |
interface for results of visiting the expression tree
Definition at line 53 of file EvalToConstVisitor.hpp.
References mEvalResult.
Referenced by OA::ReachConsts::ManagerICFGReachConsts::callerToCallee(), OA::ReachConsts::ManagerReachConstsStandard::transfer(), OA::ReachConsts::ManagerICFGReachConsts::transfer(), and visitOpNode().
| void OA::EvalToConstVisitor::visitCallNode | ( | ExprTree::CallNode & | n | ) | [virtual] |
Reimplemented from OA::ExprTreeVisitor.
Definition at line 107 of file EvalToConstVisitor.cpp.
References mEvalResult.
| void OA::EvalToConstVisitor::visitConstSymNode | ( | ExprTree::ConstSymNode & | n | ) | [virtual] |
Reimplemented from OA::ExprTreeVisitor.
Definition at line 131 of file EvalToConstVisitor.cpp.
References OA::ExprTree::ConstSymNode::getHandle(), mEvalResult, and mIR.

| void OA::EvalToConstVisitor::visitConstValNode | ( | ExprTree::ConstValNode & | n | ) | [virtual] |
Reimplemented from OA::ExprTreeVisitor.
Definition at line 136 of file EvalToConstVisitor.cpp.
References OA::ExprTree::ConstValNode::getHandle(), mEvalResult, and mIR.

| void OA::EvalToConstVisitor::visitExprTreeAfter | ( | ExprTree & | ) | [inline, virtual] |
called after root noded in the expression tree is visited
Implements OA::ExprTreeVisitor.
Definition at line 37 of file EvalToConstVisitor.hpp.
| void OA::EvalToConstVisitor::visitExprTreeBefore | ( | ExprTree & | ) | [inline, virtual] |
called before root noded in the expression tree is visited
Implements OA::ExprTreeVisitor.
Definition at line 36 of file EvalToConstVisitor.hpp.
| void OA::EvalToConstVisitor::visitMemRefNode | ( | ExprTree::MemRefNode & | n | ) | [virtual] |
Reimplemented from OA::ExprTreeVisitor.
Definition at line 112 of file EvalToConstVisitor.cpp.
References OA::ExprTree::MemRefNode::getHandle(), mEvalResult, mReachConsts, and OA::OA_ptr< T >::ptrEqual().

| void OA::EvalToConstVisitor::visitNode | ( | ExprTree::Node & | ) | [virtual] |
if we don't know how to handle a node then the default action is to change the eval result to NULL
Implements OA::ExprTreeVisitor.
Definition at line 31 of file EvalToConstVisitor.cpp.
References mEvalResult.
| void OA::EvalToConstVisitor::visitOpNode | ( | ExprTree::OpNode & | n | ) | [virtual] |
Reimplemented from OA::ExprTreeVisitor.
Definition at line 36 of file EvalToConstVisitor.cpp.
References OA::ExprTree::ChildNodesIterator::current(), OA::debug, getConstVal(), OA::ExprTree::OpNode::getHandle(), OA::Tree::ChildNodesIterator::isValid(), mEvalResult, mIR, OA::Tree::Node::num_children(), and OA::OA_ptr< T >::ptrEqual().

Definition at line 56 of file EvalToConstVisitor.hpp.
Referenced by EvalToConstVisitor(), getConstVal(), visitCallNode(), visitConstSymNode(), visitConstValNode(), visitMemRefNode(), visitNode(), and visitOpNode().
Definition at line 57 of file EvalToConstVisitor.hpp.
Referenced by visitConstSymNode(), visitConstValNode(), and visitOpNode().
Definition at line 58 of file EvalToConstVisitor.hpp.
Referenced by visitMemRefNode().
1.6.1