00001 #ifndef CLASS_IS_DERIVED_FROM_H_INCLUDED_ 00002 #define CLASS_IS_DERIVED_FROM_H_INCLUDED_ 00003 00004 #include "rose.h" 00005 00006 namespace risc { 00007 00008 namespace tools { 00009 00018 bool 00019 is_derived_from (SgClassDefinition* derived_class, 00020 SgClassDefinition* base_class); 00021 00028 bool 00029 is_derived_from_sc_interface(SgClassDefinition* derived_class); 00030 00037 bool 00038 is_derived_from_sc_channel(SgClassDefinition* derived_class); 00039 00046 bool 00047 is_derived_from_sc_prim_channel(SgClassDefinition* derived_class); 00048 00055 bool 00056 is_derived_from_sc_module(SgClassDefinition* derived_class); 00057 00064 bool 00065 is_derived_from_sc_port(SgClassDefinition* derived_class); 00066 00073 bool 00074 is_derived_from_sc_port_base(SgClassDefinition* derived_class); 00075 00082 bool 00083 is_derived_from_sc_port_base(SgVarRefExp* var_ref); 00084 00091 bool 00092 is_derived_from_sc_prim_channel(SgClassDefinition* derived_class); 00093 00100 bool 00101 is_derived_from_sc_channel(SgClassDefinition* derived_class); 00102 00109 bool 00110 is_sc_event(SgClassDefinition* derived_class); 00111 00118 bool 00119 is_sc_event_and_list(SgClassDefinition* derived_class); 00120 00127 bool 00128 is_sc_event_or_list(SgClassDefinition* derived_class); 00129 00136 bool 00137 is_sc_event(SgVarRefExp* var_ref); 00138 00145 bool 00146 is_sc_event_and_list(SgVarRefExp* var_ref); 00147 00154 bool 00155 is_sc_event_or_list(SgVarRefExp* var_ref); 00156 00165 bool 00166 is_sc_in_port(SgTemplateInstantiationDefn* template_class); 00167 00176 bool 00177 is_sc_out_port(SgTemplateInstantiationDefn* template_class); 00178 00187 bool 00188 is_sc_inout_port(SgTemplateInstantiationDefn* template_class); 00189 00197 bool 00198 is_sc_in_clk(SgClassDefinition* definition); 00199 00207 bool 00208 is_sc_out_clk(SgClassDefinition* definition); 00209 00217 bool 00218 is_sc_inout_clk(SgClassDefinition* definition); 00219 00227 bool 00228 is_sc_in_bool(SgClassDefinition* definition); 00229 00237 bool 00238 is_sc_fifo_in(SgVarRefExp *var_ref); 00239 00247 bool 00248 is_sc_fifo_out(SgVarRefExp *var_ref); 00249 00250 } // end namespace tools 00251 00252 } // end namespace risc 00253 00254 #endif /* CLASS_IS_DERIVED_FROM_H_INCLUDED_ */ 00255 00256 /* ex: set softtabstop=2 tabstop=2 shiftwidth=2 expandtab: */