clang API Documentation
#include "clang/StaticAnalyzer/Core/PathSensitive/Store.h"
#include "clang/AST/CXXInheritance.h"
#include "clang/AST/CharUnits.h"
#include "clang/AST/DeclObjC.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h"
Go to the source code of this file.
Functions | |
static bool | regionMatchesCXXRecordType (SVal V, QualType Ty) |
static const CXXRecordDecl * | getCXXRecordType (const MemRegion *MR) |
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 287 of file Store.cpp.
Referenced by clang::ento::StoreManager::evalDynamicCast().
static bool regionMatchesCXXRecordType | ( | SVal | V, |
QualType | Ty | ||
) | [static] |
Definition at line 215 of file Store.cpp.
References clang::Type::getAsCXXRecordDecl(), clang::ento::SVal::getAsRegion(), clang::CXXRecordDecl::getCanonicalDecl(), clang::Type::getPointeeCXXRecordDecl(), and clang::ento::TypedValueRegion::getValueType().
Referenced by clang::ento::StoreManager::evalDerivedToBase().