|
using | FuncStringSetMap = std::map< ShPtr< Function >, StringSet > |
| Mapping of a function into a set of strings. More...
|
|
using | FuncByNameMap = std::map< std::string, ShPtr< Function > > |
| Mapping of a function's name into the function. More...
|
|
| VarRenamer (ShPtr< VarNameGen > varNameGen, bool useDebugNames=true) |
| Constructs a new variable renamer. More...
|
|
void | assignName (ShPtr< Variable > var, const std::string &name, ShPtr< Function > func=nullptr) |
| Assigns name to the given variable var, possibly in the given function. More...
|
|
void | assignNameFromDebugInfoIfAvail (ShPtr< Variable > var, ShPtr< Function > func=nullptr) |
| Assigns the name from debug information (if available) to the given variable. More...
|
|
bool | isGlobalVar (ShPtr< Variable > var) const |
| Returns true if the given variable is global, false otherwise. More...
|
|
bool | isFunc (ShPtr< Variable > var) const |
| Returns true if the given variable corresponds to a function, false otherwise. More...
|
|
bool | hasBeenRenamed (ShPtr< Variable > var) const |
| Returns true if the given variable has already been renamed, false otherwise. More...
|
|
bool | nameExists (const std::string &name, ShPtr< Function > func=nullptr) const |
| Returns true if the given name has already been assigned, false otherwise. More...
|
|
ShPtr< Function > | getFuncByName (const std::string &name) const |
| Returns a function with the given name. More...
|
|
virtual void | doVarsRenaming () |
| Renames the variables in module . More...
|
|
virtual void | renameUsingDebugNames () |
| Renames all variables in the module by using the assigned names from debug information. More...
|
|
virtual void | renameGlobalVars () |
| Renames all global variables in the module. More...
|
|
virtual void | renameVarsInFuncs () |
| Renames the variables in all functions. More...
|
|
virtual void | visit (ShPtr< Variable > var) override |
|
virtual void | visit (ShPtr< GlobalVarDef > varDef) override |
|
virtual void | visit (ShPtr< Function > func) override |
|
virtual void | visit (ShPtr< AssignStmt > stmt) override |
|
virtual void | visit (ShPtr< BreakStmt > stmt) override |
|
virtual void | visit (ShPtr< CallStmt > stmt) override |
|
virtual void | visit (ShPtr< ContinueStmt > stmt) override |
|
virtual void | visit (ShPtr< EmptyStmt > stmt) override |
|
virtual void | visit (ShPtr< ForLoopStmt > stmt) override |
|
virtual void | visit (ShPtr< UForLoopStmt > stmt) override |
|
virtual void | visit (ShPtr< GotoStmt > stmt) override |
|
virtual void | visit (ShPtr< IfStmt > stmt) override |
|
virtual void | visit (ShPtr< ReturnStmt > stmt) override |
|
virtual void | visit (ShPtr< SwitchStmt > stmt) override |
|
virtual void | visit (ShPtr< UnreachableStmt > stmt) override |
|
virtual void | visit (ShPtr< VarDefStmt > stmt) override |
|
virtual void | visit (ShPtr< WhileLoopStmt > stmt) override |
|
virtual void | visit (ShPtr< AddOpExpr > expr) override |
|
virtual void | visit (ShPtr< AddressOpExpr > expr) override |
|
virtual void | visit (ShPtr< AndOpExpr > expr) override |
|
virtual void | visit (ShPtr< ArrayIndexOpExpr > expr) override |
|
virtual void | visit (ShPtr< AssignOpExpr > expr) override |
|
virtual void | visit (ShPtr< BitAndOpExpr > expr) override |
|
virtual void | visit (ShPtr< BitOrOpExpr > expr) override |
|
virtual void | visit (ShPtr< BitShlOpExpr > expr) override |
|
virtual void | visit (ShPtr< BitShrOpExpr > expr) override |
|
virtual void | visit (ShPtr< BitXorOpExpr > expr) override |
|
virtual void | visit (ShPtr< CallExpr > expr) override |
|
virtual void | visit (ShPtr< CommaOpExpr > expr) override |
|
virtual void | visit (ShPtr< DerefOpExpr > expr) override |
|
virtual void | visit (ShPtr< DivOpExpr > expr) override |
|
virtual void | visit (ShPtr< EqOpExpr > expr) override |
|
virtual void | visit (ShPtr< GtEqOpExpr > expr) override |
|
virtual void | visit (ShPtr< GtOpExpr > expr) override |
|
virtual void | visit (ShPtr< LtEqOpExpr > expr) override |
|
virtual void | visit (ShPtr< LtOpExpr > expr) override |
|
virtual void | visit (ShPtr< ModOpExpr > expr) override |
|
virtual void | visit (ShPtr< MulOpExpr > expr) override |
|
virtual void | visit (ShPtr< NegOpExpr > expr) override |
|
virtual void | visit (ShPtr< NeqOpExpr > expr) override |
|
virtual void | visit (ShPtr< NotOpExpr > expr) override |
|
virtual void | visit (ShPtr< OrOpExpr > expr) override |
|
virtual void | visit (ShPtr< StructIndexOpExpr > expr) override |
|
virtual void | visit (ShPtr< SubOpExpr > expr) override |
|
virtual void | visit (ShPtr< TernaryOpExpr > expr) override |
|
virtual void | visit (ShPtr< Variable > var) override |
|
virtual void | visit (ShPtr< BitCastExpr > expr) override |
|
virtual void | visit (ShPtr< ExtCastExpr > expr) override |
|
virtual void | visit (ShPtr< FPToIntCastExpr > expr) override |
|
virtual void | visit (ShPtr< IntToFPCastExpr > expr) override |
|
virtual void | visit (ShPtr< IntToPtrCastExpr > expr) override |
|
virtual void | visit (ShPtr< PtrToIntCastExpr > expr) override |
|
virtual void | visit (ShPtr< TruncCastExpr > expr) override |
|
virtual void | visit (ShPtr< ConstArray > constant) override |
|
virtual void | visit (ShPtr< ConstBool > constant) override |
|
virtual void | visit (ShPtr< ConstFloat > constant) override |
|
virtual void | visit (ShPtr< ConstInt > constant) override |
|
virtual void | visit (ShPtr< ConstNullPointer > constant) override |
|
virtual void | visit (ShPtr< ConstString > constant) override |
|
virtual void | visit (ShPtr< ConstStruct > constant) override |
|
virtual void | visit (ShPtr< ConstSymbol > constant) override |
|
virtual void | visit (ShPtr< ArrayType > type) override |
|
virtual void | visit (ShPtr< FloatType > type) override |
|
virtual void | visit (ShPtr< IntType > type) override |
|
virtual void | visit (ShPtr< PointerType > type) override |
|
virtual void | visit (ShPtr< StringType > type) override |
|
virtual void | visit (ShPtr< StructType > type) override |
|
virtual void | visit (ShPtr< FunctionType > type) override |
|
virtual void | visit (ShPtr< VoidType > type) override |
|
virtual void | visit (ShPtr< UnknownType > type) override |
|
| OrderedAllVisitor (bool visitSuccessors=true, bool visitNestedStmts=true) |
| Constructs a new visitor. More...
|
|
virtual void | visitStmt (ShPtr< Statement > stmt, bool visitSuccessors=true, bool visitNestedStmts=true) |
| Visits the given statement, and possibly its successors or nested statements. More...
|
|
void | restart (bool visitSuccessors=true, bool visitNestedStmts=true) |
| "Restarts" the visitor so it is in the state like it was when it was created. More...
|
|
bool | makeAccessedAndCheckIfAccessed (ShPtr< Type > type) |
| Makes the given type accessed. More...
|
|
virtual void | visit (ShPtr< GlobalVarDef > varDef) override |
|
virtual void | visit (ShPtr< Function > func) override |
|
virtual void | visit (ShPtr< AssignStmt > stmt) override |
|
virtual void | visit (ShPtr< BreakStmt > stmt) override |
|
virtual void | visit (ShPtr< CallStmt > stmt) override |
|
virtual void | visit (ShPtr< ContinueStmt > stmt) override |
|
virtual void | visit (ShPtr< EmptyStmt > stmt) override |
|
virtual void | visit (ShPtr< ForLoopStmt > stmt) override |
|
virtual void | visit (ShPtr< UForLoopStmt > stmt) override |
|
virtual void | visit (ShPtr< GotoStmt > stmt) override |
|
virtual void | visit (ShPtr< IfStmt > stmt) override |
|
virtual void | visit (ShPtr< ReturnStmt > stmt) override |
|
virtual void | visit (ShPtr< SwitchStmt > stmt) override |
|
virtual void | visit (ShPtr< UnreachableStmt > stmt) override |
|
virtual void | visit (ShPtr< VarDefStmt > stmt) override |
|
virtual void | visit (ShPtr< WhileLoopStmt > stmt) override |
|
virtual void | visit (ShPtr< AddOpExpr > expr) override |
|
virtual void | visit (ShPtr< AddressOpExpr > expr) override |
|
virtual void | visit (ShPtr< AndOpExpr > expr) override |
|
virtual void | visit (ShPtr< ArrayIndexOpExpr > expr) override |
|
virtual void | visit (ShPtr< AssignOpExpr > expr) override |
|
virtual void | visit (ShPtr< BitAndOpExpr > expr) override |
|
virtual void | visit (ShPtr< BitOrOpExpr > expr) override |
|
virtual void | visit (ShPtr< BitShlOpExpr > expr) override |
|
virtual void | visit (ShPtr< BitShrOpExpr > expr) override |
|
virtual void | visit (ShPtr< BitXorOpExpr > expr) override |
|
virtual void | visit (ShPtr< CallExpr > expr) override |
|
virtual void | visit (ShPtr< CommaOpExpr > expr) override |
|
virtual void | visit (ShPtr< DerefOpExpr > expr) override |
|
virtual void | visit (ShPtr< DivOpExpr > expr) override |
|
virtual void | visit (ShPtr< EqOpExpr > expr) override |
|
virtual void | visit (ShPtr< GtEqOpExpr > expr) override |
|
virtual void | visit (ShPtr< GtOpExpr > expr) override |
|
virtual void | visit (ShPtr< LtEqOpExpr > expr) override |
|
virtual void | visit (ShPtr< LtOpExpr > expr) override |
|
virtual void | visit (ShPtr< ModOpExpr > expr) override |
|
virtual void | visit (ShPtr< MulOpExpr > expr) override |
|
virtual void | visit (ShPtr< NegOpExpr > expr) override |
|
virtual void | visit (ShPtr< NeqOpExpr > expr) override |
|
virtual void | visit (ShPtr< NotOpExpr > expr) override |
|
virtual void | visit (ShPtr< OrOpExpr > expr) override |
|
virtual void | visit (ShPtr< StructIndexOpExpr > expr) override |
|
virtual void | visit (ShPtr< SubOpExpr > expr) override |
|
virtual void | visit (ShPtr< TernaryOpExpr > expr) override |
|
virtual void | visit (ShPtr< BitCastExpr > expr) override |
|
virtual void | visit (ShPtr< ExtCastExpr > expr) override |
|
virtual void | visit (ShPtr< FPToIntCastExpr > expr) override |
|
virtual void | visit (ShPtr< IntToFPCastExpr > expr) override |
|
virtual void | visit (ShPtr< IntToPtrCastExpr > expr) override |
|
virtual void | visit (ShPtr< PtrToIntCastExpr > expr) override |
|
virtual void | visit (ShPtr< TruncCastExpr > expr) override |
|
virtual void | visit (ShPtr< ConstArray > constant) override |
|
virtual void | visit (ShPtr< ConstBool > constant) override |
|
virtual void | visit (ShPtr< ConstFloat > constant) override |
|
virtual void | visit (ShPtr< ConstInt > constant) override |
|
virtual void | visit (ShPtr< ConstNullPointer > constant) override |
|
virtual void | visit (ShPtr< ConstString > constant) override |
|
virtual void | visit (ShPtr< ConstStruct > constant) override |
|
virtual void | visit (ShPtr< ConstSymbol > constant) override |
|
virtual void | visit (ShPtr< ArrayType > type) override |
|
virtual void | visit (ShPtr< FloatType > type) override |
|
virtual void | visit (ShPtr< IntType > type) override |
|
virtual void | visit (ShPtr< PointerType > type) override |
|
virtual void | visit (ShPtr< StringType > type) override |
|
virtual void | visit (ShPtr< StructType > type) override |
|
virtual void | visit (ShPtr< FunctionType > type) override |
|
virtual void | visit (ShPtr< VoidType > type) override |
|
virtual void | visit (ShPtr< UnknownType > type) override |
|
| Visitor ()=default |
|
virtual | ~Visitor ()=default |
|
ShPtr< VarNameGen > | varNameGen |
| Used generator of variable names. More...
|
|
bool | useDebugNames |
| Should we use variable names from debugging information? More...
|
|
ShPtr< Module > | module |
| Module in which the variables are being renamed. More...
|
|
VarSet | globalVars |
|
FuncByNameMap | funcsByName |
|
VarSet | renamedVars |
| Variables which have already been renamed. More...
|
|
StringSet | globalVarsNames |
| Assigned names of global variables. More...
|
|
FuncStringSetMap | localVarsNames |
|
ShPtr< Function > | currFunc |
| The currently visited function. More...
|
|
ShPtr< Statement > | lastStmt |
| Statement that has been accessed as the last one. More...
|
|
StmtUSet | accessedStmts |
| A set of all accessed statements. More...
|
|
TypeUSet | accessedTypes |
| A set of all accessed types. More...
|
|
bool | visitSuccessors |
| Should statements' successor be accessed? More...
|
|
bool | visitNestedStmts |
| Should nested statements be accessed? More...
|
|
A renamer of variable names which names the variables gX
(global variables), aX
(parameters), and vX
(local variables).
Use create() to create instances.