PandA-2024.02
|
GIMPLE_BIND <VARS, BLOCK, BODY> represents a lexical scope. More...
#include <tree_node.hpp>
Public Types | |
enum | { GETID =(expr_node) = 0, GETID =(expr_node) = 0 } |
visitor enum More... | |
Public Types inherited from expr_node | |
enum | { GETID =(srcp) = 0, GETID =(srcp) = 0 } |
visitor enum More... | |
Public Types inherited from WeightedNode | |
enum | { GETID =(tree_node) = 0 } |
visitor enum More... | |
Public Member Functions | |
gimple_bind (unsigned int i) | |
constructor More... | |
void | add_vars (const tree_nodeRef &a) |
Add a var to list of vars. More... | |
void | visit (tree_node_visitor *const v) const override |
Redefinition of get_kind_text. More... | |
Public Member Functions inherited from expr_node | |
expr_node (unsigned int i) | |
constructor More... | |
Public Member Functions inherited from srcp | |
srcp () | |
constructor More... | |
virtual | ~srcp () |
Destructor. More... | |
Public Member Functions inherited from WeightedNode | |
WeightedNode (unsigned int i) | |
Constructor. 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::vector< tree_nodeRef > | list_of_vars |
vars is the operand 0 (GIMPLE_BIND_VARS), this is a chain of VAR_DECL nodes for the variables. More... | |
tree_nodeRef | body |
body is the operand 1 (GIMPLE_BIND_BODY), this is the body, the expression to be computed using the variables. More... | |
Data Fields inherited from expr_node | |
tree_nodeRef | type |
type of the expression More... | |
Data Fields inherited from srcp | |
std::string | include_name |
include_name is a filename string, this can be the location of a reference, if no definition has been seen. More... | |
unsigned int | line_number |
line_number holds a line number. More... | |
unsigned int | column_number |
column_number holds the column number. 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... | |
GIMPLE_BIND <VARS, BLOCK, BODY> represents a lexical scope.
VARS is the set of variables declared in that scope. BLOCK is the symbol binding block used for debug information. BODY is the sequence of statements in the scope. #(TOK_GIMPLE_BIND (vars)? body)
Definition at line 1664 of file tree_node.hpp.
anonymous enum |
|
inlineexplicit |
constructor
Definition at line 1667 of file tree_node.hpp.
|
inline |
Add a var to list of vars.
a | is a NODE_ID. |
Definition at line 1682 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 expr_node.
Definition at line 465 of file tree_node.cpp.
References ALL_VISIT, SEQ_VISIT_MEMBER, type_node::visit(), VISIT_MEMBER, and VISIT_SC.
tree_nodeRef gimple_bind::body |
body is the operand 1 (GIMPLE_BIND_BODY), this is the body, the expression to be computed using the variables.
The value of operand 1 becomes that of the GIMPLE_BIND.
Definition at line 1676 of file tree_node.hpp.
Referenced by raw_writer::write_when_not_null_point_to().
std::vector<tree_nodeRef> gimple_bind::list_of_vars |
vars is the operand 0 (GIMPLE_BIND_VARS), this is a chain of VAR_DECL nodes for the variables.
Definition at line 1672 of file tree_node.hpp.
Referenced by raw_writer::write_when_not_null_point_to().