clang 8.0.0

Functions
Store.cpp File Reference
`#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>`
Include dependency graph for Store.cpp:

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...

## Function Documentation

## ◆ getCXXRecordType()

static const CXXRecordDecl* getCXXRecordType | ( | const MemRegion * | MR | ) |
| 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 307 of file Store.cpp.

Referenced by clang::ento::StoreManager::attemptDownCast().

## ◆ regionMatchesCXXRecordType()

static bool regionMatchesCXXRecordType | ( | SVal | V,
|  | QualType | Ty
| ) |  |
| static

Definition at line 229 of file Store.cpp.

References clang::Type::getAsCXXRecordDecl(), clang::CXXRecordDecl::getCanonicalDecl(), and clang::Type::getPointeeCXXRecordDecl().

Referenced by clang::ento::StoreManager::evalDerivedToBase().