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

Description

template<class SynthesizedAttributeType>
class AstCombinedBottomUpProcessing< SynthesizedAttributeType >

Definition at line 147 of file AstCombinedProcessing.h.

Inheritance diagram for AstCombinedBottomUpProcessing< SynthesizedAttributeType >:
Inheritance graph
[legend]
Collaboration diagram for AstCombinedBottomUpProcessing< SynthesizedAttributeType >:
Collaboration graph
[legend]

Public Types

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

Public Member 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.)
 
- Public Member Functions inherited from AstBottomUpProcessing< std::vector< SynthesizedAttributeType > * >
std::vector< SynthesizedAttributeType > * traverse (SgNode *node)
 evaluates attributes on the entire AST
 
std::vector< SynthesizedAttributeType > * traverseWithinFile (SgNode *node)
 evaluates attributes only at nodes which represent the same file as where the evaluation was started
 
void traverseInputFiles (SgProject *projectNode)
 evaluates attributes only at nodes which represent files which were specified on the command line (=input files).
 
- 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 SynthesizedAttributeTypeList * evaluateSynthesizedAttribute (SgNode *astNode, SynthesizedAttributesList synthesizedAttributes)
 
virtual SynthesizedAttributeTypeList * defaultSynthesizedAttribute ()
 Allows to provide a default value for a synthesized attribute of primitive type (e.g.
 
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 Member Functions inherited from AstBottomUpProcessing< std::vector< SynthesizedAttributeType > * >
virtual std::vector< SynthesizedAttributeType > * evaluateSynthesizedAttribute (SgNode *, SynthesizedAttributesList)=0
 pure virtual function which must be implemented to compute the synthesized attribute at a node.
 
- 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)
 
virtual SynthesizedAttributeType defaultSynthesizedAttribute (InheritedAttributeType inh)
 
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 SynthesizedAttributeType >
typedef AstBottomUpProcessing<SynthesizedAttributeType> AstCombinedBottomUpProcessing< SynthesizedAttributeType >::TraversalType

Definition at line 151 of file AstCombinedProcessing.h.

◆ TraversalPtr

template<class SynthesizedAttributeType >
typedef TraversalType* AstCombinedBottomUpProcessing< SynthesizedAttributeType >::TraversalPtr

Definition at line 152 of file AstCombinedProcessing.h.

◆ TraversalPtrList

template<class SynthesizedAttributeType >
typedef std::vector<TraversalPtr> AstCombinedBottomUpProcessing< SynthesizedAttributeType >::TraversalPtrList

Definition at line 153 of file AstCombinedProcessing.h.

◆ SynthesizedAttributeTypeList

template<class SynthesizedAttributeType >
typedef std::vector<SynthesizedAttributeType> AstCombinedBottomUpProcessing< SynthesizedAttributeType >::SynthesizedAttributeTypeList

Definition at line 154 of file AstCombinedProcessing.h.

◆ Superclass

template<class SynthesizedAttributeType >
typedef AstBottomUpProcessing<SynthesizedAttributeTypeList *> AstCombinedBottomUpProcessing< SynthesizedAttributeType >::Superclass

Definition at line 155 of file AstCombinedProcessing.h.

◆ SynthesizedAttributesList

template<class SynthesizedAttributeType >
typedef Superclass::SynthesizedAttributesList AstCombinedBottomUpProcessing< SynthesizedAttributeType >::SynthesizedAttributesList

Definition at line 156 of file AstCombinedProcessing.h.

Constructor & Destructor Documentation

◆ AstCombinedBottomUpProcessing()

default constructor

Definition at line 484 of file AstCombinedProcessingImpl.h.

Member Function Documentation

◆ addTraversal()

template<class SynthesizedAttributeType >
void AstCombinedBottomUpProcessing< S >::addTraversal ( TraversalPtr  )

simple function for adding a traversal to the internal list

Definition at line 500 of file AstCombinedProcessingImpl.h.

◆ get_traversalPtrListRef()

template<class S >
AstCombinedBottomUpProcessing< S >::TraversalPtrList & AstCombinedBottomUpProcessing< 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 508 of file AstCombinedProcessingImpl.h.

◆ evaluateSynthesizedAttribute()

template<class SynthesizedAttributeType >
AstCombinedBottomUpProcessing< S >::SynthesizedAttributeTypeList * AstCombinedBottomUpProcessing< S >::evaluateSynthesizedAttribute ( SgNode astNode,
SynthesizedAttributesList  synthesizedAttributes 
)
protectedvirtual

Definition at line 517 of file AstCombinedProcessingImpl.h.

◆ defaultSynthesizedAttribute()

template<class S >
AstCombinedBottomUpProcessing< S >::SynthesizedAttributeTypeList * AstCombinedBottomUpProcessing< S >::defaultSynthesizedAttribute ( )
protectedvirtual

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.

Reimplemented from AstBottomUpProcessing< std::vector< SynthesizedAttributeType > * >.

Definition at line 564 of file AstCombinedProcessingImpl.h.

◆ atTraversalStart()

template<class S >
void AstCombinedBottomUpProcessing< S >::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 AstBottomUpProcessing< std::vector< SynthesizedAttributeType > * >.

Definition at line 580 of file AstCombinedProcessingImpl.h.

◆ atTraversalEnd()

template<class S >
void AstCombinedBottomUpProcessing< S >::atTraversalEnd ( )
protectedvirtual

Member Data Documentation

◆ traversals

template<class SynthesizedAttributeType >
TraversalPtrList AstCombinedBottomUpProcessing< SynthesizedAttributeType >::traversals
protected

Definition at line 178 of file AstCombinedProcessing.h.


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