All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
object.h
Go to the documentation of this file.
1 #ifndef OBJECT_H_INCLUDED_
2 #define OBJECT_H_INCLUDED_
3 
4 #include "rose.h"
5 
6 #include "definition.h"
7 
8 namespace risc {
9 
10 class Object: public Definition {
11 
12 public:
13 
17  explicit Object(SgVariableDefinition *ast_node, Type type);
18 
23  SgVariableDefinition *get_ast_node();
24 
28  bool is_array();
29 
33  bool is_reference();
34 
38  bool is_pointer();
39 
44  virtual std::string get_name();
45 
50  SgVariableSymbol* get_symbol();
51 
52 
54 
55 private:
56 
60  Object(const Object &o);
61 };
62 
63 } // end of namespace risc
64 
65 
66 #endif /* OBJECT_H_INCLUDED_ */
67 
68 /* ex: set softtabstop=2 tabstop=2 shiftwidth=2 expandtab: */
Object(SgVariableDefinition *ast_node, Type type)
default constructor
Definition: object.cpp:3
Definition: definition.h:12
bool is_reference()
checks if this object is a reference
Definition: object.cpp:48
Definition: object.h:10
virtual std::string get_name()
Get function for the name of the module instance variable.
Definition: object.cpp:20
bool is_pointer()
checks if this object is a pointer
Definition: object.cpp:54
SgVariableSymbol * get_symbol()
return the symbol of the object
Definition: object.cpp:60
unsigned int number_of_array_elements_
Definition: object.h:53
Type
We are using these enums to identify type type of and instance or definition during traversal...
Definition: definition.h:20
bool is_array()
checks if this object is an array
Definition: object.cpp:42
SgVariableDefinition * get_ast_node()
Returns the ast definition of the object.
Definition: object.cpp:14