clang  10.0.0svn
Namespaces | Functions
DynamicType.cpp File Reference
#include "clang/StaticAnalyzer/Core/PathSensitive/DynamicType.h"
#include "clang/Basic/JsonSupport.h"
#include "clang/Basic/LLVM.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
Include dependency graph for DynamicType.cpp:

Go to the source code of this file.

Namespaces

 clang
 Dataflow Directional Tag Classes.
 
 clang::ento
 

Functions

 REGISTER_MAP_WITH_PROGRAMSTATE (DynamicTypeMap, const clang::ento::MemRegion *, clang::ento::DynamicTypeInfo) REGISTER_MAP_WITH_PROGRAMSTATE(DynamicCastMap
 The GDM component containing the dynamic type info. More...
 
DynamicTypeInfo clang::ento::getDynamicTypeInfo (ProgramStateRef State, const MemRegion *MR)
 Get dynamic type information for the region MR. More...
 
const DynamicTypeInfo * clang::ento::getRawDynamicTypeInfo (ProgramStateRef State, const MemRegion *MR)
 Get raw dynamic type information for the region MR. More...
 
const DynamicCastInfo * clang::ento::getDynamicCastInfo (ProgramStateRef State, const MemRegion *MR, QualType CastFromTy, QualType CastToTy)
 Get dynamic cast information from CastFromTy to CastToTy of MR. More...
 
ProgramStateRef clang::ento::setDynamicTypeInfo (ProgramStateRef State, const MemRegion *MR, DynamicTypeInfo NewTy)
 Set dynamic type information of the region; return the new state. More...
 
ProgramStateRef clang::ento::setDynamicTypeInfo (ProgramStateRef State, const MemRegion *MR, QualType NewTy, bool CanBeSubClassed=true)
 Set dynamic type information of the region; return the new state. More...
 
ProgramStateRef clang::ento::setDynamicTypeAndCastInfo (ProgramStateRef State, const MemRegion *MR, QualType CastFromTy, QualType CastToTy, bool IsCastSucceeds)
 Set dynamic type and cast information of the region; return the new state. More...
 
template<typename MapTy >
ProgramStateRef clang::ento::removeDead (ProgramStateRef State, const MapTy &Map, SymbolReaper &SR)
 
ProgramStateRef clang::ento::removeDeadTypes (ProgramStateRef State, SymbolReaper &SR)
 Removes the dead type informations from State. More...
 
ProgramStateRef clang::ento::removeDeadCasts (ProgramStateRef State, SymbolReaper &SR)
 Removes the dead cast informations from State. More...
 
static void clang::ento::printDynamicTypesJson (raw_ostream &Out, ProgramStateRef State, const char *NL, unsigned int Space, bool IsDot)
 
static void clang::ento::printDynamicCastsJson (raw_ostream &Out, ProgramStateRef State, const char *NL, unsigned int Space, bool IsDot)
 
void clang::ento::printDynamicTypeInfoJson (raw_ostream &Out, ProgramStateRef State, const char *NL="\, unsigned int Space=0, bool IsDot=false)
 

Function Documentation

◆ REGISTER_MAP_WITH_PROGRAMSTATE()

REGISTER_MAP_WITH_PROGRAMSTATE ( DynamicTypeMap  ,
const clang::ento::MemRegion ,
clang::ento::DynamicTypeInfo   
)

The GDM component containing the dynamic type info.

This is a map from a symbol to its most likely type. A set factory of dynamic cast informations. A map from symbols to cast informations.