#include "clang/StaticAnalyzer/Core/PathSensitive/SVals.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/Expr.h"
#include "clang/AST/Type.h"
#include "clang/Basic/JsonSupport.h"
#include "clang/Basic/LLVM.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/SValVisitor.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <optional>
usingnamespaceclang;
usingnamespaceento;
const FunctionDecl *SVal::getAsFunctionDecl() const { … }
SymbolRef SVal::getAsLocSymbol(bool IncludeBaseRegions) const { … }
SymbolRef SVal::getLocSymbolInBase() const { … }
SymbolRef SVal::getAsSymbol(bool IncludeBaseRegions) const { … }
const llvm::APSInt *SVal::getAsInteger() const { … }
const MemRegion *SVal::getAsRegion() const { … }
namespace {
class TypeRetrievingVisitor
: public FullSValVisitor<TypeRetrievingVisitor, QualType> { … };
}
QualType SVal::getType(const ASTContext &Context) const { … }
const MemRegion *loc::MemRegionVal::stripCasts(bool StripBaseCasts) const { … }
const void *nonloc::LazyCompoundVal::getStore() const { … }
const TypedValueRegion *nonloc::LazyCompoundVal::getRegion() const { … }
bool nonloc::PointerToMember::isNullMemberPointer() const { … }
const NamedDecl *nonloc::PointerToMember::getDecl() const { … }
nonloc::CompoundVal::iterator nonloc::CompoundVal::begin() const { … }
nonloc::CompoundVal::iterator nonloc::CompoundVal::end() const { … }
nonloc::PointerToMember::iterator nonloc::PointerToMember::begin() const { … }
nonloc::PointerToMember::iterator nonloc::PointerToMember::end() const { … }
bool SVal::isConstant() const { … }
bool SVal::isConstant(int I) const { … }
bool SVal::isZeroConstant() const { … }
StringRef SVal::getKindStr() const { … }
LLVM_DUMP_METHOD void SVal::dump() const { … }
void SVal::printJson(raw_ostream &Out, bool AddQuotes) const { … }
void SVal::dumpToStream(raw_ostream &os) const { … }
void NonLoc::dumpToStream(raw_ostream &os) const { … }
void Loc::dumpToStream(raw_ostream &os) const { … }