clang 20.0.0git
Public Member Functions | Friends | List of all members
clang::PostStore Class Reference

Represents a program point after a store evaluation. More...

#include "clang/Analysis/ProgramPoint.h"

Inheritance diagram for clang::PostStore:
Inheritance graph
[legend]

Public Member Functions

 PostStore (const Stmt *S, const LocationContext *L, const void *Loc, const ProgramPointTag *tag=nullptr)
 Construct the post store point.
 
const void * getLocationValue () const
 Returns the information about the location used in the store, how it was uttered in the code.
 
- Public Member Functions inherited from clang::PostStmt
 PostStmt (const Stmt *S, Kind k, const LocationContext *L, const ProgramPointTag *tag=nullptr)
 
 PostStmt (const Stmt *S, const LocationContext *L, const ProgramPointTag *tag=nullptr)
 
- Public Member Functions inherited from clang::StmtPoint
 StmtPoint (const Stmt *S, const void *p2, Kind k, const LocationContext *L, const ProgramPointTag *tag)
 
const StmtgetStmt () const
 
template<typename T >
const TgetStmtAs () const
 
- Public Member Functions inherited from clang::ProgramPoint
ProgramPoint withTag (const ProgramPointTag *tag) const
 Create a new ProgramPoint object that is the same as the original except for using the specified tag value.
 
template<typename T >
T castAs () const
 Convert to the specified ProgramPoint type, asserting that this ProgramPoint is of the desired type.
 
template<typename T >
std::optional< TgetAs () const
 Convert to the specified ProgramPoint type, returning std::nullopt if this ProgramPoint is not of the desired type.
 
Kind getKind () const
 
bool isPurgeKind ()
 Is this a program point corresponding to purge/removal of dead symbols and bindings.
 
const ProgramPointTaggetTag () const
 
const LocationContextgetLocationContext () const
 
const StackFrameContextgetStackFrame () const
 
unsigned getHashValue () const
 
bool operator== (const ProgramPoint &RHS) const
 
bool operator!= (const ProgramPoint &RHS) const
 
void Profile (llvm::FoldingSetNodeID &ID) const
 
void printJson (llvm::raw_ostream &Out, const char *NL="\n") const
 
LLVM_DUMP_METHOD void dump () const
 

Friends

class ProgramPoint
 

Additional Inherited Members

- Public Types inherited from clang::ProgramPoint
enum  Kind {
  BlockEdgeKind , BlockEntranceKind , BlockExitKind , PreStmtKind ,
  PreStmtPurgeDeadSymbolsKind , PostStmtPurgeDeadSymbolsKind , PostStmtKind , PreLoadKind ,
  PostLoadKind , PreStoreKind , PostStoreKind , PostConditionKind ,
  PostLValueKind , PostAllocatorCallKind , MinPostStmtKind = PostStmtKind , MaxPostStmtKind = PostAllocatorCallKind ,
  PostInitializerKind , CallEnterKind , CallExitBeginKind , CallExitEndKind ,
  FunctionExitKind , PreImplicitCallKind , PostImplicitCallKind , MinImplicitCallKind = PreImplicitCallKind ,
  MaxImplicitCallKind = PostImplicitCallKind , LoopExitKind , EpsilonKind
}
 
- Static Public Member Functions inherited from clang::ProgramPoint
static ProgramPoint getProgramPoint (const Stmt *S, ProgramPoint::Kind K, const LocationContext *LC, const ProgramPointTag *tag)
 
- Protected Member Functions inherited from clang::PostStmt
 PostStmt ()=default
 
 PostStmt (const Stmt *S, const void *data, Kind k, const LocationContext *L, const ProgramPointTag *tag=nullptr)
 
- Protected Member Functions inherited from clang::StmtPoint
 StmtPoint ()=default
 
- Protected Member Functions inherited from clang::ProgramPoint
 ProgramPoint ()=default
 
 ProgramPoint (const void *P, Kind k, const LocationContext *l, const ProgramPointTag *tag=nullptr, CFGBlock::ConstCFGElementRef ElemRef={nullptr, 0})
 
 ProgramPoint (const void *P1, const void *P2, Kind k, const LocationContext *l, const ProgramPointTag *tag=nullptr, CFGBlock::ConstCFGElementRef ElemRef={nullptr, 0})
 
const void * getData1 () const
 
const void * getData2 () const
 
void setData2 (const void *d)
 
CFGBlock::ConstCFGElementRef getElementRef () const
 

Detailed Description

Represents a program point after a store evaluation.

Definition at line 426 of file ProgramPoint.h.

Constructor & Destructor Documentation

◆ PostStore()

clang::PostStore::PostStore ( const Stmt S,
const LocationContext L,
const void *  Loc,
const ProgramPointTag tag = nullptr 
)
inline

Construct the post store point.

Parameters
Loccan be used to store the information about the location used in the form it was uttered in the code.

Definition at line 431 of file ProgramPoint.h.

References clang::ProgramPoint::getData2(), Loc, and clang::ProgramPoint::setData2().

Member Function Documentation

◆ getLocationValue()

const void * clang::PostStore::getLocationValue ( ) const
inline

Returns the information about the location used in the store, how it was uttered in the code.

Definition at line 440 of file ProgramPoint.h.

References clang::ProgramPoint::getData2().

Friends And Related Function Documentation

◆ ProgramPoint

friend class ProgramPoint
friend

Definition at line 445 of file ProgramPoint.h.


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