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