00001 #ifndef _UTILS__CLONING_UTILS_H 00002 #define _UTILS__CLONING_UTILS_H 00003 00004 #include "iokernel/cast.h" 00005 #include "suifkernel/suif_env.h" 00006 #include "basicnodes/basic_forwarders.h" 00007 #include "basicnodes/basic.h" 00008 #include "suifnodes/suif_forwarders.h" 00009 00025 template<class T> 00026 T *deep_suif_clone(T *obj, SuifEnv *s = 0) { 00027 if (obj == 0) return(0); 00028 return(to<T>(obj->deep_clone(s))); 00029 } 00030 00037 Statement *clone_statement(SuifEnv *env,SymbolTable *table,const Statement *stat); 00038 00039 #endif