Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

SuifWalker Class Reference

A SuifWalker will only visit Suif Objects in the ownership tree. More...

#include <suifkernel/suif_walker.h>

Inheritance diagram for SuifWalker:

Walker AllWalker GroupWalker SelectiveWalker stopping_suif_visitor Collector SuifCounter constant_folder_walker RemoveIfAndLoopWalker ReplacingWalker binary_expression_walker CollectWalker CollisionAvoider CountCallsWalker CountIndirectCalls_Walker FindCalleesWalker formater NonConstBoundArrayTypeWalker NonConstDimExpressionWalker Padding ProcedureWalker SymbolNamer TestWalker type_checker_walker Unowned collect_annotations_visitor find_file_suif_visitor find_instruction_visitor find_line_annote_suif_visitor find_tag_visitor line_suif_visitor List of all members.

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...


Detailed Description

A SuifWalker will only visit Suif Objects in the ownership tree.


Constructor & Destructor Documentation

SuifWalker::SuifWalker ( SuifEnv * the_env)

SuifWalker::~SuifWalker () [virtual]


Member Function Documentation

bool SuifWalker::is_visitable ( Address address,
const MetaClass * _meta) const [protected, virtual]

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.

virtual Walker::ApplyStatus SuifWalker::operator() ( SuifObject * x) [pure virtual]

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.

Walker::ApplyStatus SuifWalker::operator() ( Address address,
const MetaClass * _meta) [protected, virtual]

Called by the walker to perform action on the data in address.

Subclass must overwrite this method.

Parameters:
address   address of the data to be applied on.
_meta   meta class of the data in address.

Reimplemented from Walker.


The documentation for this class was generated from the following files:
Generated at Mon Jul 31 13:44:42 2000 for NCI SUIF by doxygen 1.1.2 written by Dimitri van Heesch, © 1997-2000