class ProgramPoint
Declaration
class ProgramPoint { /* full declaration omitted */ };
Declared at: clang/include/clang/Analysis/ProgramPoint.h:58
Member Variables
- private const void* Data1
- private llvm::PointerIntPair<const void*, 2, unsigned int> Data2
- private llvm::PointerIntPair<const LocationContext*, 2, unsigned int> L
- private llvm::PointerIntPair<const ProgramPointTag*, 2, unsigned int> Tag
Method Overview
- public void Profile(llvm::FoldingSetNodeID & ID) const
- protected ProgramPoint(const void * P, clang::ProgramPoint::Kind k, const clang::LocationContext * l, const clang::ProgramPointTag * tag = nullptr)
- protected ProgramPoint(const void * P1, const void * P2, clang::ProgramPoint::Kind k, const clang::LocationContext * l, const clang::ProgramPointTag * tag = nullptr)
- protected ProgramPoint()
- public template <typename T>T castAs() const
- public void dump() const
- public template <typename T>Optional<T> getAs() const
- protected const void * getData1() const
- protected const void * getData2() const
- public unsigned int getHashValue() const
- public clang::ProgramPoint::Kind getKind() const
- public const clang::LocationContext * getLocationContext() const
- public static clang::ProgramPoint getProgramPoint(const clang::Stmt * S, ProgramPoint::Kind K, const clang::LocationContext * LC, const clang::ProgramPointTag * tag)
- public const clang::StackFrameContext * getStackFrame() const
- public const clang::ProgramPointTag * getTag() const
- public bool isPurgeKind()
- public void printJson(llvm::raw_ostream & Out, const char * NL = "\n") const
- protected void setData2(const void * d)
- public clang::ProgramPoint withTag(const clang::ProgramPointTag * tag) const
Methods
¶void Profile(llvm::FoldingSetNodeID& ID) const
void Profile(llvm::FoldingSetNodeID& ID) const
Declared at: clang/include/clang/Analysis/ProgramPoint.h:207
Parameters
¶ProgramPoint(
const void* P,
clang::ProgramPoint::Kind k,
const clang::LocationContext* l,
const clang::ProgramPointTag* tag = nullptr)
ProgramPoint(
const void* P,
clang::ProgramPoint::Kind k,
const clang::LocationContext* l,
const clang::ProgramPointTag* tag = nullptr)
Declared at: clang/include/clang/Analysis/ProgramPoint.h:100
Parameters
- const void* P
- clang::ProgramPoint::Kind k
- const clang::LocationContext* l
- const clang::ProgramPointTag* tag = nullptr
¶ProgramPoint(
const void* P1,
const void* P2,
clang::ProgramPoint::Kind k,
const clang::LocationContext* l,
const clang::ProgramPointTag* tag = nullptr)
ProgramPoint(
const void* P1,
const void* P2,
clang::ProgramPoint::Kind k,
const clang::LocationContext* l,
const clang::ProgramPointTag* tag = nullptr)
Declared at: clang/include/clang/Analysis/ProgramPoint.h:113
Parameters
- const void* P1
- const void* P2
- clang::ProgramPoint::Kind k
- const clang::LocationContext* l
- const clang::ProgramPointTag* tag = nullptr
¶ProgramPoint()
ProgramPoint()
Declared at: clang/include/clang/Analysis/ProgramPoint.h:99
¶template <typename T>
T castAs() const
template <typename T>
T castAs() const
Description
Convert to the specified ProgramPoint type, asserting that this ProgramPoint is of the desired type.
Declared at: clang/include/clang/Analysis/ProgramPoint.h:139
Templates
- T
¶void dump() const
void dump() const
Declared at: clang/include/clang/Analysis/ProgramPoint.h:217
¶template <typename T>
Optional<T> getAs() const
template <typename T>
Optional<T> getAs() const
Description
Convert to the specified ProgramPoint type, returning None if this ProgramPoint is not of the desired type.
Declared at: clang/include/clang/Analysis/ProgramPoint.h:150
Templates
- T
¶const void* getData1() const
const void* getData1() const
Declared at: clang/include/clang/Analysis/ProgramPoint.h:124
¶const void* getData2() const
const void* getData2() const
Declared at: clang/include/clang/Analysis/ProgramPoint.h:125
¶unsigned int getHashValue() const
unsigned int getHashValue() const
Declared at: clang/include/clang/Analysis/ProgramPoint.h:187
¶clang::ProgramPoint::Kind getKind() const
clang::ProgramPoint::Kind getKind() const
Declared at: clang/include/clang/Analysis/ProgramPoint.h:159
¶const clang::LocationContext* getLocationContext()
const
const clang::LocationContext* getLocationContext()
const
Declared at: clang/include/clang/Analysis/ProgramPoint.h:178
¶static clang::ProgramPoint getProgramPoint(
const clang::Stmt* S,
ProgramPoint::Kind K,
const clang::LocationContext* LC,
const clang::ProgramPointTag* tag)
static clang::ProgramPoint getProgramPoint(
const clang::Stmt* S,
ProgramPoint::Kind K,
const clang::LocationContext* LC,
const clang::ProgramPointTag* tag)
Declared at: clang/include/clang/Analysis/ProgramPoint.h:219
Parameters
- const clang::Stmt* S
- ProgramPoint::Kind K
- const clang::LocationContext* LC
- const clang::ProgramPointTag* tag
¶const clang::StackFrameContext* getStackFrame()
const
const clang::StackFrameContext* getStackFrame()
const
Declared at: clang/include/clang/Analysis/ProgramPoint.h:182
¶const clang::ProgramPointTag* getTag() const
const clang::ProgramPointTag* getTag() const
Declared at: clang/include/clang/Analysis/ProgramPoint.h:176
¶bool isPurgeKind()
bool isPurgeKind()
Description
Is this a program point corresponding to purge/removal of dead symbols and bindings.
Declared at: clang/include/clang/Analysis/ProgramPoint.h:170
¶void printJson(llvm::raw_ostream& Out,
const char* NL = "\n") const
void printJson(llvm::raw_ostream& Out,
const char* NL = "\n") const
Declared at: clang/include/clang/Analysis/ProgramPoint.h:215
Parameters
- llvm::raw_ostream& Out
- const char* NL = "\n"
¶void setData2(const void* d)
void setData2(const void* d)
Declared at: clang/include/clang/Analysis/ProgramPoint.h:126
Parameters
- const void* d
¶clang::ProgramPoint withTag(
const clang::ProgramPointTag* tag) const
clang::ProgramPoint withTag(
const clang::ProgramPointTag* tag) const
Description
Create a new ProgramPoint object that is the same as the original except for using the specified tag value.
Declared at: clang/include/clang/Analysis/ProgramPoint.h:131
Parameters
- const clang::ProgramPointTag* tag