00001 #ifndef INSTANCE_H_INCLUDED_ 00002 #define INSTANCE_H_INCLUDED_ 00003 00004 #include <string> 00005 00006 #include "rose.h" 00007 #include "object.h" 00008 00009 namespace risc { 00010 00011 class Module; 00012 00017 class Instance: public Object{ 00018 00019 public: 00020 00024 explicit Instance(SgVariableDefinition *ast_node, Type type); 00025 00030 virtual std::string get_ast_type_name(); 00031 00032 virtual Class* get_definition() = 0; 00033 00034 private: 00038 Instance(const Instance &i); 00039 }; 00040 00041 00042 typedef std::vector<Instance*> InstanceVector; 00043 typedef std::vector<Instance*>::iterator InstanceVectorIter; 00044 typedef std::vector<Instance*>::const_iterator InstanceVectorConstIter; 00045 00046 }; // end namespace risc 00047 00048 #endif /* INSTANCE_H_INCLUDED_ */ 00049 00050 /* ex: set softtabstop=2 tabstop=2 shiftwidth=2 expandtab: */