clang 20.0.0git
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/SmallVector.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/ErrorHandling.h"
#include <cassert>
#include <cstdint>
#include <optional>

Go to the source code of this file.

Functions

static bool regionMatchesCXXRecordType (SVal V, QualType Ty)
 
static const CXXRecordDeclgetCXXRecordType (const MemRegion *MR)
 Returns the static type of the given region, if it represents a C++ class object.
 

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 308 of file Store.cpp.

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

◆ regionMatchesCXXRecordType()

static bool regionMatchesCXXRecordType ( SVal  V,
QualType  Ty 
)
static