#include <suifkernel/suif_walker.h>
Inheritance diagram for SuifWalker:
Public Methods | |
SuifWalker (SuifEnv *the_env) | |
virtual | ~SuifWalker () |
virtual Walker::ApplyStatus | operator() (SuifObject *x) = 0 |
Protected Methods | |
bool | is_visitable (Address address,const MetaClass *_meta) const |
Do not normally override this. More... | |
ApplyStatus | operator() (Address address, const MetaClass *_meta) |
Called by the walker to perform action on the data in address. More... |
|
|
|
Do not normally override this.
Some of the predefined walkers override this for efficiency If you do override this, make sure it selects only SuifObjects. Just remember to include SuifWalker::is_visitable().
Reimplemented from Walker.
|
Reimplemented in CollectWalker, CollectWalkerT, Collector, CollisionAvoider, CountCallsWalker, CppCollisionAvoider, FindCalleesWalker, GroupWalker, NonConstBoundArrayTypeWalker, NonConstDimExpressionWalker, Padding, RecordStatementListsWalker, ReplacingWalker, SelectiveWalker, SuifCounter, SymbolNamer, TestWalker, Unowned, binary_expression_walker, c_for_statement_walker, call_expression_walker, do_while_statement_walker, field_access_expression_walker, for_statement_walker, formater, if_statement_walker, if_walker, multi_way_branch_statement_compactor, multi_way_branch_statement_walker, scope_statement_walker, stopping_suif_visitor, type_checker_walker, and while_statement_walker.
|
Called by the walker to perform action on the data in address.
Subclass must overwrite this method.
address | address of the data to be applied on. |
_meta | meta class of the data in address. |
Reimplemented from Walker.