10 #include "roseInternal.h"
31 typedef size_t size_type;
152 bool is_past_the_end()
const;
154 std::string current_node_id()
const;
156 std::string parent_node_id()
const;
158 void print_top_element()
const;
165 bool _skipChildrenOnForward;
166 bool _withNullValues;
170 static const int ROOT_NODE_INDEX=-2;
172 typedef struct {
SgNode* node;
int index;} stack_element;
173 std::stack<stack_element> _stack;
174 SgNode* access_node_by_parent_and_index(
SgNode* p,
int index)
const;
177 int num_children(
SgNode* p)
const;
193 std::list<SgFunctionDeclaration*> findFunctionDeclarationsByName(std::string name);
202 static bool isSubTypeOf(VariantT DerivedClassVariant, VariantT BaseClassVariant);
204 static bool isSubType(VariantT DerivedClassVariant, VariantT BaseClassVariant);
205 void setWithNullValues(
bool flag);
206 void setWithTemplates(
bool flag);
212 bool _withNullValues;
SgNode * parent() const
Parent AST node relative to the iteration.
iterator & operator++()
Advance the iterator.
bool operator!=(const iterator &x) const
Test iterator inequality.
RoseAst(SgNode *astNode)
Defines the starting node for traversal.
static bool isSubTypeOf(VariantT DerivedClassVariant, VariantT BaseClassVariant)
determines based on VariantT whether a ROSE-AST node is a subtype of another node type...
This class represents the concept of a scope in C++ (e.g. global scope, fuction scope, etc.).
static bool isTemplateInstantiationNode(SgNode *node)
determines whether a node is used to represent the root node of a template instantiation ...
bool operator==(const iterator &x) const
Test iterator equality.
Interface for iterating over an AST.
SgNode * operator*() const
Dereference an iterator.
This class represents the base class for all IR nodes within Sage III.
bool is_at_last_child() const
Test whether iterator as at the last child of its parent.
iterator end()
Iterator positioned at the end of the traversal.
static bool isTemplateNode(SgNode *node)
determines whether a node is used to represent the root node of a template.
bool is_at_first_child() const
Test whether iterator is at the first child of its parent.
bool is_at_root() const
Test whether iterator is pointing to root node of AST to be traversed.
iterator begin()
Iterator positioned at root of subtree.
iterator & withoutNullValues()
Mode to enable or disable skipping null child pointers.
iterator & withNullValues()
Mode to enable or disable skipping null child pointers.
iterator()
Default constructor.
static bool isSubType(VariantT DerivedClassVariant, VariantT BaseClassVariant)
deprecated, use isSubTypeOf instead
void skipChildrenOnForward()
Cause children to be skipped on the next advancement.
int stack_size() const
Depth of traversal.