clang 10.0.0git

Public Types | Public Member Functions | List of all members
clang::ento::RegionAndSymbolInvalidationTraits Class Reference

Information about invalidation for a particular region/symbol. More...

`#include "clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h"`

## Public Types
enum | InvalidationKinds { TK_PreserveContents = 0x1, TK_SuppressEscape = 0x2, TK_DoNotInvalidateSuperRegion = 0x4, TK_EntireMemSpace = 0x8 }
| Describes different invalidation traits. More...

## Public Member Functions
void | setTrait (SymbolRef Sym, InvalidationKinds IK)
void | setTrait (const MemRegion *MR, InvalidationKinds IK)
bool | hasTrait (SymbolRef Sym, InvalidationKinds IK) const
bool | hasTrait (const MemRegion *MR, InvalidationKinds IK) const

## Detailed Description

Information about invalidation for a particular region/symbol.

Definition at line 1445 of file MemRegion.h.

## Member Enumeration Documentation

## ◆ InvalidationKinds

enum clang::ento::RegionAndSymbolInvalidationTraits::InvalidationKinds

Describes different invalidation traits.

Enumerator
TK_PreserveContents | Tells that a region's contents is not changed.
TK_SuppressEscape | Suppress pointer-escaping of a region.
TK_DoNotInvalidateSuperRegion |
TK_EntireMemSpace | When applied to a MemSpaceRegion, indicates the entire memory space should be invalidated.

Definition at line 1458 of file MemRegion.h.

## Member Function Documentation

## ◆ hasTrait() [1/2]

bool RegionAndSymbolInvalidationTraits::hasTrait | ( | SymbolRef | Sym,
|  | InvalidationKinds | IK
| ) |  | const

Definition at line 1599 of file MemRegion.cpp.

## ◆ hasTrait() [2/2]

bool RegionAndSymbolInvalidationTraits::hasTrait | ( | const MemRegion * | MR,
|  | InvalidationKinds | IK
| ) |  | const

Definition at line 1608 of file MemRegion.cpp.

## ◆ setTrait() [1/2]

void RegionAndSymbolInvalidationTraits::setTrait | ( | SymbolRef | Sym,
|  | InvalidationKinds | IK
| ) |  |

Definition at line 1585 of file MemRegion.cpp.

Referenced by clang::ento::ExprEngine::bindReturnValue(), clang::ento::getWidenedLoopState(), and clang::ento::CallEvent::invalidateRegions().

## ◆ setTrait() [2/2]

void RegionAndSymbolInvalidationTraits::setTrait | ( | const MemRegion * | MR,
|  | InvalidationKinds | IK
| ) |  |

Definition at line 1590 of file MemRegion.cpp.

The documentation for this class was generated from the following files:

- include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
- lib/StaticAnalyzer/Core/MemRegion.cpp