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);
98 #if 0 // [Robb Matzke 2021-03-17]: unused
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;