class CXXDestructorCall

Declaration

class CXXDestructorCall : public CXXInstanceCall { /* full declaration omitted */ };

Description

Represents an implicit call to a C++ destructor. This can occur at the end of a scope (for automatic objects), at the end of a full-expression (for temporaries), or as part of a delete.

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

Inherits from: CXXInstanceCall

Member Variables

Inherited from CallEvent:

protected Data
protected Location

Method Overview

  • protected CXXDestructorCall(const clang::CXXDestructorDecl * DD, const clang::Stmt * Trigger, const clang::ento::MemRegion * Target, bool IsBaseDestructor, clang::ento::ProgramStateRef St, const clang::LocationContext * LCtx)
  • protected CXXDestructorCall(const clang::ento::CXXDestructorCall & Other)
  • public static bool classof(const clang::ento::CallEvent * CA)
  • protected void cloneTo(void * Dest) const
  • public clang::ento::SVal getCXXThisVal() const
  • public clang::ento::CallEvent::Kind getKind() const
  • public llvm::StringRef getKindAsString() const
  • public unsigned int getNumArgs() const
  • public clang::ento::RuntimeDefinition getRuntimeDefinition() const
  • public clang::SourceRange getSourceRange() const
  • public bool isBaseDestructor() const

Inherited from CXXInstanceCall:

Inherited from AnyFunctionCall:

Inherited from CallEvent:

Methods

CXXDestructorCall(
    const clang::CXXDestructorDecl* DD,
    const clang::Stmt* Trigger,
    const clang::ento::MemRegion* Target,
    bool IsBaseDestructor,
    clang::ento::ProgramStateRef St,
    const clang::LocationContext* LCtx)

Description

Creates an implicit destructor.

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

Parameters

const clang::CXXDestructorDecl* DD
The destructor that will be called.
const clang::Stmt* Trigger
The statement whose completion causes this destructor call.
const clang::ento::MemRegion* Target
The object region to be destructed.
bool IsBaseDestructor
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.

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

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

Parameters

const clang::ento::CXXDestructorCall& Other

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

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

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:819

Parameters

void* Dest

clang::ento::SVal getCXXThisVal() const

Description

Returns the value of the implicit 'this' object.

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

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

Description

Returns the kind of call this is.

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

llvm::StringRef getKindAsString() const

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

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:823

clang::ento::RuntimeDefinition
getRuntimeDefinition() const

Description

Returns the definition of the function or method that will be called.

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

clang::SourceRange getSourceRange() const

Description

Returns a source range for the entire call, suitable for outputting in diagnostics.

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

bool isBaseDestructor() const

Description

Returns true if this is a call to a base class destructor.

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