retdec
|
Interface for classes whose instances are visitable by a Visitor. More...
#include <visitable.h>
Public Member Functions | |
virtual void | accept (Visitor *v)=0 |
Visitor pattern implementation. More... | |
Protected Member Functions | |
Visitable ()=default | |
~Visitable ()=default | |
Interface for classes whose instances are visitable by a Visitor.
Implements the Visitor design pattern.
|
protecteddefault |
|
protecteddefault |
|
pure virtual |
Visitor pattern implementation.
Subclasses should implement this method as:
where T
is the name of the subclass, and shared_from_this() and ucast<>
are from Decompiler/Support/SmartPtr.h.
Implemented in retdec::llvmir2hll::WhileLoopStmt, retdec::llvmir2hll::VoidType, retdec::llvmir2hll::Variable, retdec::llvmir2hll::VarDefStmt, retdec::llvmir2hll::UnreachableStmt, retdec::llvmir2hll::UnknownType, retdec::llvmir2hll::UForLoopStmt, retdec::llvmir2hll::TruncCastExpr, retdec::llvmir2hll::TernaryOpExpr, retdec::llvmir2hll::SwitchStmt, retdec::llvmir2hll::SubOpExpr, retdec::llvmir2hll::StructType, retdec::llvmir2hll::StructIndexOpExpr, retdec::llvmir2hll::StringType, retdec::llvmir2hll::ReturnStmt, retdec::llvmir2hll::PtrToIntCastExpr, retdec::llvmir2hll::PointerType, retdec::llvmir2hll::OrOpExpr, retdec::llvmir2hll::NotOpExpr, retdec::llvmir2hll::NeqOpExpr, retdec::llvmir2hll::NegOpExpr, retdec::llvmir2hll::MulOpExpr, retdec::llvmir2hll::ModOpExpr, retdec::llvmir2hll::LtOpExpr, retdec::llvmir2hll::LtEqOpExpr, retdec::llvmir2hll::IntType, retdec::llvmir2hll::IntToPtrCastExpr, retdec::llvmir2hll::IntToFPCastExpr, retdec::llvmir2hll::IfStmt, retdec::llvmir2hll::GtOpExpr, retdec::llvmir2hll::GtEqOpExpr, retdec::llvmir2hll::GotoStmt, retdec::llvmir2hll::GlobalVarDef, retdec::llvmir2hll::FunctionType, retdec::llvmir2hll::Function, retdec::llvmir2hll::FPToIntCastExpr, retdec::llvmir2hll::ForLoopStmt, retdec::llvmir2hll::FloatType, retdec::llvmir2hll::ExtCastExpr, retdec::llvmir2hll::EqOpExpr, retdec::llvmir2hll::EmptyStmt, retdec::llvmir2hll::DivOpExpr, retdec::llvmir2hll::DerefOpExpr, retdec::llvmir2hll::ContinueStmt, retdec::llvmir2hll::ConstSymbol, retdec::llvmir2hll::ConstStruct, retdec::llvmir2hll::ConstString, retdec::llvmir2hll::ConstNullPointer, retdec::llvmir2hll::ConstInt, retdec::llvmir2hll::ConstFloat, retdec::llvmir2hll::ConstBool, retdec::llvmir2hll::ConstArray, retdec::llvmir2hll::CommaOpExpr, retdec::llvmir2hll::CallStmt, retdec::llvmir2hll::CallExpr, retdec::llvmir2hll::BreakStmt, retdec::llvmir2hll::BitXorOpExpr, retdec::llvmir2hll::BitShrOpExpr, retdec::llvmir2hll::BitShlOpExpr, retdec::llvmir2hll::BitOrOpExpr, retdec::llvmir2hll::BitCastExpr, retdec::llvmir2hll::BitAndOpExpr, retdec::llvmir2hll::AssignStmt, retdec::llvmir2hll::AssignOpExpr, retdec::llvmir2hll::ArrayType, retdec::llvmir2hll::ArrayIndexOpExpr, retdec::llvmir2hll::AndOpExpr, retdec::llvmir2hll::AddressOpExpr, and retdec::llvmir2hll::AddOpExpr.