ROSE 0.11.145.147
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
AstCombinedTopDownProcessing< InheritedAttributeType > Class Template Reference

Description

template<class InheritedAttributeType>
class AstCombinedTopDownProcessing< InheritedAttributeType >

Definition at line 110 of file AstCombinedProcessing.h.

Inheritance diagram for AstCombinedTopDownProcessing< InheritedAttributeType >:
Inheritance graph
[legend]
Collaboration diagram for AstCombinedTopDownProcessing< InheritedAttributeType >:
Collaboration graph
[legend]

Public Types

typedef AstTopDownProcessing< InheritedAttributeType > TraversalType
 
typedef TraversalTypeTraversalPtr
 
typedef std::vector< TraversalPtrTraversalPtrList
 
typedef std::vector< InheritedAttributeType > InheritedAttributeTypeList
 
- Public Types inherited from AstTopDownProcessing< std::vector< InheritedAttributeType > * >
typedef SgTreeTraversal< std::vector< InheritedAttributeType > *, DummyAttribute >::SynthesizedAttributesList SynthesizedAttributesList
 
- Public Types inherited from SgTreeTraversal< InheritedAttributeType, SynthesizedAttributeType >
typedef StackFrameVector< SynthesizedAttributeType > SynthesizedAttributesList
 

Public Member 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.)
 
- Public Member Functions inherited from AstTopDownProcessing< std::vector< InheritedAttributeType > * >
void traverse (SgNode *node, std::vector< InheritedAttributeType > * inheritedValue)
 evaluates attributes on the entire AST
 
void traverseWithinFile (SgNode *node, std::vector< InheritedAttributeType > * inheritedValue)
 evaluates attributes only at nodes which represent the same file as where the evaluation was started
 
- Public Member Functions inherited from SgTreeTraversal< InheritedAttributeType, SynthesizedAttributeType >
SynthesizedAttributeType traverse (SgNode *basenode, InheritedAttributeType inheritedValue, t_traverseOrder travOrder=preandpostorder)
 
SynthesizedAttributeType traverseWithinFile (SgNode *basenode, InheritedAttributeType inheritedValue, t_traverseOrder travOrder=preandpostorder)
 
void traverseInputFiles (SgProject *projectNode, InheritedAttributeType inheritedValue, t_traverseOrder travOrder=preandpostorder)
 
 SgTreeTraversal (const SgTreeTraversal &)
 
const SgTreeTraversaloperator= (const SgTreeTraversal &)
 

Protected Member 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 Member Functions inherited from AstTopDownProcessing< std::vector< InheritedAttributeType > * >
virtual void destroyInheritedValue (SgNode *, std::vector< InheritedAttributeType > *)
 
- Protected Member Functions inherited from SgTreeTraversal< InheritedAttributeType, SynthesizedAttributeType >
virtual InheritedAttributeType evaluateInheritedAttribute (SgNode *astNode, InheritedAttributeType inheritedValue)=0
 
virtual SynthesizedAttributeType evaluateSynthesizedAttribute (SgNode *n, InheritedAttributeType in, SynthesizedAttributesList l)=0
 
virtual void setNodeSuccessors (SgNode *node, SuccessorsContainer &succContainer)
 
void set_useDefaultIndexBasedTraversal (bool)
 

Protected Attributes

TraversalPtrList traversals
 

Additional Inherited Members

- Protected Types inherited from SgTreeTraversal< InheritedAttributeType, SynthesizedAttributeType >
typedef AstSuccessorsSelectors::SuccessorsContainer SuccessorsContainer
 
typedef SuccessorsContainer & SuccessorsContainerRef
 

Member Typedef Documentation

◆ TraversalType

template<class InheritedAttributeType >
typedef AstTopDownProcessing<InheritedAttributeType> AstCombinedTopDownProcessing< InheritedAttributeType >::TraversalType

Definition at line 114 of file AstCombinedProcessing.h.

◆ TraversalPtr

template<class InheritedAttributeType >
typedef TraversalType* AstCombinedTopDownProcessing< InheritedAttributeType >::TraversalPtr

Definition at line 115 of file AstCombinedProcessing.h.

◆ TraversalPtrList

template<class InheritedAttributeType >
typedef std::vector<TraversalPtr> AstCombinedTopDownProcessing< InheritedAttributeType >::TraversalPtrList

Definition at line 116 of file AstCombinedProcessing.h.

◆ InheritedAttributeTypeList

template<class InheritedAttributeType >
typedef std::vector<InheritedAttributeType> AstCombinedTopDownProcessing< InheritedAttributeType >::InheritedAttributeTypeList

Definition at line 117 of file AstCombinedProcessing.h.

Constructor & Destructor Documentation

◆ AstCombinedTopDownProcessing()

default constructor

Definition at line 366 of file AstCombinedProcessingImpl.h.

Member Function Documentation

◆ addTraversal()

template<class InheritedAttributeType >
void AstCombinedTopDownProcessing< I >::addTraversal ( TraversalPtr  )

simple function for adding a traversal to the internal list

Definition at line 382 of file AstCombinedProcessingImpl.h.

◆ get_traversalPtrListRef()

template<class I >
AstCombinedTopDownProcessing< I >::TraversalPtrList & AstCombinedTopDownProcessing< I >::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.)

Definition at line 390 of file AstCombinedProcessingImpl.h.

◆ evaluateInheritedAttribute()

template<class InheritedAttributeType >
AstCombinedTopDownProcessing< I >::InheritedAttributeTypeList * AstCombinedTopDownProcessing< I >::evaluateInheritedAttribute ( SgNode astNode,
InheritedAttributeTypeList *  inheritedValue 
)
protectedvirtual

pure virtual function which must be implemented to compute the inherited attribute at a node

Implements AstTopDownProcessing< std::vector< InheritedAttributeType > * >.

Reimplemented in AstSharedMemoryParallelizableTopDownProcessing< InheritedAttributeType >.

Definition at line 399 of file AstCombinedProcessingImpl.h.

◆ atTraversalStart()

template<class I >
void AstCombinedTopDownProcessing< I >::atTraversalStart ( )
protectedvirtual

Function called at the start of the traversal, before any node is visited; override if necessary, the default implementation is a no-op.

Reimplemented from AstTopDownProcessing< std::vector< InheritedAttributeType > * >.

Definition at line 430 of file AstCombinedProcessingImpl.h.

◆ atTraversalEnd()

template<class I >
void AstCombinedTopDownProcessing< I >::atTraversalEnd ( )
protectedvirtual

◆ destroyInheritedValue()

template<class InheritedAttributeType >
void AstCombinedTopDownProcessing< I >::destroyInheritedValue ( SgNode ,
InheritedAttributeTypeList *   
)
protectedvirtual

Definition at line 460 of file AstCombinedProcessingImpl.h.

Member Data Documentation

◆ traversals

template<class InheritedAttributeType >
TraversalPtrList AstCombinedTopDownProcessing< InheritedAttributeType >::traversals
protected

Definition at line 139 of file AstCombinedProcessing.h.


The documentation for this class was generated from the following files: