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

Declared at: clang/include/clang/Analysis/ProgramPoint.h:207

Parameters

llvm::FoldingSetNodeID& ID

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)

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()

Declared at: clang/include/clang/Analysis/ProgramPoint.h:99

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

Declared at: clang/include/clang/Analysis/ProgramPoint.h:217

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

Declared at: clang/include/clang/Analysis/ProgramPoint.h:124

const void* getData2() const

Declared at: clang/include/clang/Analysis/ProgramPoint.h:125

unsigned int getHashValue() const

Declared at: clang/include/clang/Analysis/ProgramPoint.h:187

clang::ProgramPoint::Kind getKind() const

Declared at: clang/include/clang/Analysis/ProgramPoint.h:159

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)

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

Declared at: clang/include/clang/Analysis/ProgramPoint.h:182

const clang::ProgramPointTag* getTag() const

Declared at: clang/include/clang/Analysis/ProgramPoint.h:176

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

Declared at: clang/include/clang/Analysis/ProgramPoint.h:215

Parameters

llvm::raw_ostream& Out
const char* NL = "\n"

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

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