clang
10.0.0git
|
#include "clang/StaticAnalyzer/Core/PathSensitive/Store.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/CXXInheritance.h"
#include "clang/AST/CharUnits.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/Expr.h"
#include "clang/AST/Type.h"
#include "clang/Basic/LLVM.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/SVals.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h"
#include "llvm/ADT/APSInt.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/ErrorHandling.h"
#include <cassert>
#include <cstdint>
Go to the source code of this file.
Functions | |
static bool | regionMatchesCXXRecordType (SVal V, QualType Ty) |
static const CXXRecordDecl * | getCXXRecordType (const MemRegion *MR) |
Returns the static type of the given region, if it represents a C++ class object. More... | |
static bool | hasSameUnqualifiedPointeeType (QualType ty1, QualType ty2) |
|
static |
Returns the static type of the given region, if it represents a C++ class object.
This handles both fully-typed regions, where the dynamic type is known, and symbolic regions, where the dynamic type is merely bounded (and even then, only ostensibly!), but does not take advantage of any dynamic type info.
Definition at line 306 of file Store.cpp.
Referenced by clang::ento::StoreManager::attemptDownCast().
Definition at line 396 of file Store.cpp.
References clang::QualType::getCanonicalType(), clang::Type::getPointeeType(), and clang::QualType::getTypePtr().
Referenced by clang::ento::StoreManager::CastRetrievedVal().
Definition at line 228 of file Store.cpp.
References clang::Type::getAsCXXRecordDecl(), clang::CXXRecordDecl::getCanonicalDecl(), and clang::Type::getPointeeCXXRecordDecl().
Referenced by clang::ento::StoreManager::evalDerivedToBase().