| clang 22.0.0git
    | 
#include "clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h"
| Public Member Functions | |
| const VarDecl * | getDecl () const override=0 | 
| const StackFrameContext * | getStackFrame () const | 
| It might return null. | |
| QualType | getValueType () const override | 
| Public Member Functions inherited from clang::ento::TypedValueRegion | |
| QualType | getLocationType () const override | 
| QualType | getDesugaredValueType (ASTContext &Context) const | 
| Public Member Functions inherited from clang::ento::TypedRegion | |
| QualType | getDesugaredLocationType (ASTContext &Context) const | 
| bool | isBoundable () const override | 
| Public Member Functions inherited from clang::ento::SubRegion | |
| LLVM_ATTRIBUTE_RETURNS_NONNULL const MemRegion * | getSuperRegion () const | 
| MemRegionManager & | getMemRegionManager () const override | 
| bool | isSubRegionOf (const MemRegion *R) const override | 
| Check if the region is a subregion of the given region. | |
| Public Member Functions inherited from clang::ento::MemRegion | |
| ASTContext & | getContext () const | 
| virtual void | Profile (llvm::FoldingSetNodeID &ID) const =0 | 
| LLVM_ATTRIBUTE_RETURNS_NONNULL const MemSpaceRegion * | getRawMemorySpace () const | 
| Deprecated. | |
| template<class MemSpace> | |
| const MemSpace * | getRawMemorySpaceAs () const | 
| Deprecated. Use getMemorySpace(ProgramStateRef) instead. | |
| LLVM_ATTRIBUTE_RETURNS_NONNULL const MemSpaceRegion * | getMemorySpace (ProgramStateRef State) const | 
| Returns the most specific memory space for this memory region in the given ProgramStateRef. | |
| template<class MemSpace> | |
| const MemSpace * | getMemorySpaceAs (ProgramStateRef State) const | 
| template<typename... MemorySpaces> | |
| bool | hasMemorySpace (ProgramStateRef State) const | 
| ProgramStateRef | setMemorySpace (ProgramStateRef State, const MemSpaceRegion *Space) const | 
| Set the dynamically deduced memory space of a MemRegion that currently has UnknownSpaceRegion. | |
| LLVM_ATTRIBUTE_RETURNS_NONNULL const MemRegion * | getBaseRegion () const | 
| LLVM_ATTRIBUTE_RETURNS_NONNULL const MemRegion * | getMostDerivedObjectRegion () const | 
| Recursively retrieve the region of the most derived class instance of regions of C++ base class instances. | |
| LLVM_ATTRIBUTE_RETURNS_NONNULL const MemRegion * | StripCasts (bool StripBaseAndDerivedCasts=true) const | 
| const SymbolicRegion * | getSymbolicBase () const | 
| If this is a symbolic region, returns the region. | |
| RegionOffset | getAsOffset () const | 
| Compute the offset within the top level memory object. | |
| std::string | getString () const | 
| Get a string representation of a region for debug use. | |
| virtual void | dumpToStream (raw_ostream &os) const | 
| void | dump () const | 
| virtual bool | canPrintPretty () const | 
| Returns true if this region can be printed in a user-friendly way. | |
| virtual void | printPretty (raw_ostream &os) const | 
| Print the region for use in diagnostics. | |
| virtual bool | canPrintPrettyAsExpr () const | 
| Returns true if this region's textual representation can be used as part of a larger expression. | |
| virtual void | printPrettyAsExpr (raw_ostream &os) const | 
| Print the region as expression. | |
| Kind | getKind () const | 
| StringRef | getKindStr () const | 
| template<typename RegionTy> | |
| const RegionTy * | getAs () const | 
| template<typename RegionTy> | |
| LLVM_ATTRIBUTE_RETURNS_NONNULL const RegionTy * | castAs () const | 
| std::string | getDescriptiveName (bool UseQuotes=true) const | 
| Get descriptive name for memory region. | |
| SourceRange | sourceRange () const | 
| Retrieve source range from memory region. | |
| Static Public Member Functions | |
| static bool | classof (const MemRegion *R) | 
| Static Public Member Functions inherited from clang::ento::DeclRegion | |
| static bool | classof (const MemRegion *R) | 
| Static Public Member Functions inherited from clang::ento::TypedValueRegion | |
| static bool | classof (const MemRegion *R) | 
| Static Public Member Functions inherited from clang::ento::TypedRegion | |
| static bool | classof (const MemRegion *R) | 
| Static Public Member Functions inherited from clang::ento::SubRegion | |
| static bool | classof (const MemRegion *R) | 
| Protected Member Functions | |
| VarRegion (const MemRegion *sReg, Kind k) | |
| Protected Member Functions inherited from clang::ento::DeclRegion | |
| DeclRegion (const MemRegion *sReg, Kind k) | |
| Protected Member Functions inherited from clang::ento::TypedValueRegion | |
| TypedValueRegion (const MemRegion *sReg, Kind k) | |
| Protected Member Functions inherited from clang::ento::TypedRegion | |
| TypedRegion (const MemRegion *sReg, Kind k) | |
| Protected Member Functions inherited from clang::ento::SubRegion | |
| SubRegion (const MemRegion *sReg, Kind k) | |
| Protected Member Functions inherited from clang::ento::MemRegion | |
| MemRegion (Kind k) | |
| virtual | ~MemRegion () | 
| Friends | |
| class | MemRegionManager | 
| Additional Inherited Members | |
| Public Types inherited from clang::ento::MemRegion | |
| enum | Kind | 
| Protected Attributes inherited from clang::ento::SubRegion | |
| const MemRegion * | superRegion | 
Definition at line 978 of file MemRegion.h.
Definition at line 983 of file MemRegion.h.
References clang::ento::DeclRegion::DeclRegion(), and clang::isa().
Referenced by clang::ento::NonParamVarRegion::MemRegionManager, and clang::ento::ParamVarRegion::MemRegionManager.
Definition at line 1004 of file MemRegion.h.
References clang::ento::MemRegion::getKind().
| 
 | overridepure virtual | 
Implements clang::ento::DeclRegion.
Implemented in clang::ento::NonParamVarRegion, and clang::ento::ParamVarRegion.
Referenced by clang::ento::retaincountchecker::RetainCountChecker::checkPostStmt(), clang::ento::BlockCall::getRuntimeDefinition(), getValueType(), isInitializationOfVar(), clang::ento::SymbolReaper::isLive(), and clang::ento::ExprEngine::VisitBlockExpr().
| const StackFrameContext * VarRegion::getStackFrame | ( | ) | const | 
It might return null.
Definition at line 166 of file MemRegion.cpp.
References clang::ento::MemRegion::getRawMemorySpace().
Referenced by clang::ento::ParamVarRegion::getDecl(), clang::ento::SymbolReaper::isLive(), and clang::ento::SValExplainer::VisitParamVarRegion().
| 
 | inlineoverridevirtual | 
Implements clang::ento::TypedValueRegion.
Definition at line 999 of file MemRegion.h.
References getDecl(), and clang::ValueDecl::getType().
| 
 | friend | 
Definition at line 979 of file MemRegion.h.
References MemRegionManager.
Referenced by MemRegionManager.