|  | PandA-2024.02
    | 
This struct specifies the statement_list node. More...
#include <tree_node.hpp>


| Public Types | |
| enum | { GETID =(tree_node) = 0, GETID =(tree_node) = 0 } | 
| visitor enum  More... | |
| Public Member Functions | |
| statement_list (unsigned int i) | |
| constructor  More... | |
| void | add_bloc (const blocRef &a) | 
| Add a value to list of basic block.  More... | |
| void | add_stmt (const tree_nodeRef &a) | 
| Add a value to list of stmt.  More... | |
| void | visit (tree_node_visitor *const v) const override | 
| Redefinition of get_kind_text.  More... | |
|  Public Member Functions inherited from tree_node | |
| tree_node (unsigned int i) | |
| Constructor.  More... | |
| virtual | ~tree_node ()=default | 
| Destructor.  More... | |
| virtual enum kind | get_kind () const =0 | 
| Virtual function returning the type of the actual class.  More... | |
| virtual std::string | get_kind_text () const =0 | 
| Virtual function returning the name of the actual class.  More... | |
| std::string | ToString () const | 
| Print this node as string in gimple format.  More... | |
| Data Fields | |
| std::list< tree_nodeRef > | list_of_stmt | 
| list_of_stmt field is the list of statements. If this field is null then the list_of_bloc field is not null.  More... | |
| std::map< unsigned int, blocRef > | list_of_bloc | 
| list_of_bloc field is the list of basic block. If this field is null then the list_of_stmt field is not null.  More... | |
|  Data Fields inherited from tree_node | |
| const unsigned int | index | 
| Represent the index read from the raw file and the index-1 of the vector of tree_node associated to the functions vector present in the tree_manager.  More... | |
| Additional Inherited Members | |
|  Static Public Member Functions inherited from tree_node | |
| static enum kind | get_kind (const std::string &name) | 
| Given a string, return the corresponding kind.  More... | |
| static std::string | GetString (const enum kind k) | 
| Given a kind, return the corresponding string.  More... | |
This struct specifies the statement_list node.
Used to chain children of container statements together. The tree walker structure of this node is: #(TOK_STATEMENT_LIST( (stmt)+ | (bloc)+ )?)
Definition at line 4662 of file tree_node.hpp.
| anonymous enum | 
| 
 | inlineexplicit | 
constructor
Definition at line 4665 of file tree_node.hpp.
| void statement_list::add_bloc | ( | const blocRef & | a | ) | 
Add a value to list of basic block.
| a | is a NODE_ID. | 
Definition at line 1380 of file tree_node.cpp.
| 
 | inline | 
Add a value to list of stmt.
| a | is a NODE_ID. | 
Definition at line 4685 of file tree_node.hpp.
References GET_KIND, and GET_KIND_TEXT.
| 
 | overridevirtual | 
Redefinition of get_kind_text.
Redefinition of get_kind. virtual function used to traverse the tree_node data structure.
| v | is a reference to the tree_node visitor class | 
Reimplemented from tree_node.
Definition at line 1385 of file tree_node.cpp.
References ALL_VISIT, SEQ_VISIT_MEMBER, ssa_name::visit(), VISIT_MEMBER_NAMED, and VISIT_SC.

| std::map<unsigned int, blocRef> statement_list::list_of_bloc | 
list_of_bloc field is the list of basic block. If this field is null then the list_of_stmt field is not null.
Definition at line 4673 of file tree_node.hpp.
Referenced by PhiOpt::ApplyDiffNothing(), PhiOpt::ApplyGimpleNothing(), PhiOpt::ApplyIfMerge(), PhiOpt::ApplyIfNothing(), PhiOpt::ApplyIfRemove(), PhiOpt::ApplyMultiMerge(), PhiOpt::ApplyMultiNothing(), PhiOpt::ApplyMultiRemove(), PhiOpt::ChainOptimization(), FunctionCallOpt::compute_cost(), FunctionCallOpt::detect_loops(), multi_way_if::FixCfg(), GimpleWriter::GimpleWriter(), tree_helper::has_omp_simd(), CSE::hash_check(), PhiOpt::IdentifyPattern(), RemoveEndingIf::InternalExec(), multi_way_if::InternalExec(), MultipleEntryIfReduction::InternalExec(), PhiOpt::InternalExec(), materializeStack(), PhiOpt::MergePhi(), dead_code_elimination::move2emptyBB(), PhiOpt::RemoveCondExpr(), compute_implicit_calls::replace_with_memcpy(), compute_implicit_calls::replace_with_memset(), PhiOpt::SinglePhiOptimization(), NI_SSA_liveness::Up_and_Mark(), multi_way_if::UpdateCfg(), and raw_writer::write_when_not_null_point_to().
| std::list<tree_nodeRef> statement_list::list_of_stmt | 
list_of_stmt field is the list of statements. If this field is null then the list_of_bloc field is not null.
Definition at line 4670 of file tree_node.hpp.
Referenced by raw_writer::write_when_not_null_point_to().
 1.8.13
 1.8.13