PandA-2024.02
Public Member Functions | Private Attributes
CalledFunctionsVisitor Struct Reference

Visitor to identify the list of called functions. More...

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

Public Member Functions

 CalledFunctionsVisitor (const bool _allow_recursive_functions, const CallGraphManager *_call_graph_manager, CustomSet< unsigned int > &_body_functions, CustomSet< unsigned int > &_library_functions)
 Constructor. More...
 
void back_edge (const EdgeDescriptor &e, const CallGraph &g)
 
void finish_vertex (const vertex &u, const CallGraph &g)
 Function called when a vertex has been finished. More...
 

Private Attributes

const bool allow_recursive_functions
 True if recursive calls are allowed. More...
 
const CallGraphManagercall_graph_manager
 The call graph manager. More...
 
CustomSet< unsigned int > & body_functions
 The list of encountered body functions. More...
 
CustomSet< unsigned int > & library_functions
 The list of encountered library functions. More...
 

Detailed Description

Visitor to identify the list of called functions.

Definition at line 87 of file call_graph_manager.cpp.

Constructor & Destructor Documentation

◆ CalledFunctionsVisitor()

CalledFunctionsVisitor::CalledFunctionsVisitor ( const bool  _allow_recursive_functions,
const CallGraphManager _call_graph_manager,
CustomSet< unsigned int > &  _body_functions,
CustomSet< unsigned int > &  _library_functions 
)
inline

Constructor.

Parameters
allow_recursive_functionstells if recursive functions are allowed
call_graph_manageris the call graph manager
body_functionsis where results will be stored
library_functionsis where results will be stored

Definition at line 110 of file call_graph_manager.cpp.

Member Function Documentation

◆ back_edge()

void CalledFunctionsVisitor::back_edge ( const EdgeDescriptor e,
const CallGraph g 
)
inline

Definition at line 119 of file call_graph_manager.cpp.

References CallGraph::CGetCallGraphInfo(), CallGraphManager::get_function(), lenet_tvm::target, and THROW_ERROR.

Here is the call graph for this function:

◆ finish_vertex()

void CalledFunctionsVisitor::finish_vertex ( const vertex u,
const CallGraph g 
)
inline

Function called when a vertex has been finished.

Parameters
uis the vertex
call_graphis the call graph

Definition at line 139 of file call_graph_manager.cpp.

References CallGraph::CGetCallGraphInfo().

Here is the call graph for this function:

Field Documentation

◆ allow_recursive_functions

const bool CalledFunctionsVisitor::allow_recursive_functions
private

True if recursive calls are allowed.

Definition at line 91 of file call_graph_manager.cpp.

◆ body_functions

CustomSet<unsigned int>& CalledFunctionsVisitor::body_functions
private

The list of encountered body functions.

Definition at line 97 of file call_graph_manager.cpp.

◆ call_graph_manager

const CallGraphManager* CalledFunctionsVisitor::call_graph_manager
private

The call graph manager.

Definition at line 94 of file call_graph_manager.cpp.

◆ library_functions

CustomSet<unsigned int>& CalledFunctionsVisitor::library_functions
private

The list of encountered library functions.

Definition at line 100 of file call_graph_manager.cpp.


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

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