00001 #ifndef SUIFKERNEL__SUIF_WALKER 00002 #define SUIFKERNEL__SUIF_WALKER 00003 00004 #include "iokernel/walker.h" 00005 #include "suif_object.h" 00006 00007 #include "common/sparse_vector.h" 00008 00009 00013 class SuifWalker : public Walker { 00014 protected: 00015 00021 bool is_visitable(Address address,const MetaClass *_meta) const; 00022 ApplyStatus operator () (Address address, const MetaClass *_meta); 00023 00024 public: 00025 00026 SuifWalker(SuifEnv *the_env); 00027 virtual ~SuifWalker(); 00028 00029 virtual Walker::ApplyStatus operator () (SuifObject *x) = 0; 00030 00031 }; 00032 00033 #endif 00034