class CXXConstructorCall

Declaration

class CXXConstructorCall : public AnyCXXConstructorCall { /* full declaration omitted */ };

Description

Represents a call to a C++ constructor. Example: \c T(1)

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:874

Inherits from: AnyCXXConstructorCall

Member Variables

Inherited from CallEvent:

protected Data
protected Location

Method Overview

  • protected CXXConstructorCall(const clang::CXXConstructExpr * CE, const clang::ento::MemRegion * Target, clang::ento::ProgramStateRef St, const clang::LocationContext * LCtx)
  • protected CXXConstructorCall(const clang::ento::CXXConstructorCall & Other)
  • public static bool classof(const clang::ento::CallEvent * CA)
  • protected void cloneTo(void * Dest) const
  • public const clang::Expr * getArgExpr(unsigned int Index) const
  • public const clang::CXXConstructorDecl * getDecl() const
  • public clang::ento::CallEvent::Kind getKind() const
  • public llvm::StringRef getKindAsString() const
  • public unsigned int getNumArgs() const
  • public const clang::CXXConstructExpr * getOriginExpr() const

Inherited from AnyCXXConstructorCall:

Inherited from AnyFunctionCall:

Inherited from CallEvent:

Methods

CXXConstructorCall(
    const clang::CXXConstructExpr* CE,
    const clang::ento::MemRegion* Target,
    clang::ento::ProgramStateRef St,
    const clang::LocationContext* LCtx)

Description

Creates a constructor call.

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:885

Parameters

const clang::CXXConstructExpr* CE
The constructor expression as written in the source.
const clang::ento::MemRegion* Target
The region where the object should be constructed. If NULL, a new symbolic region will be used.
clang::ento::ProgramStateRef St
The path-sensitive state at this point in the program.
const clang::LocationContext* LCtx
The location context at this point in the program.

CXXConstructorCall(
    const clang::ento::CXXConstructorCall& Other)

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:889

Parameters

const clang::ento::CXXConstructorCall& Other

static bool classof(
    const clang::ento::CallEvent* CA)

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:911

Parameters

const clang::ento::CallEvent* CA

void cloneTo(void* Dest) const

Description

Copies this CallEvent, with vtable intact, into a new block of memory.

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:891

Parameters

void* Dest

const clang::Expr* getArgExpr(
    unsigned int Index) const

Description

Returns the expression associated with a given argument. May be null if this expression does not appear in the source.

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:904

Parameters

unsigned int Index

const clang::CXXConstructorDecl* getDecl() const

Description

Returns the declaration of the function or method that will be called. May be null.

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:898

clang::ento::CallEvent::Kind getKind() const

Description

Returns the kind of call this is.

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:908

llvm::StringRef getKindAsString() const

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:909

unsigned int getNumArgs() const

Description

Returns the number of arguments (explicit and implicit). Note that this may be greater than the number of parameters in the callee's declaration, and that it may include arguments not written in the source.

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:902

const clang::CXXConstructExpr* getOriginExpr()
    const

Description

Returns the expression whose value will be the result of this call. May be null.

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:894