ROSE
0.11.98.0
|
Base class for visiting nodes during expression traversal.
The preVisit
method is called before children are visited, and the postVisit
method is called after children are visited. If preVisit
returns TRUNCATE, then the children are not visited, but the postVisit
method is still called. If either method returns TERMINATE then the traversal is immediately terminated.
Subclasses can override either the versions that take raw pointers or the versions that take shared pointers, but need not override both. The default implementations of the raw pointer versions simply obtain a shared pointer and delegate to the shared pointer version. The default implementations of the shared pointer versions return VisitAction::CONTINUE
. For optimal performance, subclasses should use the raw pointer version. If the user intends that the visitor's preVisit
or postVisit
should do nothing, then the raw version should be overridden to return directly.
Definition at line 207 of file SymbolicExpr.h.
#include <Rose/BinaryAnalysis/SymbolicExpr.h>
Public Member Functions | |
virtual VisitAction | preVisit (const Ptr &) |
virtual VisitAction | postVisit (const Ptr &) |
virtual VisitAction | preVisit (const Node *) |
virtual VisitAction | postVisit (const Node *) |