clang  6.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)
 
void cloneTo (void *Dest) const override
 
void getExtraInvalidatedValues (ValueList &Values, RegionAndSymbolInvalidationTraits *ETraits) const override
 

Friends

class CallEventManager
 

Detailed Description

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

◆ BlockCall() [2/2]

clang::BlockCall::BlockCall ( const BlockCall Other)
inlineprotected

Definition at line 501 of file CallEvent.h.

Member Function Documentation

◆ argumentsMayEscape()

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

Definition at line 581 of file CallEvent.h.

◆ classof()

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

Definition at line 592 of file CallEvent.h.

References clang::ento::CE_Block.

◆ cloneTo()

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

Definition at line 502 of file CallEvent.h.

◆ getArgExpr()

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

Definition at line 514 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 622 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 523 of file CallEvent.h.

◆ getExtraInvalidatedValues()

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

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

References clang::ento::CE_Block.

◆ getNumArgs()

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

Definition at line 512 of file CallEvent.h.

◆ getOriginExpr()

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

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

◆ getRuntimeDefinition()

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

◆ isConversionFromLambda()

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

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


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