Class AttachPreprocessingInfoTreeTrav#

Inheritance Relationships#

Base Type#

Derived Type#

Class Documentation#

class AttachPreprocessingInfoTreeTrav : public SgTopDownBottomUpProcessing<AttachPreprocessingInfoTreeTraversalInheritedAttrribute, AttachPreprocessingInfoTreeTraversalSynthesizedAttribute>#

Subclassed by AttachAllPreprocessingInfoTreeTrav

Public Functions

AttachPreprocessingInfoTreeTrav(std::map<std::string, ROSEAttributesList*> *attrMap)#
~AttachPreprocessingInfoTreeTrav()#
AttachPreprocessingInfoTreeTrav(SgSourceFile *file, ROSEAttributesList *listOfAttributes)#
void setupPointerToPreviousNode(SgLocatedNode *currentLocNodePtr)#
void iterateOverListAndInsertPreviouslyUninsertedElementsAppearingBeforeLineNumber(SgLocatedNode *locatedNode, int lineNumber, PreprocessingInfo::RelativePositionType location, bool reset_start_index, ROSEAttributesList *currentListOfAttributes)#
void handleBracedScopes(SgLocatedNode *previousLocatedNode, SgStatement *bracedScope, int lineOfClosingBrace, bool reset_start_index, ROSEAttributesList *currentListOfAttributes)#
AttachPreprocessingInfoTreeTraversalInheritedAttrribute evaluateInheritedAttribute(SgNode *n, AttachPreprocessingInfoTreeTraversalInheritedAttrribute inh)#
AttachPreprocessingInfoTreeTraversalSynthesizedAttribute evaluateSynthesizedAttribute(SgNode *n, AttachPreprocessingInfoTreeTraversalInheritedAttrribute inh, SubTreeSynthesizedAttributes st)#
void display(const std::string &label) const#
ROSEAttributesList *getListOfAttributes(int currentFileNameId)#
void setMapOfAttributes()#

Public Static Functions

static ROSEAttributesList *buildCommentAndCppDirectiveList(bool use_Wave, SgSourceFile *sourceFile, std::string currentFilename, std::string new_filename)#

Protected Attributes

SgLocatedNode *previousLocatedNode#

accumulator attribute

ROSEAttributesList *currentListOfAttributes#
SgSourceFile *sourceFile#

current source file name id (only handle strings from current file)

int target_source_file_id#
int source_file_id#
bool use_Wave#

AS(011306) Map of ROSEAttributesLists mapped to filename from Wave.

Use_Wave == true specifies if a wave preprocessor is used

int start_index#

Map of filenames to list of attributes as found by WAVE.

AS(092107) Optimization variable to avoid n^2 complexity in iterateOverListAndInsertPreviouslyUninsertedElementsAppearingBeforeLineNumber()

bool processAllIncludeFiles#