PandA-2024.02
Public Types | Public Member Functions | Data Fields
statement_list Struct Reference

This struct specifies the statement_list node. More...

#include <tree_node.hpp>

Inheritance diagram for statement_list:
Inheritance graph
[legend]
Collaboration diagram for statement_list:
Collaboration graph
[legend]

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_nodeReflist_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...
 

Detailed Description

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.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

visitor enum

Enumerator
GETID 
GETID 

Definition at line 4703 of file tree_node.hpp.

Constructor & Destructor Documentation

◆ statement_list()

statement_list::statement_list ( unsigned int  i)
inlineexplicit

constructor

Definition at line 4665 of file tree_node.hpp.

Member Function Documentation

◆ add_bloc()

void statement_list::add_bloc ( const blocRef &  a)

Add a value to list of basic block.

Parameters
ais a NODE_ID.

Definition at line 1380 of file tree_node.cpp.

◆ add_stmt()

void statement_list::add_stmt ( const tree_nodeRef a)
inline

Add a value to list of stmt.

Parameters
ais a NODE_ID.

Definition at line 4685 of file tree_node.hpp.

References GET_KIND, and GET_KIND_TEXT.

◆ visit()

void statement_list::visit ( tree_node_visitor *const  v) const
overridevirtual

Redefinition of get_kind_text.

Redefinition of get_kind. virtual function used to traverse the tree_node data structure.

Parameters
vis 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.

Here is the call graph for this function:

Field Documentation

◆ list_of_bloc

std::map<unsigned int, blocRef> statement_list::list_of_bloc

◆ list_of_stmt

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().


The documentation for this struct was generated from the following files:

Generated on Mon Feb 12 2024 13:04:03 for PandA-2024.02 by doxygen 1.8.13