clang  12.0.0git
Public Member Functions | Friends | List of all members
clang::AnalysisDeclContextManager Class Reference

#include "clang/Analysis/AnalysisDeclContext.h"

Public Member Functions

 AnalysisDeclContextManager (ASTContext &ASTCtx, bool useUnoptimizedCFG=false, bool addImplicitDtors=false, bool addInitializers=false, bool addTemporaryDtors=false, bool addLifetime=false, bool addLoopExit=false, bool addScopes=false, bool synthesizeBodies=false, bool addStaticInitBranches=false, bool addCXXNewAllocator=true, bool addRichCXXConstructors=true, bool markElidedCXXConstructors=true, bool addVirtualBaseBranches=true, CodeInjector *injector=nullptr)
AnalysisDeclContextgetContext (const Decl *D)
bool getUseUnoptimizedCFG () const
CFG::BuildOptionsgetCFGBuildOptions ()
bool synthesizeBodies () const
const StackFrameContextgetStackFrame (const Decl *D)
 Obtain the beginning context of the analysis. More...
const StackFrameContextgetStackFrame (AnalysisDeclContext *ADC, const LocationContext *Parent, const Stmt *S, const CFGBlock *Block, unsigned BlockCount, unsigned Index)
 Obtain a context of the call stack using its parent context. More...
BodyFarmgetBodyFarm ()
void clear ()
 Discard all previously created AnalysisDeclContexts. More...


class AnalysisDeclContext

Detailed Description

Definition at line 419 of file AnalysisDeclContext.h.

Constructor & Destructor Documentation

◆ AnalysisDeclContextManager()

AnalysisDeclContextManager::AnalysisDeclContextManager ( ASTContext ASTCtx,
bool  useUnoptimizedCFG = false,
bool  addImplicitDtors = false,
bool  addInitializers = false,
bool  addTemporaryDtors = false,
bool  addLifetime = false,
bool  addLoopExit = false,
bool  addScopes = false,
bool  synthesizeBodies = false,
bool  addStaticInitBranches = false,
bool  addCXXNewAllocator = true,
bool  addRichCXXConstructors = true,
bool  markElidedCXXConstructors = true,
bool  addVirtualBaseBranches = true,
CodeInjector injector = nullptr 

Member Function Documentation

◆ clear()

void AnalysisDeclContextManager::clear ( )

Discard all previously created AnalysisDeclContexts.

Definition at line 91 of file AnalysisDeclContext.cpp.

Referenced by clang::ento::AnalysisManager::ClearContexts(), and clang::LocationContextManager::~LocationContextManager().

◆ getBodyFarm()

BodyFarm & AnalysisDeclContextManager::getBodyFarm ( )

Definition at line 309 of file AnalysisDeclContext.cpp.

◆ getCFGBuildOptions()

CFG::BuildOptions& clang::AnalysisDeclContextManager::getCFGBuildOptions ( )

◆ getContext()

AnalysisDeclContext * AnalysisDeclContextManager::getContext ( const Decl D)

◆ getStackFrame() [1/2]

const StackFrameContext* clang::AnalysisDeclContextManager::getStackFrame ( const Decl D)

Obtain the beginning context of the analysis.

The top level stack frame for D.

Definition at line 464 of file AnalysisDeclContext.h.

References clang::LocationContextManager::getStackFrame().

Referenced by clang::ento::CallEvent::getCalleeStackFrame(), and clang::LocationContext::inTopFrame().

◆ getStackFrame() [2/2]

const StackFrameContext* clang::AnalysisDeclContextManager::getStackFrame ( AnalysisDeclContext ADC,
const LocationContext Parent,
const Stmt S,
const CFGBlock Block,
unsigned  BlockCount,
unsigned  Index 

Obtain a context of the call stack using its parent context.

ADCThe AnalysisDeclContext.
ParentLCThe parent context of this newly created context.
SThe call.
BlockThe basic block.
BlockCountThe current count of entering into Blk.
IndexThe index of Blk.
The context for D with parent context ParentLC.

Definition at line 470 of file AnalysisDeclContext.h.

◆ getUseUnoptimizedCFG()

bool clang::AnalysisDeclContextManager::getUseUnoptimizedCFG ( ) const

◆ synthesizeBodies()

bool clang::AnalysisDeclContextManager::synthesizeBodies ( ) const
Whether faux bodies should be synthesized for known functions.

Definition at line 459 of file AnalysisDeclContext.h.

Friends And Related Function Documentation

◆ AnalysisDeclContext

friend class AnalysisDeclContext

Definition at line 483 of file AnalysisDeclContext.h.

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