Template Class AstTopDownProcessing#
Defined in File AstProcessing.h
Inheritance Relationships#
Base Type#
public SgTreeTraversal< InheritedAttributeType, DummyAttribute >(Template Class SgTreeTraversal)
Derived Types#
public AstReverseBranchInhProcessing< DI >(Template Class AstReverseBranchInhProcessing)public AstReversePrefixInhProcessing< DI >(Template Class AstReversePrefixInhProcessing)public SgTopDownProcessing< AddPrototypesForTemplateInstantiationsInheritedAttribute >(Template Class SgTopDownProcessing)public SgTopDownProcessing< FixupFunctionDefaultArgumentsInheritedAttribute >(Template Class SgTopDownProcessing)public SgTopDownProcessing< FixupPrettyFunctionVariablesInheritedAttribute >(Template Class SgTopDownProcessing)public SgTopDownProcessing< LinearizeInheritedAttribute >(Template Class SgTopDownProcessing)public SgTopDownProcessing< MarkSharedDeclarationsInheritedAttribute >(Template Class SgTopDownProcessing)public SgTopDownProcessing< MarkTemplateSpecializationsForOutputInheritedAttribute >(Template Class SgTopDownProcessing)public SgTopDownProcessing< MarkTransformationsForOutputInheritedAttribute >(Template Class SgTopDownProcessing)public SgTopDownProcessing< PDFInheritedAttribute >(Template Class SgTopDownProcessing)public SgTopDownProcessing< PropagateHiddenListDataInheritedAttribute >(Template Class SgTopDownProcessing)public SgTopDownProcessing< RemoveInitializedNamePtrInheritedAttribute >(Template Class SgTopDownProcessing)public SgTopDownProcessing< ResetParentPointersInheritedAttribute >(Template Class SgTopDownProcessing)public SgTopDownProcessing< SimpleColorFilesInheritedAttribute >(Template Class SgTopDownProcessing)public AstReverseBranchInhProcessing< InheritedAttributeType >(Template Class AstReverseBranchInhProcessing)public AstReversePrefixInhProcessing< InheritedAttributeType >(Template Class AstReversePrefixInhProcessing)public SgTopDownProcessing< InheritedAttributeType >(Template Class SgTopDownProcessing)
Class Documentation#
-
template<class InheritedAttributeType>
class AstTopDownProcessing : public SgTreeTraversal<InheritedAttributeType, DummyAttribute># Subclassed by AstReverseBranchInhProcessing< DI >, AstReversePrefixInhProcessing< DI >, SgTopDownProcessing< AddPrototypesForTemplateInstantiationsInheritedAttribute >, SgTopDownProcessing< FixupFunctionDefaultArgumentsInheritedAttribute >, SgTopDownProcessing< FixupPrettyFunctionVariablesInheritedAttribute >, SgTopDownProcessing< LinearizeInheritedAttribute >, SgTopDownProcessing< MarkSharedDeclarationsInheritedAttribute >, SgTopDownProcessing< MarkTemplateSpecializationsForOutputInheritedAttribute >, SgTopDownProcessing< MarkTransformationsForOutputInheritedAttribute >, SgTopDownProcessing< PDFInheritedAttribute >, SgTopDownProcessing< PropagateHiddenListDataInheritedAttribute >, SgTopDownProcessing< RemoveInitializedNamePtrInheritedAttribute >, SgTopDownProcessing< ResetParentPointersInheritedAttribute >, SgTopDownProcessing< SimpleColorFilesInheritedAttribute >, AstReverseBranchInhProcessing< InheritedAttributeType >, AstReversePrefixInhProcessing< InheritedAttributeType >, SgTopDownProcessing< InheritedAttributeType >
Public Types
-
typedef SgTreeTraversal<InheritedAttributeType, DummyAttribute>::SynthesizedAttributesList SynthesizedAttributesList#
Public Functions
-
void traverse(SgNode *node, InheritedAttributeType inheritedValue)#
evaluates attributes on the entire AST
-
void traverseWithinFile(SgNode *node, InheritedAttributeType inheritedValue)#
evaluates attributes only at nodes which represent the same file as where the evaluation was started
Protected Functions
-
virtual InheritedAttributeType evaluateInheritedAttribute(SgNode *astNode, InheritedAttributeType inheritedValue) = 0#
pure virtual function which must be implemented to compute the inherited attribute at a node
-
virtual void atTraversalStart()#
Function called at the start of the traversal, before any node is visited; override if necessary, the default implementation is a no-op.
-
virtual void atTraversalEnd()#
-
virtual void destroyInheritedValue(SgNode*, InheritedAttributeType)#
Friends
- friend class AstCombinedTopDownProcessing< InheritedAttributeType >
- friend class DistributedMemoryAnalysisPreTraversal< InheritedAttributeType >
-
typedef SgTreeTraversal<InheritedAttributeType, DummyAttribute>::SynthesizedAttributesList SynthesizedAttributesList#