00001 #ifndef DEFINITION_H_INCLUDED_ 00002 #define DEFINITION_H_INCLUDED_ 00003 00004 #include <string> 00005 00006 #include "rose.h" 00007 00008 00009 namespace risc { 00010 00011 class Class; 00012 00013 class Definition { 00014 00015 public: 00016 00020 explicit Definition(SgNode *ast_node); 00021 00025 virtual std::string get_name(); 00026 00030 virtual SgNode* get_ast_node(); 00031 00035 virtual SgType* get_ast_type(); 00036 00040 virtual std::string get_ast_type_name(); 00041 00045 bool has_source_location(); 00046 00051 std::string get_file_name(); 00052 00057 int get_line_number(); 00058 00064 int get_position_in_line(); 00065 00066 SgNode* ast_node_; 00067 SgType* ast_type_pointer_; 00068 00069 private: 00070 Definition(const Definition& rhs); 00071 }; 00072 00073 00074 } // end of namespace risc 00075 00076 00077 #endif /* DEFINITION_H_INCLUDED_ */ 00078 00079 /* ex: set softtabstop=2 tabstop=2 shiftwidth=2 expandtab: */