retdec
hungarian_var_renamer.h
Go to the documentation of this file.
1 
7 #ifndef RETDEC_LLVMIR2HLL_VAR_RENAMER_VAR_RENAMERS_HUNGARIAN_VAR_RENAMER_H
8 #define RETDEC_LLVMIR2HLL_VAR_RENAMER_VAR_RENAMERS_HUNGARIAN_VAR_RENAMER_H
9 
10 #include <string>
11 
14 
15 namespace retdec {
16 namespace llvmir2hll {
17 
18 class VarNameGen;
19 
35 public:
37  bool useDebugNames = true);
38 
39  virtual std::string getId() const override;
40 
41 private:
43 
44  virtual void renameGlobalVar(ShPtr<Variable> var) override;
45  virtual void renameVarsInFunc(ShPtr<Function> func) override;
46  virtual void renameFuncParam(ShPtr<Variable> var,
47  ShPtr<Function> func) override;
48  virtual void renameFuncLocalVar(ShPtr<Variable> var,
49  ShPtr<Function> func) override;
50 
51 private:
54 
57 
60 };
61 
62 } // namespace llvmir2hll
63 } // namespace retdec
64 
65 #endif
A renamer of variable names by using the Hungarian notation.
Definition: hungarian_var_renamer.h:34
HungarianVarRenamer(ShPtr< VarNameGen > varNameGen, bool useDebugNames)
Constructs a new renamer.
Definition: hungarian_var_renamer.cpp:71
UPtr< VarNameGen > localVarNameGen
Generator of names for local variables.
Definition: hungarian_var_renamer.h:59
virtual void renameFuncParam(ShPtr< Variable > var, ShPtr< Function > func) override
Renames the given parameter var of function func.
Definition: hungarian_var_renamer.cpp:113
virtual void renameVarsInFunc(ShPtr< Function > func) override
Renames variables in the given function.
Definition: hungarian_var_renamer.cpp:106
UPtr< VarNameGen > paramVarNameGen
Generator of names for parameters.
Definition: hungarian_var_renamer.h:56
static ShPtr< VarRenamer > create(ShPtr< VarNameGen > varNameGen, bool useDebugNames=true)
Creates a new renamer.
Definition: hungarian_var_renamer.cpp:88
virtual void renameFuncLocalVar(ShPtr< Variable > var, ShPtr< Function > func) override
Renames the given local variable var of function func.
Definition: hungarian_var_renamer.cpp:121
UPtr< VarNameGen > globalVarNameGen
Generator of names for global variables.
Definition: hungarian_var_renamer.h:53
virtual void renameGlobalVar(ShPtr< Variable > var) override
Renames the given global variable.
Definition: hungarian_var_renamer.cpp:99
virtual std::string getId() const override
Returns the ID of the renamer.
Definition: hungarian_var_renamer.cpp:95
A base class for all variable renamers.
Definition: var_renamer.h:49
ShPtr< VarNameGen > varNameGen
Used generator of variable names.
Definition: var_renamer.h:110
bool useDebugNames
Should we use variable names from debugging information?
Definition: var_renamer.h:113
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
std::unique_ptr< T > UPtr
An alias for a unique pointer.
Definition: smart_ptr.h:26
Definition: archive_wrapper.h:19
Declarations, aliases, macros, etc. for the use of smart pointers.
A base class for all variable renamers.