4#ifndef ASTRESTRUCTURE_H
5#define ASTRESTRUCTURE_H
7#include "roseInternal.h"
39 std::string unparseReplacement;
40 std::vector< std::pair<std::string,RelativePositionType> > stringList;
42 AstUnparseAttribute(std::string s, RelativePositionType inputlocation )
43 : location(inputlocation), unparseReplacement(s)
46 stringList.push_back(std::pair<std::string,RelativePositionType>(s,inputlocation));
48 virtual std::string
toString() {
return unparseReplacement; }
84 void immediateReplace(
SgStatement* astNode,std::string s);
90 static void unparserReplace(
SgExpression* astNode, std::string s);
93 void delayedReplace(
SgNode* astNode,std::string s);
94 void lock(
SgNode* astNode);
95 void unlock(
SgNode* astNode);
102 std::string sourceFragment;
103 std::string includeHeaders;
105 typedef std::set<SgNode*> Lock;
107 typedef std::map<SgNode*,std::string> Schedule;
108 typedef Schedule::value_type SchedulePair;
109 Schedule scheduledReplacements;
Base class for all IR node attribute values.
virtual std::string toString()
Convert an attribute to a string.
This class represents the notion of an expression. Expressions are derived from SgLocatedNodes,...
This class represents the base class for all IR nodes within Sage III.
This class represents a source project, with a list of SgFile objects and global information about th...
This class represents the notion of a statement.
const char * RelativePositionType(int64_t)
Convert AstUnparseAttribute::RelativePositionType enum constant to a string.