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

AGGR_INIT_EXPRs have a variably-sized representation similar to that of CALL_EXPRs. More...

#include <tree_node.hpp>

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

Public Types

enum  { GETID =(call_expr) = 0, GETID =(call_expr) = 0 }
 visitor enum More...
 
- Public Types inherited from call_expr
enum  { GETID =(expr_node) = 0, 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

 aggr_init_expr (unsigned int i)
 constructor More...
 
void visit (tree_node_visitor *const v) const override
 Redefinition of get_kind_text. More...
 
- Public Member Functions inherited from call_expr
 call_expr (unsigned int i)
 constructor More...
 
void AddArg (const tree_nodeRef &arg)
 Add an argument to the list of arguments. 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

int ctor
 operand count More...
 
tree_nodeRef slot
 slot is the slot which was allocated for this expression More...
 
- Data Fields inherited from call_expr
tree_nodeRef fn
 fn is the operand 0 of the call expression: this is the function More...
 
std::vector< tree_nodeRefargs
 The arguments of the call_expr. 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...
 

Detailed Description

AGGR_INIT_EXPRs have a variably-sized representation similar to that of CALL_EXPRs.

Operand 0 is an INTEGER_CST node containing the operand count, operand 1 is the function which performs initialization, operand 2 is the slot which was allocated for this expression, and the remaining operands are the arguments to the initialization function.

Definition at line 1919 of file tree_node.hpp.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

visitor enum

Enumerator
GETID 
GETID 

Definition at line 1943 of file tree_node.hpp.

Constructor & Destructor Documentation

◆ aggr_init_expr()

aggr_init_expr::aggr_init_expr ( unsigned int  i)
explicit

constructor

Definition at line 611 of file tree_node.cpp.

Member Function Documentation

◆ visit()

void aggr_init_expr::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 call_expr.

Definition at line 603 of file tree_node.cpp.

References ALL_VISIT, call_expr::visit(), VISIT_MEMBER, and VISIT_SC.

Here is the call graph for this function:

Field Documentation

◆ ctor

int aggr_init_expr::ctor

operand count

Definition at line 1925 of file tree_node.hpp.

Referenced by GimpleWriter::GimpleWriter(), and raw_writer::write_when_not_null_point_to().

◆ slot

tree_nodeRef aggr_init_expr::slot

slot is the slot which was allocated for this expression

Definition at line 1928 of file tree_node.hpp.

Referenced by GimpleWriter::GimpleWriter(), and 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:03:43 for PandA-2024.02 by doxygen 1.8.13