7 #ifndef RETDEC_LLVMIR2HLL_ANALYSIS_NULL_POINTER_ANALYSIS_H
8 #define RETDEC_LLVMIR2HLL_ANALYSIS_NULL_POINTER_ANALYSIS_H
Analysis of the use of null pointers.
Definition: null_pointer_analysis.h:26
bool foundNullPointer
Has the null pointer been found?
Definition: null_pointer_analysis.h:48
static bool useNullPointers(ShPtr< Module > module)
Returns true if module uses null pointers, false otherwise.
Definition: null_pointer_analysis.cpp:33
ShPtr< Module > module
The module to be checked.
Definition: null_pointer_analysis.h:45
void analyzeAllFunctions()
Analyzes all functions in the module for the use of null pointers.
Definition: null_pointer_analysis.cpp:68
NullPointerAnalysis(ShPtr< Module > module)
Constructs a new analysis.
Definition: null_pointer_analysis.cpp:22
void analyzeAllGlobalVariables()
Analyzes all global variables in the module for the use of null pointers.
Definition: null_pointer_analysis.cpp:53
virtual void visit(ShPtr< GlobalVarDef > varDef) override
Definition: ordered_all_visitor.cpp:95
void analyzeNullPointersUsage()
Analyses the module for the use of null pointers.
Definition: null_pointer_analysis.cpp: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
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.