7 #ifndef RETDEC_LLVMIR2HLL_SUPPORT_VISITORS_ORDERED_ALL_VISITOR_H
8 #define RETDEC_LLVMIR2HLL_SUPPORT_VISITORS_ORDERED_ALL_VISITOR_H
A visitor that visits everything in an ordered way.
Definition: ordered_all_visitor.h:44
OrderedAllVisitor(bool visitSuccessors=true, bool visitNestedStmts=true)
Constructs a new visitor.
Definition: ordered_all_visitor.cpp:91
ShPtr< Statement > lastStmt
Statement that has been accessed as the last one.
Definition: ordered_all_visitor.h:135
void restart(bool visitSuccessors=true, bool visitNestedStmts=true)
"Restarts" the visitor so it is in the state like it was when it was created.
Definition: ordered_all_visitor.cpp:588
TypeUSet accessedTypes
A set of all accessed types.
Definition: ordered_all_visitor.h:141
bool visitSuccessors
Should statements' successor be accessed?
Definition: ordered_all_visitor.h:144
bool makeAccessedAndCheckIfAccessed(ShPtr< Type > type)
Makes the given type accessed.
Definition: ordered_all_visitor.cpp:600
virtual void visit(ShPtr< GlobalVarDef > varDef) override
Definition: ordered_all_visitor.cpp:95
bool visitNestedStmts
Should nested statements be accessed?
Definition: ordered_all_visitor.h:147
virtual void visitStmt(ShPtr< Statement > stmt, bool visitSuccessors=true, bool visitNestedStmts=true)
Visits the given statement, and possibly its successors or nested statements.
Definition: ordered_all_visitor.cpp:571
StmtUSet accessedStmts
A set of all accessed statements.
Definition: ordered_all_visitor.h:138
A base class of all visitors.
Definition: visitor.h:95
A base class of all visitors.
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::unordered_set< ShPtr< Statement > > StmtUSet
Unordered set of statements.
Definition: types.h:81
std::unordered_set< ShPtr< Type > > TypeUSet
Unordered set of types.
Definition: types.h:84
Definition: archive_wrapper.h:19
Declarations, aliases, macros, etc. for the use of smart pointers.
Aliases for several useful types.