reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Derived Classes

tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
  472 class AllocaRegion : public SubRegion {
  506 class TypedRegion : public SubRegion {
  764 class SymbolicRegion : public SubRegion {

References

include/llvm/Support/Casting.h
   57   static inline bool doit(const From &Val) {
   58     return To::classof(&Val);
   66   static inline bool doit(const From &) { return true; }
  104   static inline bool doit(const From *Val) {
  106     return isa_impl<To, From>::doit(*Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  142   return isa_impl_wrap<X, const Y,
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  309   return cast<X>(Val);
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
  777       const SubRegion **OutRegionWithAdjustments = nullptr);
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
  472 class AllocaRegion : public SubRegion {
  506 class TypedRegion : public SubRegion {
  764 class SymbolicRegion : public SubRegion {
 1008   FieldRegion(const FieldDecl *fd, const SubRegion* sReg)
 1041   ObjCIvarRegion(const ObjCIvarDecl *ivd, const SubRegion *sReg);
 1089   ElementRegion(QualType elementType, NonLoc Idx, const SubRegion *sReg)
 1159                       const SubRegion *SReg)
 1196   CXXDerivedObjectRegion(const CXXRecordDecl *DerivedD, const SubRegion *SReg)
 1228 const RegionTy* MemRegion::getAs() const {
 1229   if (const auto *RT = dyn_cast<RegionTy>(this))
 1229   if (const auto *RT = dyn_cast<RegionTy>(this))
 1236 const RegionTy* MemRegion::castAs() const {
 1237   return cast<RegionTy>(this);
 1334                                         const SubRegion *superRegion,
 1338                                                  const SubRegion *superRegion) {
 1348                                     const SubRegion* superRegion);
 1351                                              const SubRegion *superRegion) {
 1360                                           const SubRegion* superRegion);
 1370   getCXXBaseObjectRegion(const CXXRecordDecl *BaseClass, const SubRegion *Super,
 1377                                   const SubRegion *superRegion) {
 1388                             const SubRegion *Super);
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
  302   Loc getLValue(const CXXBaseSpecifier &BaseSpec, const SubRegion *Super) const;
  305   Loc getLValue(const CXXRecordDecl *BaseClass, const SubRegion *Super,
  708                                    const SubRegion *Super) const {
  716                                    const SubRegion *Super,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
  613   const REGION* getRegionAs() const {
  614     return dyn_cast<REGION>(getRegion());
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
  187   const ElementRegion *GetElementZeroRegion(const SubRegion *R, QualType T);
  287   const ElementRegion *MakeElementRegion(const SubRegion *baseRegion,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
  168   const SubRegion *R;
  171   SymbolExtent(SymbolID sym, const SubRegion *r)
  176   const SubRegion *getRegion() const { return R; }
  182   static void Profile(llvm::FoldingSetNodeID& profile, const SubRegion *R) {
  502   const SymbolExtent *getExtentSymbol(const SubRegion *R);
tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
   48   const SubRegion *baseRegion;
   55   RegionRawOffsetV2(const SubRegion* base, SVal offset)
   59   const SubRegion *getRegion() const { return baseRegion; }
  317         if (const SubRegion *subReg = dyn_cast<SubRegion>(region)) {
  317         if (const SubRegion *subReg = dyn_cast<SubRegion>(region)) {
tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
  331   const SubRegion *superReg = cast<SubRegion>(ER->getSuperRegion());
  331   const SubRegion *superReg = cast<SubRegion>(ER->getSuperRegion());
  939   const SubRegion *superReg = cast<SubRegion>(ER->getSuperRegion());
  939   const SubRegion *superReg = cast<SubRegion>(ER->getSuperRegion());
 1074     auto *SubReg = cast<SubRegion>(BR);
 2331     while (const SubRegion *SR = dyn_cast<SubRegion>(MR)) {
 2331     while (const SubRegion *SR = dyn_cast<SubRegion>(MR)) {
 2352     while (const SubRegion *SR = dyn_cast<SubRegion>(Super)) {
 2352     while (const SubRegion *SR = dyn_cast<SubRegion>(Super)) {
tools/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
  230   auto MR = dyn_cast_or_null<SubRegion>(C.getSVal(CE->getArg(0)).getAsRegion());
tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp
  152     const SubRegion *SuperRegion{nullptr};
  154       SuperRegion = cast<SubRegion>(ER->getSuperRegion());
tools/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp
   55   const SubRegion *SR = dyn_cast<SubRegion>(R);
   55   const SubRegion *SR = dyn_cast<SubRegion>(R);
   59     SR = dyn_cast<SubRegion>(SR->getSuperRegion());
tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
 1384   const SubRegion *Region;
 1391                  ->castAs<SubRegion>()
 1393                  ->castAs<SubRegion>();
 1396     Region = Target.getAsRegion()->castAs<SubRegion>();
tools/clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
  147   while (const SubRegion *SR = dyn_cast<SubRegion>(R)) {
  147   while (const SubRegion *SR = dyn_cast<SubRegion>(R)) {
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
  490     cast<SubRegion>(MR)->getSuperRegion());
tools/clang/lib/StaticAnalyzer/Checkers/Taint.cpp
   99                                        const SubRegion *SubRegion,
  148   if (const SubRegion *ER = dyn_cast<SubRegion>(Reg))
  148   if (const SubRegion *ER = dyn_cast<SubRegion>(Reg))
tools/clang/lib/StaticAnalyzer/Checkers/Taint.h
   56                 SymbolRef ParentSym, const SubRegion *SubRegion,
tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
  265 static bool wasRegionOfInterestModifiedAt(const SubRegion *RegionOfInterest,
  335   const SubRegion *RegionOfInterest;
  360   NoStoreFuncVisitor(const SubRegion *R, bugreporter::TrackingKind TKind)
  516     const FieldRegion *FR = MmrMgr.getFieldRegion(I, cast<SubRegion>(R));
  725     R = cast<SubRegion>(R)->getSuperRegion();
  792   const SubRegion *RegionOfInterest;
  800   MacroNullReturnSuppressionVisitor(const SubRegion *R, const SVal V)
  837               R->getAs<SubRegion>(), V));
 1999           std::make_unique<NoStoreFuncVisitor>(cast<SubRegion>(R), TKind));
tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
  312     const SubRegion **OutRegionWithAdjustments) {
  456     *OutRegionWithAdjustments = cast<SubRegion>(Reg.getAsRegion());
 1018       ArgR = getStoreManager().GetElementZeroRegion(cast<SubRegion>(ArgR), DTy);
 2597       const SubRegion *MR = nullptr;
tools/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
  167         if (const SubRegion *MR =
  168                 dyn_cast_or_null<SubRegion>(V.getAsRegion())) {
  807     if (const auto *NewReg = cast_or_null<SubRegion>(symVal.getAsRegion())) {
  807     if (const auto *NewReg = cast_or_null<SubRegion>(symVal.getAsRegion())) {
tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp
   67                                          const SuperTy *superRegion) {
   84                                          const SuperTy *superRegion) {
  137     if (const auto *sr = dyn_cast<SubRegion>(r))
  137     if (const auto *sr = dyn_cast<SubRegion>(r))
  146   const SubRegion* r = this;
  149     if (const auto *sr = dyn_cast<SubRegion>(superRegion)) {
  149     if (const auto *sr = dyn_cast<SubRegion>(superRegion)) {
  212 ObjCIvarRegion::ObjCIvarRegion(const ObjCIvarDecl *ivd, const SubRegion *sReg)
  990                                    const SubRegion* superRegion,
 1033                                  const SubRegion* superRegion){
 1039                                     const SubRegion* superRegion) {
 1075                                          const SubRegion *Super,
 1085         Super = cast<SubRegion>(Base->getSuperRegion());
 1095                                             const SubRegion *Super) {
 1130   const auto *SR = dyn_cast<SubRegion>(this);
 1130   const auto *SR = dyn_cast<SubRegion>(this);
 1134     SR = dyn_cast<SubRegion>(R);
 1169         R = cast<SubRegion>(R)->getSuperRegion();
 1220   const auto *SubR = dyn_cast<SubRegion>(this);
 1220   const auto *SubR = dyn_cast<SubRegion>(this);
 1225     SubR = dyn_cast<SubRegion>(SubR->getSuperRegion());
tools/clang/lib/StaticAnalyzer/Core/ProgramState.cpp
  606   if (const SubRegion *SR = dyn_cast<SubRegion>(R)) {
  606   if (const SubRegion *SR = dyn_cast<SubRegion>(R)) {
tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp
   54   explicit BindingKey(const SubRegion *r, const SubRegion *Base, Kind k)
   54   explicit BindingKey(const SubRegion *r, const SubRegion *Base, Kind k)
   80   const SubRegion *getConcreteOffsetRegion() const {
  118     return BindingKey(cast<SubRegion>(R), cast<SubRegion>(RO.getRegion()), k);
  118     return BindingKey(cast<SubRegion>(R), cast<SubRegion>(RO.getRegion()), k);
  439                                             const SubRegion *R);
  480     B = removeSubRegionBindings(B, cast<SubRegion>(R));
  577   SVal getLazyBinding(const SubRegion *LazyBindingRegion,
  603   std::pair<Store, const SubRegion *>
  604   findLazyBinding(RegionBindingsConstRef B, const SubRegion *R,
  605                   const SubRegion *originalRegion);
  659         if (const SubRegion *R = dyn_cast<SubRegion>(K.getRegion())) {
  659         if (const SubRegion *R = dyn_cast<SubRegion>(K.getRegion())) {
  833     R = cast<SubRegion>(R)->getSuperRegion();
  868                          const SubRegion *Top, BindingKey TopKey,
  926       } else if (const SubRegion *BaseSR = dyn_cast<SubRegion>(Base)) {
  926       } else if (const SubRegion *BaseSR = dyn_cast<SubRegion>(Base)) {
  940                          const SubRegion *Top, bool IncludeAllDefaultBindings) {
  948                                             const SubRegion *Top) {
  962       const SubRegion *Concrete = TopKey.getConcreteOffsetRegion();
  983     const SubRegion *Concrete = TopKey.getConcreteOffsetRegion();
 1397   SVal Size = cast<SubRegion>(R)->getExtent(svalBuilder);
 1437   const SubRegion *R =
 1438       cast<SubRegion>(Array.castAs<loc::MemRegionVal>().getRegion());
 1479     MR = GetElementZeroRegion(cast<SubRegion>(MR), T);
 1573 static QualType getUnderlyingType(const SubRegion *R) {
 1593                        const SubRegion *R, bool AllowSubregionBindings) {
 1626 std::pair<Store, const SubRegion *>
 1628                                    const SubRegion *R,
 1629                                    const SubRegion *originalRegion) {
 1636   typedef std::pair<Store, const SubRegion *> StoreRegionPair;
 1640     Result = findLazyBinding(B, cast<SubRegion>(ER->getSuperRegion()),
 1647     Result = findLazyBinding(B, cast<SubRegion>(FR->getSuperRegion()),
 1657     Result = findLazyBinding(B, cast<SubRegion>(BaseReg->getSuperRegion()),
 1848 SVal RegionStoreManager::getLazyBinding(const SubRegion *LazyBindingRegion,
 1887   const SubRegion *lazyBindingRegion = nullptr;
 1913   const SubRegion *SR = R;
 1933     SR = dyn_cast<SubRegion>(Base);
 2060   const SubRegion *LazyR = LCV.getRegion();
 2200   RegionBindingsRef NewB = removeSubRegionBindings(B, cast<SubRegion>(R));
tools/clang/lib/StaticAnalyzer/Core/SVals.cpp
  109   while (const auto *SR = dyn_cast<SubRegion>(R)) {
  109   while (const auto *SR = dyn_cast<SubRegion>(R)) {
tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
 1172     const SubRegion *superR = nullptr;
 1181       superR = cast<SubRegion>(elemReg->getSuperRegion());
 1184     else if (isa<SubRegion>(region)) {
 1187       superR = cast<SubRegion>(region);
tools/clang/lib/StaticAnalyzer/Core/Store.cpp
   60 const ElementRegion *StoreManager::MakeElementRegion(const SubRegion *Base,
   67 const ElementRegion *StoreManager::GetElementZeroRegion(const SubRegion *R,
  141       return MakeElementRegion(cast<SubRegion>(R), PointeeTy);
  186         return MakeElementRegion(cast<SubRegion>(baseR), PointeeTy);
  217         newSuperR = MakeElementRegion(cast<SubRegion>(baseR), Ctx.CharTy,
  221       return MakeElementRegion(cast<SubRegion>(newSuperR), PointeeTy, newIndex);
  295       BaseDecl, cast<SubRegion>(DerivedReg), IsVirtual);
  437   const SubRegion* BaseR = nullptr;
  441     BaseR = cast<SubRegion>(BaseL.castAs<loc::MemRegionVal>().getRegion());
  489   const SubRegion *BaseRegion =
  490       Base.castAs<loc::MemRegionVal>().getRegionAs<SubRegion>();
  526         elementType, Offset, cast<SubRegion>(ElemR->getSuperRegion()), Ctx));
  537   const SubRegion *ArrayR = cast<SubRegion>(ElemR->getSuperRegion());
  537   const SubRegion *ArrayR = cast<SubRegion>(ElemR->getSuperRegion());
tools/clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
  220 SymbolManager::getExtentSymbol(const SubRegion *R) {
  412   for (auto SR = dyn_cast<SubRegion>(region); SR;
  413        SR = dyn_cast<SubRegion>(SR->getSuperRegion())) {
usr/include/c++/7.4.0/type_traits
 1558     { typedef _Tp     type; };