klee
klee::ExprVisitor Class Reference

#include <ExprVisitor.h>

Inheritance diagram for klee::ExprVisitor:
Collaboration diagram for klee::ExprVisitor:

Classes

class  Action
 

Public Member Functions

ref< Exprvisit (const ref< Expr > &e)
 

Protected Member Functions

 ExprVisitor (bool _recursive=false)
 
virtual ~ExprVisitor ()
 
virtual Action visitExpr (const Expr &)
 
virtual Action visitExprPost (const Expr &)
 
virtual Action visitNotOptimized (const NotOptimizedExpr &)
 
virtual Action visitRead (const ReadExpr &)
 
virtual Action visitSelect (const SelectExpr &)
 
virtual Action visitConcat (const ConcatExpr &)
 
virtual Action visitExtract (const ExtractExpr &)
 
virtual Action visitZExt (const ZExtExpr &)
 
virtual Action visitSExt (const SExtExpr &)
 
virtual Action visitAdd (const AddExpr &)
 
virtual Action visitSub (const SubExpr &)
 
virtual Action visitMul (const MulExpr &)
 
virtual Action visitUDiv (const UDivExpr &)
 
virtual Action visitSDiv (const SDivExpr &)
 
virtual Action visitURem (const URemExpr &)
 
virtual Action visitSRem (const SRemExpr &)
 
virtual Action visitNot (const NotExpr &)
 
virtual Action visitAnd (const AndExpr &)
 
virtual Action visitOr (const OrExpr &)
 
virtual Action visitXor (const XorExpr &)
 
virtual Action visitShl (const ShlExpr &)
 
virtual Action visitLShr (const LShrExpr &)
 
virtual Action visitAShr (const AShrExpr &)
 
virtual Action visitEq (const EqExpr &)
 
virtual Action visitNe (const NeExpr &)
 
virtual Action visitUlt (const UltExpr &)
 
virtual Action visitUle (const UleExpr &)
 
virtual Action visitUgt (const UgtExpr &)
 
virtual Action visitUge (const UgeExpr &)
 
virtual Action visitSlt (const SltExpr &)
 
virtual Action visitSle (const SleExpr &)
 
virtual Action visitSgt (const SgtExpr &)
 
virtual Action visitSge (const SgeExpr &)
 

Private Types

typedef ExprHashMap< ref< Expr > > visited_ty
 

Private Member Functions

ref< ExprvisitActual (const ref< Expr > &e)
 

Private Attributes

visited_ty visited
 
bool recursive
 

Detailed Description

Definition at line 16 of file ExprVisitor.h.

Member Typedef Documentation

◆ visited_ty

Definition at line 84 of file ExprVisitor.h.

Constructor & Destructor Documentation

◆ ExprVisitor()

klee::ExprVisitor::ExprVisitor ( bool  _recursive = false)
inlineexplicitprotected

Definition at line 45 of file ExprVisitor.h.

◆ ~ExprVisitor()

virtual klee::ExprVisitor::~ExprVisitor ( )
inlineprotectedvirtual

Definition at line 46 of file ExprVisitor.h.

Member Function Documentation

◆ visit()

◆ visitActual()

ref< Expr > ExprVisitor::visitActual ( const ref< Expr > &  e)
private

◆ visitAdd()

ExprVisitor::Action ExprVisitor::visitAdd ( const AddExpr &  )
protectedvirtual

Definition at line 165 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitAnd()

ExprVisitor::Action ExprVisitor::visitAnd ( const AndExpr &  )
protectedvirtual

Definition at line 197 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitAShr()

ExprVisitor::Action ExprVisitor::visitAShr ( const AShrExpr &  )
protectedvirtual

Definition at line 217 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitConcat()

ExprVisitor::Action ExprVisitor::visitConcat ( const ConcatExpr )
protectedvirtual

Reimplemented in klee::ConstantArrayExprVisitor, klee::IndexTransformationExprVisitor, klee::ArrayReadExprVisitor, and klee::ArrayValueOptReplaceVisitor.

Definition at line 149 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitEq()

ExprVisitor::Action ExprVisitor::visitEq ( const EqExpr &  )
protectedvirtual

Definition at line 221 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitExpr()

ExprVisitor::Action ExprVisitor::visitExpr ( const Expr )
protectedvirtual

Reimplemented in klee::ExprEvaluator, and ExprReplaceVisitor.

Definition at line 129 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitExprPost()

ExprVisitor::Action ExprVisitor::visitExprPost ( const Expr )
protectedvirtual

Reimplemented in klee::ExprEvaluator, ExprReplaceVisitor, and ExprReplaceVisitor2.

Definition at line 133 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::skipChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitExtract()

ExprVisitor::Action ExprVisitor::visitExtract ( const ExtractExpr )
protectedvirtual

Definition at line 153 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitLShr()

ExprVisitor::Action ExprVisitor::visitLShr ( const LShrExpr &  )
protectedvirtual

Definition at line 213 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitMul()

ExprVisitor::Action ExprVisitor::visitMul ( const MulExpr &  )
protectedvirtual

Reimplemented in klee::IndexTransformationExprVisitor.

Definition at line 173 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitNe()

ExprVisitor::Action ExprVisitor::visitNe ( const NeExpr &  )
protectedvirtual

Definition at line 225 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitNot()

ExprVisitor::Action ExprVisitor::visitNot ( const NotExpr )
protectedvirtual

Definition at line 193 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitNotOptimized()

ExprVisitor::Action ExprVisitor::visitNotOptimized ( const NotOptimizedExpr )
protectedvirtual

Definition at line 137 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitOr()

ExprVisitor::Action ExprVisitor::visitOr ( const OrExpr &  )
protectedvirtual

Reimplemented in klee::IndexCompatibilityExprVisitor.

Definition at line 201 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitRead()

ExprVisitor::Action ExprVisitor::visitRead ( const ReadExpr )
protectedvirtual

Reimplemented in klee::ConstantArrayExprVisitor, klee::IndexCompatibilityExprVisitor, klee::ArrayReadExprVisitor, klee::ExprEvaluator, klee::ConstantArrayFinder, klee::SymbolicObjectFinder, and klee::ArrayValueOptReplaceVisitor.

Definition at line 141 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitSDiv()

ExprVisitor::Action ExprVisitor::visitSDiv ( const SDivExpr &  )
protectedvirtual

Reimplemented in klee::ExprEvaluator.

Definition at line 181 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitSelect()

ExprVisitor::Action ExprVisitor::visitSelect ( const SelectExpr )
protectedvirtual

Definition at line 145 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitSExt()

ExprVisitor::Action ExprVisitor::visitSExt ( const SExtExpr &  )
protectedvirtual

Definition at line 161 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitSge()

ExprVisitor::Action ExprVisitor::visitSge ( const SgeExpr &  )
protectedvirtual

Definition at line 257 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitSgt()

ExprVisitor::Action ExprVisitor::visitSgt ( const SgtExpr &  )
protectedvirtual

Definition at line 253 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitShl()

ExprVisitor::Action ExprVisitor::visitShl ( const ShlExpr &  )
protectedvirtual

Definition at line 209 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitSle()

ExprVisitor::Action ExprVisitor::visitSle ( const SleExpr &  )
protectedvirtual

Definition at line 249 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitSlt()

ExprVisitor::Action ExprVisitor::visitSlt ( const SltExpr &  )
protectedvirtual

Definition at line 245 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitSRem()

ExprVisitor::Action ExprVisitor::visitSRem ( const SRemExpr &  )
protectedvirtual

Reimplemented in klee::IndexCompatibilityExprVisitor, and klee::ExprEvaluator.

Definition at line 189 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitSub()

ExprVisitor::Action ExprVisitor::visitSub ( const SubExpr &  )
protectedvirtual

Definition at line 169 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitUDiv()

ExprVisitor::Action ExprVisitor::visitUDiv ( const UDivExpr &  )
protectedvirtual

Reimplemented in klee::ExprEvaluator.

Definition at line 177 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitUge()

ExprVisitor::Action ExprVisitor::visitUge ( const UgeExpr &  )
protectedvirtual

Definition at line 241 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitUgt()

ExprVisitor::Action ExprVisitor::visitUgt ( const UgtExpr &  )
protectedvirtual

Definition at line 237 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitUle()

ExprVisitor::Action ExprVisitor::visitUle ( const UleExpr &  )
protectedvirtual

Definition at line 233 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitUlt()

ExprVisitor::Action ExprVisitor::visitUlt ( const UltExpr &  )
protectedvirtual

Definition at line 229 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitURem()

ExprVisitor::Action ExprVisitor::visitURem ( const URemExpr &  )
protectedvirtual

Reimplemented in klee::IndexCompatibilityExprVisitor, and klee::ExprEvaluator.

Definition at line 185 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitXor()

ExprVisitor::Action ExprVisitor::visitXor ( const XorExpr &  )
protectedvirtual

Definition at line 205 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ visitZExt()

ExprVisitor::Action ExprVisitor::visitZExt ( const ZExtExpr &  )
protectedvirtual

Definition at line 157 of file ExprVisitor.cpp.

References klee::ExprVisitor::Action::doChildren().

Referenced by visitActual().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ recursive

bool klee::ExprVisitor::recursive
private

Definition at line 86 of file ExprVisitor.h.

Referenced by visitActual().

◆ visited

visited_ty klee::ExprVisitor::visited
private

Definition at line 85 of file ExprVisitor.h.

Referenced by visit().


The documentation for this class was generated from the following files: