clang 22.0.0git
SValVisitor.h File Reference
#include "clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/SVals.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/SVals.def"
#include "clang/StaticAnalyzer/Core/PathSensitive/Symbols.def"
#include "clang/StaticAnalyzer/Core/PathSensitive/Regions.def"

Go to the source code of this file.

Classes

class  clang::ento::SValVisitor< ImplClass, RetTy >
 SValVisitor - this class implements a simple visitor for SVal subclasses. More...
class  clang::ento::SymExprVisitor< ImplClass, RetTy >
 SymExprVisitor - this class implements a simple visitor for SymExpr subclasses. More...
class  clang::ento::MemRegionVisitor< ImplClass, RetTy >
 MemRegionVisitor - this class implements a simple visitor for MemRegion subclasses. More...
class  clang::ento::FullSValVisitor< ImplClass, RetTy >
 FullSValVisitor - a convenient mixed visitor for all three: SVal, SymExpr and MemRegion subclasses. More...

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
namespace  clang::ento

Macros

#define BASIC_SVAL(Id, Parent)
#define LOC_SVAL(Id, Parent)
#define NONLOC_SVAL(Id, Parent)
#define BASIC_SVAL(Id, Parent)
#define ABSTRACT_SVAL(Id, Parent)
#define LOC_SVAL(Id, Parent)
#define NONLOC_SVAL(Id, Parent)
#define DISPATCH(CLASS)
#define SYMBOL(Id, Parent)
#define SYMBOL(Id, Parent)
#define ABSTRACT_SYMBOL(Id, Parent)
#define DISPATCH(CLASS)
#define REGION(Id, Parent)
#define REGION(Id, Parent)
#define ABSTRACT_REGION(Id, Parent)

Macro Definition Documentation

◆ ABSTRACT_REGION

#define ABSTRACT_REGION ( Id,
Parent )
Value:
REGION(Id, Parent)
#define REGION(Id, Parent)
Definition MemRegion.h:101

Definition at line 115 of file SValVisitor.h.

◆ ABSTRACT_SVAL

#define ABSTRACT_SVAL ( Id,
Parent )
Value:
BASIC_SVAL(Id, Parent)
#define BASIC_SVAL(Id, Parent)
Definition SVals.h:59

Definition at line 51 of file SValVisitor.h.

◆ ABSTRACT_SYMBOL

#define ABSTRACT_SYMBOL ( Id,
Parent )
Value:
SYMBOL(Id, Parent)
#define SYMBOL(Id, Parent)
Definition SValVisitor.h:84

Definition at line 85 of file SValVisitor.h.

◆ BASIC_SVAL [1/2]

#define BASIC_SVAL ( Id,
Parent )
Value:
case SVal::Id##Kind: \
return derived().Visit##Id(V.castAs<Id>());
#define V(N, I)

Definition at line 49 of file SValVisitor.h.

◆ BASIC_SVAL [2/2]

#define BASIC_SVAL ( Id,
Parent )
Value:
RetTy Visit##Id(Id V) { return derived().Visit##Parent(V.castAs<Id>()); }

Definition at line 49 of file SValVisitor.h.

◆ DISPATCH [1/2]

#define DISPATCH ( CLASS)
Value:
return static_cast<ImplClass *>(this)->Visit ## CLASS(cast<CLASS>(S))

Definition at line 69 of file SValVisitor.h.

◆ DISPATCH [2/2]

#define DISPATCH ( CLASS)
Value:
return static_cast<ImplClass *>(this)->Visit ## CLASS(cast<CLASS>(R))

Definition at line 69 of file SValVisitor.h.

◆ LOC_SVAL [1/2]

#define LOC_SVAL ( Id,
Parent )
Value:
case SVal::Loc##Id##Kind: \
return derived().Visit##Id(V.castAs<loc::Id>());

Definition at line 52 of file SValVisitor.h.

◆ LOC_SVAL [2/2]

#define LOC_SVAL ( Id,
Parent )
Value:
RetTy Visit##Id(loc::Id V) { return derived().VisitLoc(V.castAs<Loc>()); }

Definition at line 52 of file SValVisitor.h.

◆ NONLOC_SVAL [1/2]

#define NONLOC_SVAL ( Id,
Parent )
Value:
case SVal::NonLoc##Id##Kind: \
return derived().Visit##Id(V.castAs<nonloc::Id>());

Definition at line 54 of file SValVisitor.h.

◆ NONLOC_SVAL [2/2]

#define NONLOC_SVAL ( Id,
Parent )
Value:
RetTy Visit##Id(nonloc::Id V) { \
return derived().VisitNonLoc(V.castAs<NonLoc>()); \
}

Definition at line 54 of file SValVisitor.h.

◆ REGION [1/2]

#define REGION ( Id,
Parent )
Value:
case MemRegion::Id ## Kind: DISPATCH(Id);
#define DISPATCH(NAME)
Definition AttrVisitor.h:28

Definition at line 113 of file SValVisitor.h.

◆ REGION [2/2]

#define REGION ( Id,
Parent )
Value:
RetTy Visit ## Id(const Id *R) { DISPATCH(Parent); }

Definition at line 113 of file SValVisitor.h.

◆ SYMBOL [1/2]

#define SYMBOL ( Id,
Parent )
Value:
case SymExpr::Id ## Kind: DISPATCH(Id);

Definition at line 84 of file SValVisitor.h.

◆ SYMBOL [2/2]

#define SYMBOL ( Id,
Parent )
Value:
RetTy Visit ## Id(const Id *S) { DISPATCH(Parent); }

Definition at line 84 of file SValVisitor.h.