7 #ifndef RETDEC_LLVMIR2HLL_SUPPORT_EXPR_TYPES_FIXER_H
8 #define RETDEC_LLVMIR2HLL_SUPPORT_EXPR_TYPES_FIXER_H
A visitor for fixing the types in the IR.
Definition: expr_types_fixer.h:57
void setProbablyTypes(ShPtr< Module > module)
Sets the probably types based on statistics. Statistics are from ExprTypesAnalysis.
Definition: expr_types_fixer.cpp:50
static void fixTypes(ShPtr< Module > module)
Fixes some types to correct type.
Definition: expr_types_fixer.cpp:169
ShPtr< Expression > exprCheckAndChange(bool isSigned, ShPtr< Expression > expr)
Checks that types of expressions are correct or not. If not returns cast to correct type.
Definition: expr_types_fixer.cpp:147
ExprTypesFixer()
Constructs a new visitor.
Definition: expr_types_fixer.cpp:41
virtual void visit(ShPtr< GlobalVarDef > varDef) override
Definition: ordered_all_visitor.cpp:95
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.
Aliases for several useful types.