libabigail
|
The base class for the visitor type hierarchy used for traversing a translation unit. More...
#include <abg-ir.h>
The base class for the visitor type hierarchy used for traversing a translation unit.
Client code willing to get notified for a certain kind of node during the IR traversal might want to define a visitor class that inherit ir_node_visitor, overload the ir_node_visitor::visit_begin() or ir_node_visitor::visit_end() method of its choice, and provide and implementation for it. If either ir_node_visitor::visit_begin() or ir_node_visitor::visit_end() return false, it means the traversal has to stop immediately after the methods' return. If the methods return true, it means the traversal keeps going.
That new visitor class would then be passed to e.g, translation_unit::traverse or to the traverse method of any type where the traversal is supposed to start from.
ir_node_visitor | ( | ) |
Default Constructor of the ir_node_visitor type.
bool allow_visiting_already_visited_type_node | ( | ) | const |
void allow_visiting_already_visited_type_node | ( | bool | f | ) |
void forget_visited_type_nodes | ( | ) |
Un-mark all visited type nodes.
That is, no type node is going to be considered as having been visited anymore.
In other words, after invoking this funciton, ir_node_visitor::type_node_has_been_visited() is going to return false on all type nodes.
void mark_type_node_as_visited | ( | type_base * | p | ) |
bool type_node_has_been_visited | ( | type_base * | p | ) | const |
Test if a given type node has been marked as visited.
p | the type node to consider. |
p
has been marked as visited by the function ir_node_visitor::mark_type_node_as_visited.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |