1 #ifndef _ATTACH_PREPROCESSING_INFO_TRAVERSAL_H_
2 #define _ATTACH_PREPROCESSING_INFO_TRAVERSAL_H_
45 : currentListOfAttributes(listOfAttributes)
56 isPartOfTemplateDeclaration =
false;
60 isPartOfTemplateInstantiationDeclaration =
false;
64 isPartOfFunctionParameterList =
false;
72 bool isPartOfTemplateDeclaration;
76 bool isPartOfTemplateInstantiationDeclaration;
80 bool isPartOfFunctionParameterList;
88 AttachPreprocessingInfoTreeTraversalSynthesizedAttribute>
93 std::list<std::pair<SgIncludeDirectiveStatement*, SgStatement*> > statementsToInsertBefore;
94 std::list<std::pair<SgIncludeDirectiveStatement*, SgStatement*> > statementsToInsertAfter;
127 int target_source_file_id;
155 bool processAllIncludeFiles;
175 void setupPointerToPreviousNode (
SgLocatedNode* currentLocNodePtr );
177 void iterateOverListAndInsertPreviouslyUninsertedElementsAppearingBeforeLineNumber
195 void display(
const std::string & label)
const;
203 void setMapOfAttributes();
215 static ROSEAttributesList* buildCommentAndCppDirectiveList (
bool use_Wave,
SgSourceFile* sourceFile, std::string currentFilename, std::string new_filename );
SgLocatedNode * previousLocatedNode
accumulator attribute
bool use_Wave
AS(011306) Map of ROSEAttributesLists mapped to filename from Wave.
AttachPreprocessingInfoTreeTraversalSynthesizedAttribute evaluateSynthesizedAttribute(SgNode *n, AttachPreprocessingInfoTreeTraversalInheritedAttrribute inh, SubTreeSynthesizedAttributes st)
pure virtual function which must be implemented to compute the synthesized attribute at a node...
RelativePositionType
MK: Enum type to store if the directive goes before or after the corresponding line of source code...
This class represents the base class for all IR nodes within Sage III.
SgSourceFile * sourceFile
current source file name id (only handle strings from current file)
This class represents the notion of a statement.
This class represents the notion of an expression or statement which has a position within the source...
int start_index
Map of filenames to list of attributes as found by WAVE.
AttachPreprocessingInfoTreeTraversalInheritedAttrribute evaluateInheritedAttribute(SgNode *n, AttachPreprocessingInfoTreeTraversalInheritedAttrribute inh)
pure virtual function which must be implemented to compute the inherited attribute at a node ...