ROSE  0.9.9.109
rwAccessLabeler.h
1 #ifndef RW_ACCESS_LABELER_H
2 #define RW_ACCESS_LABELER_H
3 
4 #include <string>
5 
6 class SgNode;
7 
8 namespace rwAccessLabeler {
9 
10 typedef enum {readAccess=0, writeAccess=1, rwAccess=2} accessType;
11 
12 // labels the portion of the AST rooted at root with annotations that identify the various portions
13 // the read/write sides of SgAssignOp nodes (if they are)
14 void addRWAnnotations(SgNode* root);
15 
16 // returns the type of access being performed at the given node
17 accessType getAccessType(SgNode* n);
18 
19 // copies the access type annotation from src to tgt
20 void cloneAccessType(SgNode* tgt, SgNode* src);
21 
22 // returns a string representation of the given accessType
23 std::string accessTypeToStr(accessType t);
24 
25 }
26 
27 #endif
This class represents the base class for all IR nodes within Sage III.
Definition: Cxx_Grammar.h:8322