PandA-2024.02
|
#include <tree_nodes_merger.hpp>
Public Member Functions | |
tree_node_index_factory (CustomUnorderedMapUnstable< unsigned int, unsigned int > &_remap, const tree_managerRef _TM) | |
default constructor More... | |
void | create_tree_node (const unsigned int node_id, const tree_nodeRef &tn) |
tree_node visitors More... | |
Public Member Functions inherited from object_visitor | |
virtual | ~object_visitor () |
destructor More... | |
BOOST_PP_SEQ_FOR_EACH (OPERATOR_MACRO, BOOST_PP_EMPTY, VISITED_OBJ_SEQ1) | |
virtual template object functor More... | |
BOOST_PP_SEQ_FOR_EACH (OPERATOR_MACRO, BOOST_PP_EMPTY, VISITED_OBJ_SEQ2) | |
Private Attributes | |
CustomUnorderedMapUnstable< unsigned int, unsigned int > & | remap |
remap old indexes in new indexes More... | |
const tree_managerRef | TM |
tree manager More... | |
tree_node * | curr_tree_node_ptr |
current tree node filled according to the tree_node_schema More... | |
bloc * | curr_bloc |
current basic block pointer More... | |
tree_nodeRef | source_tn |
current tree_node source More... | |
blocRef | source_bloc |
current basic block source More... | |
Definition at line 84 of file tree_nodes_merger.hpp.
|
inline |
default constructor
Definition at line 87 of file tree_nodes_merger.hpp.
References object_visitor::BOOST_PP_SEQ_FOR_EACH(), OBJ_NOT_SPECIALIZED_SEQ, OBJ_SPECIALIZED_SEQ, OPERATOR_MACRO, and OPERATOR_MACRO_DECL.
void tree_node_index_factory::create_tree_node | ( | const unsigned int | node_id, |
const tree_nodeRef & | tn | ||
) |
tree_node visitors
Factory method. It creates a tree_node of type equal to the type of tn where all the fields are remapped according the remap relation passed to the constructor
node_id | is the node id of the created object. |
tn | is the starting tree node |
special care is reserved for identifier_nodes
Definition at line 868 of file tree_nodes_merger.cpp.
References ATTR_MACRO, ATTR_SEQ, object_visitor::BOOST_PP_SEQ_FOR_EACH(), CREATE_TREE_NODE_CASE_BODY, refcount< T >::get(), tree_node::get_kind(), tree_node::get_kind_text(), template_id_expr(), THROW_ASSERT, THROW_ERROR, tree_node_reached::TM, typename_type(), and using_decl().
Referenced by tree_manager::merge_tree_managers().
|
private |
current basic block pointer
Definition at line 114 of file tree_nodes_merger.hpp.
|
private |
current tree node filled according to the tree_node_schema
Definition at line 112 of file tree_nodes_merger.hpp.
|
private |
remap old indexes in new indexes
Definition at line 106 of file tree_nodes_merger.hpp.
|
private |
current basic block source
Definition at line 118 of file tree_nodes_merger.hpp.
|
private |
current tree_node source
Definition at line 116 of file tree_nodes_merger.hpp.
|
private |
tree manager
Definition at line 109 of file tree_nodes_merger.hpp.