class ConstructionContextItem

Declaration

class ConstructionContextItem { /* full declaration omitted */ };

Description

Represents a single point (AST node) in the program that requires attention during construction of an object. ConstructionContext would be represented as a list of such items.

Declared at: clang/include/clang/Analysis/ConstructionContext.h:28

Member Variables

private const void* const Data
private const clang::ConstructionContextItem::ItemKind Kind
private const unsigned int Index = 0

Method Overview

Methods

ConstructionContextItem(
    const clang::LambdaExpr* LE,
    unsigned int Index)

Declared at: clang/include/clang/Analysis/ConstructionContext.h:133

Parameters

const clang::LambdaExpr* LE
unsigned int Index

ConstructionContextItem(
    const clang::CXXCtorInitializer* Init)

Declared at: clang/include/clang/Analysis/ConstructionContext.h:130

Parameters

const clang::CXXCtorInitializer* Init

ConstructionContextItem(const clang::Expr* E,
                        unsigned int Index)

Declared at: clang/include/clang/Analysis/ConstructionContext.h:123

Parameters

const clang::Expr* E
unsigned int Index

ConstructionContextItem(const clang::DeclStmt* DS)

Declared at: clang/include/clang/Analysis/ConstructionContext.h:90

Parameters

const clang::DeclStmt* DS

ConstructionContextItem(
    const clang::CXXNewExpr* NE)

Declared at: clang/include/clang/Analysis/ConstructionContext.h:93

Parameters

const clang::CXXNewExpr* NE

ConstructionContextItem(
    const clang::ReturnStmt* RS)

Declared at: clang/include/clang/Analysis/ConstructionContext.h:96

Parameters

const clang::ReturnStmt* RS

ConstructionContextItem(
    const clang::MaterializeTemporaryExpr* MTE)

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

Parameters

const clang::MaterializeTemporaryExpr* MTE

ConstructionContextItem(
    const clang::CXXBindTemporaryExpr* BTE,
    bool IsElided = false)

Declared at: clang/include/clang/Analysis/ConstructionContext.h:102

Parameters

const clang::CXXBindTemporaryExpr* BTE
bool IsElided = false

ConstructionContextItem(
    const clang::CXXConstructExpr* CE)

Declared at: clang/include/clang/Analysis/ConstructionContext.h:107

Parameters

const clang::CXXConstructExpr* CE

ConstructionContextItem(const clang::CallExpr* CE,
                        unsigned int Index)

Declared at: clang/include/clang/Analysis/ConstructionContext.h:110

Parameters

const clang::CallExpr* CE
unsigned int Index

ConstructionContextItem(
    const clang::CXXConstructExpr* CE,
    unsigned int Index)

Declared at: clang/include/clang/Analysis/ConstructionContext.h:113

Parameters

const clang::CXXConstructExpr* CE
unsigned int Index

ConstructionContextItem(
    const clang::CXXInheritedCtorInitExpr* CE,
    unsigned int Index)

Declared at: clang/include/clang/Analysis/ConstructionContext.h:116

Parameters

const clang::CXXInheritedCtorInitExpr* CE
unsigned int Index

ConstructionContextItem(
    const clang::ObjCMessageExpr* ME,
    unsigned int Index)

Declared at: clang/include/clang/Analysis/ConstructionContext.h:119

Parameters

const clang::ObjCMessageExpr* ME
unsigned int Index

void Profile(llvm::FoldingSetNodeID& ID) const

Declared at: clang/include/clang/Analysis/ConstructionContext.h:174

Parameters

llvm::FoldingSetNodeID& ID

const clang::CXXCtorInitializer*
getCXXCtorInitializer() const

Description

The construction site is not necessarily a statement. It may also be a CXXCtorInitializer, which means that a member variable is being constructed during initialization of the object that contains it.

Declared at: clang/include/clang/Analysis/ConstructionContext.h:158

unsigned int getIndex() const

Description

If a single trigger statement triggers multiple constructors, they are usually being enumerated. This covers function argument constructors triggered by a call-expression and items in an initializer list triggered by an init-list-expression.

Declared at: clang/include/clang/Analysis/ConstructionContext.h:167

clang::ConstructionContextItem::ItemKind getKind()
    const

Declared at: clang/include/clang/Analysis/ConstructionContext.h:136

llvm::StringRef getKindAsString() const

Declared at: clang/include/clang/Analysis/ConstructionContext.h:138

static llvm::StringRef getKindAsString(
    clang::ConstructionContextItem::ItemKind K)

Declared at: clang/include/clang/Analysis/ConstructionContext.h:49

Parameters

clang::ConstructionContextItem::ItemKind K

const clang::Stmt* getStmt() const

Description

The construction site - the statement that triggered the construction for one of its parts. For instance, stack variable declaration statement triggers construction of itself or its elements if it's an array, new-expression triggers construction of the newly allocated object(s).

Declared at: clang/include/clang/Analysis/ConstructionContext.h:146

const clang::Stmt* getStmtOrNull() const

Declared at: clang/include/clang/Analysis/ConstructionContext.h:151

bool hasIndex() const

Declared at: clang/include/clang/Analysis/ConstructionContext.h:76

bool hasInitializer() const

Declared at: clang/include/clang/Analysis/ConstructionContext.h:81

bool hasStatement() const

Declared at: clang/include/clang/Analysis/ConstructionContext.h:71