Template Class AstCombinedTopDownProcessing#

Inheritance Relationships#

Base Type#

Derived Types#

Class Documentation#

template<class InheritedAttributeType>
class AstCombinedTopDownProcessing : public AstTopDownProcessing<std::vector<InheritedAttributeType>*>#

Subclassed by AstSharedMemoryParallelTopDownProcessing< InheritedAttributeType >, AstSharedMemoryParallelizableTopDownProcessing< InheritedAttributeType >

Public Types

typedef AstTopDownProcessing<InheritedAttributeType> TraversalType#
typedef TraversalType *TraversalPtr#
typedef std::vector<TraversalPtr> TraversalPtrList#
typedef std::vector<InheritedAttributeType> InheritedAttributeTypeList#

Public Functions

AstCombinedTopDownProcessing()#

default constructor

AstCombinedTopDownProcessing(const TraversalPtrList&)#

constructor that makes an internal copy of an existing list of traversals

void addTraversal(TraversalPtr)#

simple function for adding a traversal to the internal list

TraversalPtrList &get_traversalPtrListRef()#

function for obtaining a reference to the internal list of traversals, zou can use this for any container operations you like (deleting elements etc.)

Protected Functions

virtual InheritedAttributeTypeList *evaluateInheritedAttribute(SgNode *astNode, InheritedAttributeTypeList *inheritedValues)#

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*, InheritedAttributeTypeList*)#

Protected Attributes

TraversalPtrList traversals#