template<class InheritedAttributeType, class SynthesizedAttributeType>
class AstCombinedTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType >
Definition at line 66 of file AstCombinedProcessing.h.
|
typedef AstTopDownBottomUpProcessing< InheritedAttributeType, SynthesizedAttributeType > | TraversalType |
|
typedef TraversalType * | TraversalPtr |
|
typedef std::vector< TraversalPtr > | TraversalPtrList |
|
typedef std::vector< InheritedAttributeType > | InheritedAttributeTypeList |
|
typedef std::vector< SynthesizedAttributeType > | SynthesizedAttributeTypeList |
|
typedef AstTopDownBottomUpProcessing< std::vector< InheritedAttributeType > *, std::vector< SynthesizedAttributeType > * > | Superclass |
|
typedef Superclass::SynthesizedAttributesList | SynthesizedAttributesList |
|
typedef SgTreeTraversal< std::vector< InheritedAttributeType > *, std::vector< SynthesizedAttributeType > * >::SynthesizedAttributesList | SynthesizedAttributesList |
|
typedef SynthesizedAttributesList | SubTreeSynthesizedAttributes |
|
typedef StackFrameVector< std::vector< SynthesizedAttributeType > * > | SynthesizedAttributesList |
|
|
| AstCombinedTopDownBottomUpProcessing () |
| default constructor
|
|
| AstCombinedTopDownBottomUpProcessing (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.)
|
|
std::vector< SynthesizedAttributeType > * | traverse (SgNode *node, std::vector< InheritedAttributeType > * inheritedValue) |
| evaluates attributes on the entire AST
|
|
std::vector< SynthesizedAttributeType > * | traverseWithinFile (SgNode *node, std::vector< InheritedAttributeType > * inheritedValue) |
| evaluates attributes only at nodes which represent the same file as where the evaluation was started
|
|
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 SgTreeTraversal & | operator= (const SgTreeTraversal &) |
|
|
virtual InheritedAttributeTypeList * | evaluateInheritedAttribute (SgNode *astNode, InheritedAttributeTypeList *inheritedValues) |
| pure virtual function which must be implemented to compute the inherited attribute at a node
|
|
virtual SynthesizedAttributeTypeList * | evaluateSynthesizedAttribute (SgNode *astNode, InheritedAttributeTypeList *inheritedValues, SynthesizedAttributesList synthesizedAttributes) |
|
virtual SynthesizedAttributeTypeList * | defaultSynthesizedAttribute (InheritedAttributeTypeList *) |
|
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 std::vector< SynthesizedAttributeType > * | evaluateSynthesizedAttribute (SgNode *, std::vector< InheritedAttributeType > *, SynthesizedAttributesList)=0 |
| pure virtual function which must be implemented to compute the synthesized attribute at a node. More...
|
|
virtual void | setNodeSuccessors (SgNode *node, SuccessorsContainer &succContainer) |
|
void | set_useDefaultIndexBasedTraversal (bool) |
|