Program Listing for File fixupFunctionDefaultArguments.h

Program Listing for File fixupFunctionDefaultArguments.h#

Return to documentation for file (src/frontend/SageIII/astPostProcessing/fixupFunctionDefaultArguments.h)

#ifndef FIXUP_FUNCTION_DEFAULT_ARGUMENTS_H
#define FIXUP_FUNCTION_DEFAULT_ARGUMENTS_H

void fixupFunctionDefaultArguments( SgNode* node );

class FixupFunctionDefaultArgumentsInheritedAttribute
   {
     public:
          FixupFunctionDefaultArgumentsInheritedAttribute();
   };

// DQ (4/24/2013): This class controls the output of template declarations in the generated code (by the unparser).
class FixupFunctionDefaultArguments
   : public SgTopDownProcessing<FixupFunctionDefaultArgumentsInheritedAttribute>
   {
     public:
          SgSourceFile* currentFile;

          class SetStructure
             {
               public:
                  int distanceInSourceSequence;
                  SgFunctionDeclaration* associatedFunctionDeclaration;
                  std::set<SgFunctionDeclaration*> setOfFunctionDeclarations;
             };

          std::map<SgFunctionDeclaration*,SetStructure*> mapOfSetsOfFunctionDeclarations;

          FixupFunctionDefaultArguments(SgSourceFile* file);

          FixupFunctionDefaultArgumentsInheritedAttribute
               evaluateInheritedAttribute ( SgNode* node, FixupFunctionDefaultArgumentsInheritedAttribute inheritedAttribute );
   };


// endif for FIXUP_FUNCTION_DEFAULT_ARGUMENTS_H
#endif