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:
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:
- public classof
- public getCXXThisExpr
- public getCXXThisVal
- public getDecl
- protected getExtraInvalidatedValues
- public getInitialStackFrameContents
- public getRuntimeDefinition
Inherited from AnyFunctionCall:
- public argumentsMayEscape
- public classof
- public getDecl
- public getInitialStackFrameContents
- public getRuntimeDefinition
- public parameters
Inherited from CallEvent:
- public argumentsMayEscape
- protected cloneTo
- public cloneWithState
- public cloneWithState
- public dump
- public dump
- public getASTArgumentIndex
- public getAdjustedParameterIndex
- public getArgExpr
- public getArgSVal
- public getArgSourceRange
- public getCalleeAnalysisDeclContext
- public getCalleeIdentifier
- public getCalleeStackFrame
- public getConstructionContext
- public getDecl
- public getDeclaredResultType
- protected getExtraInvalidatedValues
- public getInitialStackFrameContents
- public getKind
- public getKindAsString
- public getLocationContext
- public getNumArgs
- public getOriginExpr
- public getParameterLocation
- public getProgramPoint
- public getResultType
- public getReturnValue
- public getReturnValueUnderConstruction
- public getRuntimeDefinition
- protected getSVal
- public getSourceRange
- public getState
- public hasNonNullArgumentsWithType
- public hasNonZeroCallbackArg
- public hasVoidPointerToNonConstArg
- public invalidateRegions
- public isArgumentConstructedDirectly
- public isCallStmt
- public isForeign
- public isGlobalCFunction
- public isInSystemHeader
- public isVariadic
- public param_type_begin
- public param_type_end
- public parameters
- public setForeign
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)
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)
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)
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
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
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
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
llvm::StringRef getKindAsString() const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:836
¶unsigned int getNumArgs() const
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
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
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
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