Program Listing for File markSharedDeclarationsForOutputInCodeGeneration.h#
↰ Return to documentation for file (src/frontend/SageIII/astPostProcessing/markSharedDeclarationsForOutputInCodeGeneration.h)
#ifndef MARK_SHARED_DECLARATIONS_FOR_OUTPUT_IN_CODE_GENERATION_H
#define MARK_SHARED_DECLARATIONS_FOR_OUTPUT_IN_CODE_GENERATION_H
// DQ (2/26/2019):
void markSharedDeclarationsForOutputInCodeGeneration( SgNode* node );
class MarkSharedDeclarationsInheritedAttribute
{
public:
// SgScopeStatement* previousScope;
SgSourceFile* currentFile;
SgFileIdList unparseFileIdList;
MarkSharedDeclarationsInheritedAttribute();
MarkSharedDeclarationsInheritedAttribute( const MarkSharedDeclarationsInheritedAttribute & X );
};
class MarkSharedDeclarationsForOutputInCodeGeneration : public SgTopDownProcessing<MarkSharedDeclarationsInheritedAttribute>
{
public:
// Adding map to record defining declarations and their associated file ID.
std::set<int> fileNodeSet;
std::set<SgDeclarationStatement*> definingDeclarationsSet;
// SgSourceFile* currentSourceFile;
MarkSharedDeclarationsForOutputInCodeGeneration();
// void visit (SgNode* node);
MarkSharedDeclarationsInheritedAttribute
evaluateInheritedAttribute(SgNode* node, MarkSharedDeclarationsInheritedAttribute inheritedAttribute);
};
// endif for MARK_SHARED_DECLARATIONS_FOR_OUTPUT_IN_CODE_GENERATION_H
#endif