ROSE 0.11.145.192
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
SgCombinedTreeTraversal< InheritedAttributeType, SynthesizedAttributeType > Class Template Reference

Description

template<class InheritedAttributeType, class SynthesizedAttributeType>
class SgCombinedTreeTraversal< InheritedAttributeType, SynthesizedAttributeType >

Definition at line 22 of file AstCombinedProcessing.h.

Inheritance diagram for SgCombinedTreeTraversal< InheritedAttributeType, SynthesizedAttributeType >:
Inheritance graph
[legend]
Collaboration diagram for SgCombinedTreeTraversal< InheritedAttributeType, SynthesizedAttributeType >:
Collaboration graph
[legend]

Public Types

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

Public Member Functions

 SgCombinedTreeTraversal ()
 default constructor
 
 SgCombinedTreeTraversal (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.)
 
- Public Member Functions inherited from SgTreeTraversal< std::vector< InheritedAttributeType > *, std::vector< SynthesizedAttributeType > * >
std::vector< SynthesizedAttributeType > * traverse (SgNode *basenode, std::vector< InheritedAttributeType > * inheritedValue, t_traverseOrder travOrder=preandpostorder)
 
std::vector< SynthesizedAttributeType > * traverseWithinFile (SgNode *basenode, std::vector< InheritedAttributeType > * inheritedValue, t_traverseOrder travOrder=preandpostorder)
 
void traverseInputFiles (SgProject *projectNode, std::vector< InheritedAttributeType > * inheritedValue, t_traverseOrder travOrder=preandpostorder)
 
 SgTreeTraversal (const SgTreeTraversal &)
 
const SgTreeTraversaloperator= (const SgTreeTraversal &)
 

Protected Member Functions

virtual InheritedAttributeTypeList * evaluateInheritedAttribute (SgNode *astNode, InheritedAttributeTypeList *inheritedValues)
 
virtual SynthesizedAttributeTypeList * evaluateSynthesizedAttribute (SgNode *astNode, InheritedAttributeTypeList *inheritedValues, SynthesizedAttributesList synthesizedAttributes)
 
virtual SynthesizedAttributeTypeList * defaultSynthesizedAttribute (InheritedAttributeTypeList *)
 
virtual void atTraversalStart ()
 
virtual void atTraversalEnd ()
 
- Protected Member Functions inherited from SgTreeTraversal< std::vector< InheritedAttributeType > *, std::vector< SynthesizedAttributeType > * >
virtual void setNodeSuccessors (SgNode *node, SuccessorsContainer &succContainer)
 
virtual std::vector< SynthesizedAttributeType > * defaultSynthesizedAttribute (std::vector< InheritedAttributeType > * inh)
 
void set_useDefaultIndexBasedTraversal (bool)
 

Protected Attributes

TraversalPtrList traversals
 

Additional Inherited Members

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

Member Typedef Documentation

◆ TraversalType

template<class InheritedAttributeType , class SynthesizedAttributeType >
typedef SgTreeTraversal<InheritedAttributeType, SynthesizedAttributeType> SgCombinedTreeTraversal< InheritedAttributeType, SynthesizedAttributeType >::TraversalType

Definition at line 26 of file AstCombinedProcessing.h.

◆ TraversalPtr

template<class InheritedAttributeType , class SynthesizedAttributeType >
typedef TraversalType* SgCombinedTreeTraversal< InheritedAttributeType, SynthesizedAttributeType >::TraversalPtr

Definition at line 27 of file AstCombinedProcessing.h.

◆ TraversalPtrList

template<class InheritedAttributeType , class SynthesizedAttributeType >
typedef std::vector<TraversalPtr> SgCombinedTreeTraversal< InheritedAttributeType, SynthesizedAttributeType >::TraversalPtrList

Definition at line 28 of file AstCombinedProcessing.h.

◆ InheritedAttributeTypeList

template<class InheritedAttributeType , class SynthesizedAttributeType >
typedef std::vector<InheritedAttributeType> SgCombinedTreeTraversal< InheritedAttributeType, SynthesizedAttributeType >::InheritedAttributeTypeList

Definition at line 29 of file AstCombinedProcessing.h.

◆ SynthesizedAttributeTypeList

template<class InheritedAttributeType , class SynthesizedAttributeType >
typedef std::vector<SynthesizedAttributeType> SgCombinedTreeTraversal< InheritedAttributeType, SynthesizedAttributeType >::SynthesizedAttributeTypeList

Definition at line 30 of file AstCombinedProcessing.h.

◆ Superclass

template<class InheritedAttributeType , class SynthesizedAttributeType >
typedef SgTreeTraversal<std::vector<InheritedAttributeType> *, std::vector<SynthesizedAttributeType> *> SgCombinedTreeTraversal< InheritedAttributeType, SynthesizedAttributeType >::Superclass

Definition at line 31 of file AstCombinedProcessing.h.

◆ SynthesizedAttributesList

template<class InheritedAttributeType , class SynthesizedAttributeType >
typedef Superclass::SynthesizedAttributesList SgCombinedTreeTraversal< InheritedAttributeType, SynthesizedAttributeType >::SynthesizedAttributesList

Definition at line 32 of file AstCombinedProcessing.h.

Constructor & Destructor Documentation

◆ SgCombinedTreeTraversal()

template<class I , class S >
SgCombinedTreeTraversal< I, S >::SgCombinedTreeTraversal ( )

default constructor

Definition at line 17 of file AstCombinedProcessingImpl.h.

Member Function Documentation

◆ addTraversal()

template<class InheritedAttributeType , class SynthesizedAttributeType >
void SgCombinedTreeTraversal< I, S >::addTraversal ( TraversalPtr  )

simple function for adding a traversal to the internal list

Definition at line 33 of file AstCombinedProcessingImpl.h.

◆ get_traversalPtrListRef()

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

Definition at line 41 of file AstCombinedProcessingImpl.h.

◆ evaluateInheritedAttribute()

template<class InheritedAttributeType , class SynthesizedAttributeType >
SgCombinedTreeTraversal< I, S >::InheritedAttributeTypeList * SgCombinedTreeTraversal< I, S >::evaluateInheritedAttribute ( SgNode astNode,
InheritedAttributeTypeList *  inheritedValues 
)
protectedvirtual

◆ evaluateSynthesizedAttribute()

template<class InheritedAttributeType , class SynthesizedAttributeType >
SgCombinedTreeTraversal< I, S >::SynthesizedAttributeTypeList * SgCombinedTreeTraversal< I, S >::evaluateSynthesizedAttribute ( SgNode astNode,
InheritedAttributeTypeList *  inheritedValues,
SynthesizedAttributesList  synthesizedAttributes 
)
protectedvirtual

◆ defaultSynthesizedAttribute()

template<class InheritedAttributeType , class SynthesizedAttributeType >
SgCombinedTreeTraversal< I, S >::SynthesizedAttributeTypeList * SgCombinedTreeTraversal< I, S >::defaultSynthesizedAttribute ( InheritedAttributeTypeList *  )
protectedvirtual

Definition at line 137 of file AstCombinedProcessingImpl.h.

◆ atTraversalStart()

template<class I , class S >
void SgCombinedTreeTraversal< I, S >::atTraversalStart ( )
protectedvirtual

◆ atTraversalEnd()

template<class I , class S >
void SgCombinedTreeTraversal< I, S >::atTraversalEnd ( )
protectedvirtual

Member Data Documentation

◆ traversals

template<class InheritedAttributeType , class SynthesizedAttributeType >
TraversalPtrList SgCombinedTreeTraversal< InheritedAttributeType, SynthesizedAttributeType >::traversals
protected

Definition at line 58 of file AstCombinedProcessing.h.


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