clang  7.0.0svn
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:
Inheritance graph
[legend]
Collaboration diagram for clang::BlockCall:
Collaboration graph
[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 515 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 519 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 603 of file CallEvent.h.

◆ classof()

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

Definition at line 614 of file CallEvent.h.

References clang::ento::CE_Block.

◆ cloneTo()

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

Definition at line 524 of file CallEvent.h.

◆ getArgExpr()

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

Definition at line 536 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 683 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 545 of file CallEvent.h.

◆ getExtraInvalidatedValues()

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

Definition at line 697 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 612 of file CallEvent.h.

References clang::ento::CE_Block.

◆ getNumArgs()

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

Definition at line 534 of file CallEvent.h.

◆ getOriginExpr()

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

Definition at line 530 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 562 of file CallEvent.h.

◆ getRuntimeDefinition()

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

◆ isConversionFromLambda()

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

Definition at line 552 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 516 of file CallEvent.h.


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