00001 #ifndef OBJECT_H_INCLUDED_ 00002 #define OBJECT_H_INCLUDED_ 00003 00004 #include "rose.h" 00005 00006 #include "definition.h" 00007 00008 namespace risc { 00009 00010 class Object: public Definition { 00011 00012 public: 00013 00017 explicit Object(SgVariableDefinition *ast_node, Type type); 00018 00023 SgVariableDefinition *get_ast_node(); 00024 00028 bool is_array(); 00029 00033 bool is_reference(); 00034 00038 bool is_pointer(); 00039 00044 virtual std::string get_name(); 00045 00050 SgVariableSymbol* get_symbol(); 00051 00052 00053 unsigned int number_of_array_elements_; 00054 00055 private: 00056 00060 Object(const Object &o); 00061 }; 00062 00063 } // end of namespace risc 00064 00065 00066 #endif /* OBJECT_H_INCLUDED_ */ 00067 00068 /* ex: set softtabstop=2 tabstop=2 shiftwidth=2 expandtab: */