clang 19.0.0git
Public Member Functions | Friends | List of all members
clang::PreImplicitCall Class Reference

Represents a program point just before an implicit call event. More...

#include "clang/Analysis/ProgramPoint.h"

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

Public Member Functions

 PreImplicitCall (const Decl *D, SourceLocation Loc, const LocationContext *L, CFGBlock::ConstCFGElementRef ElemRef, const ProgramPointTag *Tag=nullptr)
 
- Public Member Functions inherited from clang::ImplicitCallPoint
 ImplicitCallPoint (const Decl *D, SourceLocation Loc, Kind K, const LocationContext *L, const ProgramPointTag *Tag, CFGBlock::ConstCFGElementRef ElemRef)
 
const DeclgetDecl () const
 
SourceLocation getLocation () 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 >
castAs () const
 Convert to the specified ProgramPoint type, asserting that this ProgramPoint is of the desired type.
 
template<typename T >
std::optional< T > getAs () 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::ImplicitCallPoint
 ImplicitCallPoint ()=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 just before an implicit call event.

Explicit calls will appear as PreStmt program points.

Definition at line 579 of file ProgramPoint.h.

Constructor & Destructor Documentation

◆ PreImplicitCall()

clang::PreImplicitCall::PreImplicitCall ( const Decl D,
SourceLocation  Loc,
const LocationContext L,
CFGBlock::ConstCFGElementRef  ElemRef,
const ProgramPointTag Tag = nullptr 
)
inline

Definition at line 581 of file ProgramPoint.h.

Friends And Related Function Documentation

◆ ProgramPoint

friend class ProgramPoint
friend

Definition at line 587 of file ProgramPoint.h.


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