clang  7.0.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
clang::BlockCall Class Reference

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

Inheritance diagram for clang::BlockCall:
[legend]
Collaboration diagram for clang::BlockCall:
[legend]

Public Member Functions

virtual const CallExprgetOriginExpr () const
 
unsigned getNumArgs () const override
 
const ExprgetArgExpr (unsigned Index) const override
 
const BlockDataRegiongetBlockRegion () const
 Returns the region associated with this instance of the block. More...
 
const BlockDeclgetDecl () const override
 
bool isConversionFromLambda () const
 
const VarRegion * getRegionStoringCapturedLambda () const
 For a block converted from a C++ lambda, returns the block VarRegion for the variable holding the captured C++ lambda record. More...
 
RuntimeDefinition getRuntimeDefinition () const override
 
bool argumentsMayEscape () const override
 
void getInitialStackFrameContents (const StackFrameContext *CalleeCtx, BindingsTy &Bindings) const override
 
ArrayRef< ParmVarDecl * > parameters () const override
 
Kind getKind () const override
 

Static Public Member Functions

static bool classof (const CallEvent *CA)
 

Protected Member Functions

 BlockCall (const CallExpr *CE, ProgramStateRef St, const LocationContext *LCtx)
 
 BlockCall (const BlockCall &Other)=default
 
void cloneTo (void *Dest) const override
 
void getExtraInvalidatedValues (ValueList &Values, RegionAndSymbolInvalidationTraits *ETraits) const override
 

Friends

class CallEventManager
 

Detailed Description

Definition at line 556 of file CallEvent.h.

Constructor & Destructor Documentation

◆ BlockCall() [1/2]

clang::BlockCall::BlockCall ( const CallExpr CE,
ProgramStateRef  St,
const LocationContext LCtx 
)
inlineprotected

Definition at line 560 of file CallEvent.h.

◆ BlockCall() [2/2]

clang::BlockCall::BlockCall ( const BlockCall Other)
protecteddefault

Member Function Documentation

◆ argumentsMayEscape()

bool clang::BlockCall::argumentsMayEscape ( ) const
inlineoverride

Definition at line 644 of file CallEvent.h.

◆ classof()

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

Definition at line 655 of file CallEvent.h.

References clang::ento::CE_Block.

◆ cloneTo()

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

Definition at line 565 of file CallEvent.h.

◆ getArgExpr()

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

Definition at line 577 of file CallEvent.h.

◆ getBlockRegion()

const BlockDataRegion * BlockCall::getBlockRegion ( ) const

Returns the region associated with this instance of the block.

This may be NULL if the block's origin is unknown.

Definition at line 751 of file CallEvent.cpp.

References clang::ento::SVal::getAsRegion(), clang::ento::CallEvent::getOriginExpr(), and clang::ento::CallEvent::getSVal().

◆ getDecl()

const BlockDecl* clang::BlockCall::getDecl ( ) const
inlineoverride

Definition at line 586 of file CallEvent.h.

◆ getExtraInvalidatedValues()

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

Definition at line 765 of file CallEvent.cpp.

◆ getInitialStackFrameContents()

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

◆ getKind()

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

Definition at line 653 of file CallEvent.h.

References clang::ento::CE_Block.

◆ getNumArgs()

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

Definition at line 575 of file CallEvent.h.

◆ getOriginExpr()

virtual const CallExpr* clang::BlockCall::getOriginExpr ( ) const
inlinevirtual

Definition at line 571 of file CallEvent.h.

References clang::ento::CallEvent::getOriginExpr().

◆ getRegionStoringCapturedLambda()

const VarRegion* clang::BlockCall::getRegionStoringCapturedLambda ( ) const
inline

For a block converted from a C++ lambda, returns the block VarRegion for the variable holding the captured C++ lambda record.

Definition at line 603 of file CallEvent.h.

◆ getRuntimeDefinition()

RuntimeDefinition clang::BlockCall::getRuntimeDefinition ( ) const
inlineoverride

◆ isConversionFromLambda()

bool clang::BlockCall::isConversionFromLambda ( ) const
inline

Definition at line 593 of file CallEvent.h.

References clang::BlockDecl::isConversionFromLambda().

◆ parameters()

ArrayRef< ParmVarDecl * > BlockCall::parameters ( ) const
override

Friends And Related Function Documentation

◆ CallEventManager

friend class CallEventManager
friend

Definition at line 557 of file CallEvent.h.


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