class SValExplainer
Declaration
class SValExplainer : public FullSValVisitor { /* full declaration omitted */ };
Description
FullSValVisitor - a convenient mixed visitor for all three: SVal, SymExpr and MemRegion subclasses.
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:27
Inherits from: FullSValVisitor
Member Variables
- private clang::ASTContext& ACtx
Method Overview
- public SValExplainer(clang::ASTContext & Ctx)
- public std::string VisitAllocaRegion(const clang::ento::AllocaRegion * R)
- public std::string VisitCXXBaseObjectRegion(const clang::ento::CXXBaseObjectRegion * R)
- public std::string VisitCXXTempObjectRegion(const clang::ento::CXXTempObjectRegion * R)
- public std::string VisitCompoundLiteralRegion(const clang::ento::CompoundLiteralRegion * R)
- public std::string VisitElementRegion(const clang::ento::ElementRegion * R)
- public std::string VisitFieldRegion(const clang::ento::FieldRegion * R)
- public std::string VisitLocConcreteInt(loc::ConcreteInt V)
- public std::string VisitLocMemRegionVal(loc::MemRegionVal V)
- public std::string VisitMemRegion(const clang::ento::MemRegion * R)
- public std::string VisitNonLocConcreteInt(nonloc::ConcreteInt V)
- public std::string VisitNonLocLazyCompoundVal(nonloc::LazyCompoundVal V)
- public std::string VisitNonLocSymbolVal(nonloc::SymbolVal V)
- public std::string VisitNonParamVarRegion(const clang::ento::NonParamVarRegion * R)
- public std::string VisitObjCIvarRegion(const clang::ento::ObjCIvarRegion * R)
- public std::string VisitParamVarRegion(const clang::ento::ParamVarRegion * R)
- public std::string VisitSVal(clang::ento::SVal V)
- public std::string VisitStringRegion(const clang::ento::StringRegion * R)
- public std::string VisitSymExpr(clang::ento::SymbolRef S)
- public std::string VisitSymIntExpr(const clang::ento::SymIntExpr * S)
- public std::string VisitSymSymExpr(const clang::ento::SymSymExpr * S)
- public std::string VisitSymbolConjured(const clang::ento::SymbolConjured * S)
- public std::string VisitSymbolDerived(const clang::ento::SymbolDerived * S)
- public std::string VisitSymbolExtent(const clang::ento::SymbolExtent * S)
- public std::string VisitSymbolMetadata(const clang::ento::SymbolMetadata * S)
- public std::string VisitSymbolRegionValue(const clang::ento::SymbolRegionValue * S)
- public std::string VisitSymbolicRegion(const clang::ento::SymbolicRegion * R)
- public std::string VisitUnarySymExpr(const clang::ento::UnarySymExpr * S)
- public std::string VisitUndefinedVal(clang::ento::UndefinedVal V)
- public std::string VisitUnknownVal(clang::ento::UnknownVal V)
- private bool isThisObject(const clang::ento::SymbolicRegion * R)
- private std::string printStmt(const clang::Stmt * S)
Methods
¶SValExplainer(clang::ASTContext& Ctx)
SValExplainer(clang::ASTContext& Ctx)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:46
Parameters
- clang::ASTContext& Ctx
¶std::string VisitAllocaRegion(
const clang::ento::AllocaRegion* R)
std::string VisitAllocaRegion(
const clang::ento::AllocaRegion* R)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:162
Parameters
- const clang::ento::AllocaRegion* R
¶std::string VisitCXXBaseObjectRegion(
const clang::ento::CXXBaseObjectRegion* R)
std::string VisitCXXBaseObjectRegion(
const clang::ento::CXXBaseObjectRegion* R)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:219
Parameters
- const clang::ento::CXXBaseObjectRegion* R
¶std::string VisitCXXTempObjectRegion(
const clang::ento::CXXTempObjectRegion* R)
std::string VisitCXXTempObjectRegion(
const clang::ento::CXXTempObjectRegion* R)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:214
Parameters
- const clang::ento::CXXTempObjectRegion* R
¶std::string VisitCompoundLiteralRegion(
const clang::ento::CompoundLiteralRegion* R)
std::string VisitCompoundLiteralRegion(
const clang::ento::CompoundLiteralRegion* R)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:166
Parameters
- const clang::ento::CompoundLiteralRegion* R
¶std::string VisitElementRegion(
const clang::ento::ElementRegion* R)
std::string VisitElementRegion(
const clang::ento::ElementRegion* R)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:174
Parameters
- const clang::ento::ElementRegion* R
¶std::string VisitFieldRegion(
const clang::ento::FieldRegion* R)
std::string VisitFieldRegion(
const clang::ento::FieldRegion* R)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:209
Parameters
- const clang::ento::FieldRegion* R
¶std::string VisitLocConcreteInt(
loc::ConcreteInt V)
std::string VisitLocConcreteInt(
loc::ConcreteInt V)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:67
Parameters
¶std::string VisitLocMemRegionVal(
loc::MemRegionVal V)
std::string VisitLocMemRegionVal(
loc::MemRegionVal V)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:56
Parameters
¶std::string VisitMemRegion(
const clang::ento::MemRegion* R)
std::string VisitMemRegion(
const clang::ento::MemRegion* R)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:273
Parameters
- const clang::ento::MemRegion* R
¶std::string VisitNonLocConcreteInt(
nonloc::ConcreteInt V)
std::string VisitNonLocConcreteInt(
nonloc::ConcreteInt V)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:79
Parameters
¶std::string VisitNonLocLazyCompoundVal(
nonloc::LazyCompoundVal V)
std::string VisitNonLocLazyCompoundVal(
nonloc::LazyCompoundVal V)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:88
Parameters
¶std::string VisitNonLocSymbolVal(
nonloc::SymbolVal V)
std::string VisitNonLocSymbolVal(
nonloc::SymbolVal V)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:75
Parameters
¶std::string VisitNonParamVarRegion(
const clang::ento::NonParamVarRegion* R)
std::string VisitNonParamVarRegion(
const clang::ento::NonParamVarRegion* R)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:187
Parameters
- const clang::ento::NonParamVarRegion* R
¶std::string VisitObjCIvarRegion(
const clang::ento::ObjCIvarRegion* R)
std::string VisitObjCIvarRegion(
const clang::ento::ObjCIvarRegion* R)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:204
Parameters
- const clang::ento::ObjCIvarRegion* R
¶std::string VisitParamVarRegion(
const clang::ento::ParamVarRegion* R)
std::string VisitParamVarRegion(
const clang::ento::ParamVarRegion* R)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:224
Parameters
- const clang::ento::ParamVarRegion* R
¶std::string VisitSVal(clang::ento::SVal V)
std::string VisitSVal(clang::ento::SVal V)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:257
Parameters
¶std::string VisitStringRegion(
const clang::ento::StringRegion* R)
std::string VisitStringRegion(
const clang::ento::StringRegion* R)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:170
Parameters
- const clang::ento::StringRegion* R
¶std::string VisitSymExpr(clang::ento::SymbolRef S)
std::string VisitSymExpr(clang::ento::SymbolRef S)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:265
Parameters
¶std::string VisitSymIntExpr(
const clang::ento::SymIntExpr* S)
std::string VisitSymIntExpr(
const clang::ento::SymIntExpr* S)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:120
Parameters
- const clang::ento::SymIntExpr* S
¶std::string VisitSymSymExpr(
const clang::ento::SymSymExpr* S)
std::string VisitSymSymExpr(
const clang::ento::SymSymExpr* S)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:132
Parameters
- const clang::ento::SymSymExpr* S
¶std::string VisitSymbolConjured(
const clang::ento::SymbolConjured* S)
std::string VisitSymbolConjured(
const clang::ento::SymbolConjured* S)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:101
Parameters
- const clang::ento::SymbolConjured* S
¶std::string VisitSymbolDerived(
const clang::ento::SymbolDerived* S)
std::string VisitSymbolDerived(
const clang::ento::SymbolDerived* S)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:106
Parameters
- const clang::ento::SymbolDerived* S
¶std::string VisitSymbolExtent(
const clang::ento::SymbolExtent* S)
std::string VisitSymbolExtent(
const clang::ento::SymbolExtent* S)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:111
Parameters
- const clang::ento::SymbolExtent* S
¶std::string VisitSymbolMetadata(
const clang::ento::SymbolMetadata* S)
std::string VisitSymbolMetadata(
const clang::ento::SymbolMetadata* S)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:115
Parameters
- const clang::ento::SymbolMetadata* S
¶std::string VisitSymbolRegionValue(
const clang::ento::SymbolRegionValue* S)
std::string VisitSymbolRegionValue(
const clang::ento::SymbolRegionValue* S)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:92
Parameters
- const clang::ento::SymbolRegionValue* S
¶std::string VisitSymbolicRegion(
const clang::ento::SymbolicRegion* R)
std::string VisitSymbolicRegion(
const clang::ento::SymbolicRegion* R)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:146
Parameters
- const clang::ento::SymbolicRegion* R
¶std::string VisitUnarySymExpr(
const clang::ento::UnarySymExpr* S)
std::string VisitUnarySymExpr(
const clang::ento::UnarySymExpr* S)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:138
Parameters
- const clang::ento::UnarySymExpr* S
¶std::string VisitUndefinedVal(
clang::ento::UndefinedVal V)
std::string VisitUndefinedVal(
clang::ento::UndefinedVal V)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:52
Parameters
¶std::string VisitUnknownVal(
clang::ento::UnknownVal V)
std::string VisitUnknownVal(
clang::ento::UnknownVal V)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:48
Parameters
¶bool isThisObject(
const clang::ento::SymbolicRegion* R)
bool isThisObject(
const clang::ento::SymbolicRegion* R)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:38
Parameters
- const clang::ento::SymbolicRegion* R
¶std::string printStmt(const clang::Stmt* S)
std::string printStmt(const clang::Stmt* S)
Declared at: clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h:31
Parameters
- const clang::Stmt* S