#include #include #include #include "clang/StaticAnalyzer/Core/PathSensitive/SVals.def"">

clang: include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h File Reference (original) (raw)

#include "[clang/AST/Expr.h](Expr%5F8h%5Fsource.html)"
#include "[clang/AST/Type.h](Type%5F8h%5Fsource.html)"
#include "[clang/Basic/LLVM.h](LLVM%5F8h%5Fsource.html)"
#include "[clang/StaticAnalyzer/Core/PathSensitive/APSIntPtr.h](APSIntPtr%5F8h%5Fsource.html)"
#include "[clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h](SymExpr%5F8h%5Fsource.html)"
#include "llvm/ADT/APSInt.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/ImmutableList.h"
#include "llvm/ADT/PointerUnion.h"
#include "llvm/ADT/STLForwardCompat.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/Support/Casting.h"
#include <cassert>
#include <cstdint>
#include <optional>
#include <utility>
#include "clang/StaticAnalyzer/Core/PathSensitive/SVals.def"

Go to the source code of this file.

Classes
class clang::ento::SVal
SVal - This represents a symbolic expression, which can be either an L-value or an R-value. More...
class clang::ento::UndefinedVal
class clang::ento::DefinedOrUnknownSVal
class clang::ento::UnknownVal
class clang::ento::DefinedSVal
class clang::ento::NonLoc
class clang::ento::Loc
class clang::ento::nonloc::SymbolVal
Represents symbolic expression that isn't a location. More...
class clang::ento::nonloc::ConcreteInt
Value representing integer constant. More...
class clang::ento::nonloc::LocAsInteger
class clang::ento::nonloc::CompoundVal
The simplest example of a concrete compound value is nonloc::CompoundVal, which represents a concrete r-value of an initializer-list or a string. More...
class clang::ento::nonloc::LazyCompoundVal
While nonloc::CompoundVal covers a few simple use cases, nonloc::LazyCompoundVal is a more performant and flexible way to represent an rvalue of record type, so it shows up much more frequently during analysis. More...
class clang::ento::nonloc::PointerToMember
Value representing pointer-to-member. More...
class clang::ento::loc::GotoLabel
class clang::ento::loc::MemRegionVal
class clang::ento::loc::ConcreteInt
struct llvm::CastInfo< To, From, std::enable_if_t< std::is_base_of<::clang::ento::SVal, From >::value > >
Namespaces
namespace clang
The JSON file list parser is used to communicate input to InstallAPI.
namespace clang::ento
namespace clang::ento::nonloc
namespace clang::ento::loc
namespace llvm
Diagnostic wrappers for TextAPI types for error reporting.
Macros
#define BASIC_SVAL(Id, Parent) Id##Kind,
#define LOC_SVAL(Id, Parent) Loc##Id##Kind,
Sub-kinds for Loc values.
#define NONLOC_SVAL(Id, Parent) NonLoc##Id##Kind,
Sub-kinds for NonLoc values.
#define SVAL_RANGE(Id, First, Last) BEGIN_##Id = Id##First##Kind, END_##Id = Id##Last##Kind,
#define NONLOC_SVAL(Id, Parent) inline constexpr auto Id##Kind = SVal::SValKind::NonLoc##Id##Kind;
Sub-kinds for NonLoc values.
#define LOC_SVAL(Id, Parent) inline constexpr auto Id##Kind = SVal::SValKind::Loc##Id##Kind;
Sub-kinds for Loc values.

BASIC_SVAL

LOC_SVAL [1/2]

Sub-kinds for Loc values.

Definition at line 191 of file SVals.h.

LOC_SVAL [2/2]

Sub-kinds for Loc values.

Definition at line 191 of file SVals.h.

NONLOC_SVAL [1/2]

Sub-kinds for NonLoc values.

Definition at line 184 of file SVals.h.

NONLOC_SVAL [2/2]

| #define NONLOC_SVAL | ( | | Id, | | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ------------------------------------------------------------ | | | Parent | | | | | ) | inline constexpr auto Id##Kind = SVal::SValKind::NonLoc##Id##Kind; | | |

Sub-kinds for NonLoc values.

Definition at line 184 of file SVals.h.

SVAL_RANGE