Template Class AstCombinedBottomUpProcessing#

Inheritance Relationships#

Base Type#

Derived Types#

Class Documentation#

template<class SynthesizedAttributeType>
class AstCombinedBottomUpProcessing : public AstBottomUpProcessing<std::vector<SynthesizedAttributeType>*>#

Subclassed by AstSharedMemoryParallelBottomUpProcessing< SynthesizedAttributeType >, AstSharedMemoryParallelizableBottomUpProcessing< SynthesizedAttributeType >

Public Types

typedef AstBottomUpProcessing<SynthesizedAttributeType> TraversalType#
typedef TraversalType *TraversalPtr#
typedef std::vector<TraversalPtr> TraversalPtrList#
typedef std::vector<SynthesizedAttributeType> SynthesizedAttributeTypeList#
typedef AstBottomUpProcessing<SynthesizedAttributeTypeList*> Superclass#
typedef Superclass::SynthesizedAttributesList SynthesizedAttributesList#

Public Functions

AstCombinedBottomUpProcessing()#

default constructor

AstCombinedBottomUpProcessing(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, you can use this for any container operations you like (deleting elements etc.)

Protected Functions

virtual SynthesizedAttributeTypeList *evaluateSynthesizedAttribute(SgNode *astNode, SynthesizedAttributesList synthesizedAttributes)#
virtual SynthesizedAttributeTypeList *defaultSynthesizedAttribute()#

Allows to provide a default value for a synthesized attribute of primitive type (e.g. int, bool, etc.). If a class is used as type for a synthesized attribute the default constructor of this class is sufficient and this function does not have be implemented.

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()#

Protected Attributes

TraversalPtrList traversals#