ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
rwAccessLabeler.h
Go to the documentation of this file.
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
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