7 #ifndef RETDEC_LLVMIR2HLL_GRAPHS_CG_CG_BUILDER_H
8 #define RETDEC_LLVMIR2HLL_GRAPHS_CG_CG_BUILDER_H
A representation of a call graph (CG).
A creator of call graphs (CGs) from modules.
Definition: cg_builder.h:26
ShPtr< CG::CalledFuncs > computeCGPartForFunction(ShPtr< Function > func)
Computes a part of the call graph from the given function and returns it.
Definition: cg_builder.cpp:57
ShPtr< CG::CalledFuncs > calledFuncs
CalledFuncs that is currently being built.
Definition: cg_builder.h:47
virtual void visit(ShPtr< GlobalVarDef > varDef) override
Definition: ordered_all_visitor.cpp:95
static ShPtr< CG > getCG(ShPtr< Module > module)
Returns a CG of the given module.
Definition: cg_builder.cpp:31
void computeCG()
Computes the CG.
Definition: cg_builder.cpp:43
CGBuilder(ShPtr< Module > module)
Constructs a new builder.
Definition: cg_builder.cpp:22
ShPtr< CG > cg
CG that is currently being built.
Definition: cg_builder.h:44
A visitor that visits everything in an ordered way.
Definition: ordered_all_visitor.h:44
virtual void visit(ShPtr< GlobalVarDef > varDef) override
Definition: ordered_all_visitor.cpp:95
A mixin to make classes non-copyable.
Definition: non_copyable.h:27
ShPtr< Module > module
The current module.
Definition: hll_writer.cpp:100
A library providing API for working with back-end IR.
std::shared_ptr< T > ShPtr
An alias for a shared pointer.
Definition: smart_ptr.h:18
Definition: archive_wrapper.h:19
A mixin to make classes non-copyable.
A visitor that visits everything in an ordered way.
Declarations, aliases, macros, etc. for the use of smart pointers.