clang  8.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 BlockDataRegion * getBlockRegion () 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 575 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 579 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 663 of file CallEvent.h.

◆ classof()

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

Definition at line 674 of file CallEvent.h.

References clang::ento::CE_Block.

◆ cloneTo()

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

Definition at line 584 of file CallEvent.h.

◆ getArgExpr()

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

Definition at line 596 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 822 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 605 of file CallEvent.h.

◆ getExtraInvalidatedValues()

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

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

References clang::ento::CE_Block.

◆ getNumArgs()

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

Definition at line 594 of file CallEvent.h.

◆ getOriginExpr()

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

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

◆ getRuntimeDefinition()

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

◆ isConversionFromLambda()

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

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


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