clang API Documentation
#include <AnalysisContext.h>


Public Types | |
| enum | ContextKind { StackFrame, Scope, Block } |
Public Member Functions | |
| virtual | ~LocationContext () |
| ContextKind | getKind () const |
| AnalysisDeclContext * | getAnalysisDeclContext () const |
| const LocationContext * | getParent () const |
| bool | isParentOf (const LocationContext *LC) const |
| const Decl * | getDecl () const |
| CFG * | getCFG () const |
| template<typename T > | |
| T * | getAnalysis () const |
| ParentMap & | getParentMap () const |
| const ImplicitParamDecl * | getSelfDecl () const |
| const StackFrameContext * | getCurrentStackFrame () const |
| const StackFrameContext * | getStackFrameForDeclContext (const DeclContext *DC) const |
| virtual void | Profile (llvm::FoldingSetNodeID &ID)=0 |
Static Public Member Functions | |
| static bool | classof (const LocationContext *) |
| static void | ProfileCommon (llvm::FoldingSetNodeID &ID, ContextKind ck, AnalysisDeclContext *ctx, const LocationContext *parent, const void *data) |
Protected Member Functions | |
| LocationContext (ContextKind k, AnalysisDeclContext *ctx, const LocationContext *parent) | |
Definition at line 183 of file AnalysisContext.h.
Definition at line 185 of file AnalysisContext.h.
| clang::LocationContext::LocationContext | ( | ContextKind | k, |
| AnalysisDeclContext * | ctx, | ||
| const LocationContext * | parent | ||
| ) | [inline, protected] |
Definition at line 197 of file AnalysisContext.h.
| LocationContext::~LocationContext | ( | ) | [virtual] |
Definition at line 442 of file AnalysisDeclContext.cpp.
| static bool clang::LocationContext::classof | ( | const LocationContext * | ) | [inline, static] |
Reimplemented in clang::BlockInvocationContext, clang::ScopeContext, and clang::StackFrameContext.
Definition at line 235 of file AnalysisContext.h.
| T* clang::LocationContext::getAnalysis | ( | ) | const [inline] |
Definition at line 217 of file AnalysisContext.h.
References clang::AnalysisDeclContext::getAnalysis(), and getAnalysisDeclContext().
Referenced by clang::ento::ExplodedNode::getAnalysis().
| AnalysisDeclContext* clang::LocationContext::getAnalysisDeclContext | ( | ) | const [inline] |
Definition at line 206 of file AnalysisContext.h.
Referenced by getAnalysis(), clang::ento::SValBuilder::getBlockPointer(), getCFG(), clang::ento::CheckerContext::getCurrentAnalysisDeclContext(), getDecl(), getParentMap(), clang::ento::MemRegionManager::getVarRegion(), clang::StackFrameContext::Profile(), clang::ScopeContext::Profile(), clang::BlockInvocationContext::Profile(), and shouldRemoveDeadBindings().
| CFG* clang::LocationContext::getCFG | ( | ) | const [inline] |
Definition at line 214 of file AnalysisContext.h.
References getAnalysisDeclContext(), and clang::AnalysisDeclContext::getCFG().
Referenced by clang::ento::ExplodedNode::getCFG(), and clang::ento::SubEngine::processCallEnter().
| const StackFrameContext * LocationContext::getCurrentStackFrame | ( | ) | const |
Definition at line 290 of file AnalysisDeclContext.cpp.
References getParent(), and NULL.
Referenced by GenerateExtensivePathDiagnostic(), clang::ento::MemRegionManager::getAllocaRegion(), clang::ento::MemRegionManager::getBlockDataRegion(), clang::ento::MemRegionManager::getCompoundLiteralRegion(), clang::ento::NodeBuilderContext::getCurrentBlockCount(), clang::ento::MemRegionManager::getCXXTempObjectRegion(), clang::ento::MemRegionManager::getCXXThisRegion(), clang::ento::SubEngine::getInitialState(), getLastStmt(), parameterTypeFromSVal(), clang::ento::SubEngine::processCallExit(), clang::ento::SubEngine::processCFGBlockEntrance(), clang::ento::ExprEngine::removeDead(), and reversePropagateInterestingSymbols().
| const Decl* clang::LocationContext::getDecl | ( | ) | const [inline] |
Definition at line 212 of file AnalysisContext.h.
References getAnalysisDeclContext(), and clang::AnalysisDeclContext::getDecl().
Referenced by clang::ento::PathDiagnosticCallPiece::construct(), clang::ento::PathDiagnosticLocation::createDeclBegin(), clang::ento::PathDiagnosticLocation::createDeclEnd(), clang::ento::ExplodedNode::getCodeDecl(), clang::ento::SubEngine::getInitialState(), llvm::DOTGraphTraits< ExplodedNode * >::getNodeLabel(), clang::ento::MemRegionManager::getVarRegion(), clang::ento::SubEngine::processCFGBlockEntrance(), clang::ento::ExprEngine::ProcessInitializer(), reversePropagateInterestingSymbols(), and clang::ento::PathDiagnosticCallPiece::setCallee().
| ContextKind clang::LocationContext::getKind | ( | ) | const [inline] |
Definition at line 204 of file AnalysisContext.h.
Referenced by clang::StackFrameContext::classof(), clang::ScopeContext::classof(), and clang::BlockInvocationContext::classof().
| const LocationContext* clang::LocationContext::getParent | ( | ) | const [inline] |
Definition at line 208 of file AnalysisContext.h.
Referenced by clang::ento::CoreEngine::enqueueEndOfFunction(), getCurrentStackFrame(), clang::ento::SubEngine::getInitialState(), getNumberStackFrames(), getStackFrameForDeclContext(), inTopFrame(), isParentOf(), clang::ento::SubEngine::processCallExit(), clang::StackFrameContext::Profile(), clang::ScopeContext::Profile(), and clang::BlockInvocationContext::Profile().
| ParentMap& clang::LocationContext::getParentMap | ( | ) | const [inline] |
Definition at line 221 of file AnalysisContext.h.
References getAnalysisDeclContext(), and clang::AnalysisDeclContext::getParentMap().
Referenced by clang::ento::ExplodedNode::getParentMap(), and getValidSourceLocation().
| const ImplicitParamDecl* clang::LocationContext::getSelfDecl | ( | ) | const [inline] |
Definition at line 225 of file AnalysisContext.h.
References clang::AnalysisDeclContext::getSelfDecl().
Referenced by clang::ento::ObjCMessage::getInstanceReceiverSVal().
| const StackFrameContext * LocationContext::getStackFrameForDeclContext | ( | const DeclContext * | DC | ) | const |
Definition at line 301 of file AnalysisDeclContext.cpp.
References getParent(), and NULL.
Referenced by clang::ento::MemRegionManager::getVarRegion().
| bool LocationContext::isParentOf | ( | const LocationContext * | LC | ) | const |
Definition at line 313 of file AnalysisDeclContext.cpp.
References getParent().
| virtual void clang::LocationContext::Profile | ( | llvm::FoldingSetNodeID & | ID | ) | [pure virtual] |
Implemented in clang::BlockInvocationContext, clang::ScopeContext, and clang::StackFrameContext.
| void LocationContext::ProfileCommon | ( | llvm::FoldingSetNodeID & | ID, |
| ContextKind | ck, | ||
| AnalysisDeclContext * | ctx, | ||
| const LocationContext * | parent, | ||
| const void * | data | ||
| ) | [static] |
Definition at line 217 of file AnalysisDeclContext.cpp.
Referenced by clang::StackFrameContext::Profile(), clang::ScopeContext::Profile(), and clang::BlockInvocationContext::Profile().