ROSE 0.11.145.147
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
9class SgNode;
10
11namespace rwAccessLabeler {
12
13typedef 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)
17void addRWAnnotations(SgNode* root);
18
19// returns the type of access being performed at the given node
20accessType getAccessType(SgNode* n);
21
22// copies the access type annotation from src to tgt
23void cloneAccessType(SgNode* tgt, SgNode* src);
24
25// returns a string representation of the given accessType
26std::string accessTypeToStr(accessType t);
27}
28
29#endif
30#endif
This class represents the base class for all IR nodes within Sage III.