class AnalysisDeclContextManager

Declaration

class AnalysisDeclContextManager { /* full declaration omitted */ };

Declared at: clang/include/clang/Analysis/AnalysisDeclContext.h:425

Member Variables

private clang::AnalysisDeclContextManager::ContextMap Contexts
private clang::LocationContextManager LocCtxMgr
private CFG::BuildOptions cfgBuildOptions
private std::unique_ptr<CodeInjector> Injector
private clang::BodyFarm FunctionBodyFarm
private bool SynthesizeBodies

Method Overview

  • public AnalysisDeclContextManager(clang::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, clang::CodeInjector * injector = nullptr)
  • public void clear()
  • public clang::BodyFarm & getBodyFarm()
  • public CFG::BuildOptions & getCFGBuildOptions()
  • public clang::AnalysisDeclContext * getContext(const clang::Decl * D)
  • private clang::LocationContextManager & getLocationContextManager()
  • public const clang::StackFrameContext * getStackFrame(const clang::Decl * D)
  • public const clang::StackFrameContext * getStackFrame(clang::AnalysisDeclContext * ADC, const clang::LocationContext * Parent, const clang::Stmt * S, const clang::CFGBlock * Block, unsigned int BlockCount, unsigned int Index)
  • public bool getUseUnoptimizedCFG() const
  • public bool synthesizeBodies() const

Methods

AnalysisDeclContextManager(
    clang::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,
    clang::CodeInjector* injector = nullptr)

Declared at: clang/include/clang/Analysis/AnalysisDeclContext.h:446

Parameters

clang::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
clang::CodeInjector* injector = nullptr

void clear()

Description

Discard all previously created AnalysisDeclContexts.

Declared at: clang/include/clang/Analysis/AnalysisDeclContext.h:486

clang::BodyFarm& getBodyFarm()

Declared at: clang/include/clang/Analysis/AnalysisDeclContext.h:483

CFG::BuildOptions& getCFGBuildOptions()

Declared at: clang/include/clang/Analysis/AnalysisDeclContext.h:462

clang::AnalysisDeclContext* getContext(
    const clang::Decl* D)

Declared at: clang/include/clang/Analysis/AnalysisDeclContext.h:456

Parameters

const clang::Decl* D

clang::LocationContextManager&
getLocationContextManager()

Declared at: clang/include/clang/Analysis/AnalysisDeclContext.h:491

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

Description

Obtain the beginning context of the analysis.

Declared at: clang/include/clang/Analysis/AnalysisDeclContext.h:470

Parameters

const clang::Decl* D

Returns

The top level stack frame for \p D.

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

Description

\copydoc LocationContextManager::getStackFrame()

Declared at: clang/include/clang/Analysis/AnalysisDeclContext.h:476

Parameters

clang::AnalysisDeclContext* ADC
const clang::LocationContext* Parent
const clang::Stmt* S
const clang::CFGBlock* Block
unsigned int BlockCount
unsigned int Index

bool getUseUnoptimizedCFG() const

Declared at: clang/include/clang/Analysis/AnalysisDeclContext.h:458

bool synthesizeBodies() const

Declared at: clang/include/clang/Analysis/AnalysisDeclContext.h:465

Returns

Whether faux bodies should be synthesized for known functions.