clang  8.0.0svn
Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
clang::CXXConstructorCall Class Reference

Represents a call to a C++ constructor. More...

#include "clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h"

Inheritance diagram for clang::CXXConstructorCall:
Inheritance graph
[legend]
Collaboration diagram for clang::CXXConstructorCall:
Collaboration graph
[legend]

Public Member Functions

virtual const CXXConstructExprgetOriginExpr () const
 
const CXXConstructorDeclgetDecl () const override
 
unsigned getNumArgs () const override
 
const ExprgetArgExpr (unsigned Index) const override
 
SVal getCXXThisVal () const
 Returns the value of the implicit 'this' object. More...
 
void getInitialStackFrameContents (const StackFrameContext *CalleeCtx, BindingsTy &Bindings) const override
 
Kind getKind () const override
 

Static Public Member Functions

static bool classof (const CallEvent *CA)
 

Protected Member Functions

 CXXConstructorCall (const CXXConstructExpr *CE, const MemRegion *Target, ProgramStateRef St, const LocationContext *LCtx)
 Creates a constructor call. More...
 
 CXXConstructorCall (const CXXConstructorCall &Other)=default
 
void cloneTo (void *Dest) const override
 
void getExtraInvalidatedValues (ValueList &Values, RegionAndSymbolInvalidationTraits *ETraits) const override
 

Friends

class CallEventManager
 

Detailed Description

Represents a call to a C++ constructor.

Example: T(1)

Definition at line 849 of file CallEvent.h.

Constructor & Destructor Documentation

◆ CXXConstructorCall() [1/2]

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

Creates a constructor call.

Parameters
CEThe constructor expression as written in the source.
TargetThe region where the object should be constructed. If NULL, a new symbolic region will be used.
StThe path-sensitive state at this point in the program.
LCtxThe location context at this point in the program.

Definition at line 860 of file CallEvent.h.

◆ CXXConstructorCall() [2/2]

clang::CXXConstructorCall::CXXConstructorCall ( const CXXConstructorCall Other)
protecteddefault

Member Function Documentation

◆ classof()

static bool clang::CXXConstructorCall::classof ( const CallEvent CA)
inlinestatic

Definition at line 896 of file CallEvent.h.

References clang::ento::CE_CXXConstructor.

◆ cloneTo()

void clang::CXXConstructorCall::cloneTo ( void *  Dest) const
inlineoverrideprotected

Definition at line 868 of file CallEvent.h.

◆ getArgExpr()

const Expr* clang::CXXConstructorCall::getArgExpr ( unsigned  Index) const
inlineoverride

Definition at line 884 of file CallEvent.h.

◆ getCXXThisVal()

SVal CXXConstructorCall::getCXXThisVal ( ) const

Returns the value of the implicit 'this' object.

Definition at line 874 of file CallEvent.cpp.

References clang::ento::CallEvent::Data.

◆ getDecl()

const CXXConstructorDecl* clang::CXXConstructorCall::getDecl ( ) const
inlineoverride

Definition at line 878 of file CallEvent.h.

Referenced by clang::ento::ExprEngine::bindReturnValue().

◆ getExtraInvalidatedValues()

void CXXConstructorCall::getExtraInvalidatedValues ( ValueList Values,
RegionAndSymbolInvalidationTraits *  ETraits 
) const
overrideprotected

◆ getInitialStackFrameContents()

void CXXConstructorCall::getInitialStackFrameContents ( const StackFrameContext CalleeCtx,
BindingsTy &  Bindings 
) const
override

◆ getKind()

Kind clang::CXXConstructorCall::getKind ( ) const
inlineoverride

Definition at line 894 of file CallEvent.h.

References clang::ento::CE_CXXConstructor.

◆ getNumArgs()

unsigned clang::CXXConstructorCall::getNumArgs ( ) const
inlineoverride

Definition at line 882 of file CallEvent.h.

◆ getOriginExpr()

virtual const CXXConstructExpr* clang::CXXConstructorCall::getOriginExpr ( ) const
inlinevirtual

Friends And Related Function Documentation

◆ CallEventManager

friend class CallEventManager
friend

Definition at line 850 of file CallEvent.h.


The documentation for this class was generated from the following files: