clang API Documentation
#include <ExplodedGraph.h>


Definition at line 54 of file ExplodedGraph.h.
| typedef const ExplodedNode* const* clang::ento::ExplodedNode::const_pred_iterator |
Definition at line 192 of file ExplodedGraph.h.
| typedef const ExplodedNode* const* clang::ento::ExplodedNode::const_succ_iterator |
Definition at line 190 of file ExplodedGraph.h.
Definition at line 191 of file ExplodedGraph.h.
Definition at line 189 of file ExplodedGraph.h.
| clang::ento::ExplodedNode::ExplodedNode | ( | const ProgramPoint & | loc, |
| ProgramStateRef | state, | ||
| bool | IsSink | ||
| ) | [inline, explicit] |
Definition at line 120 of file ExplodedGraph.h.
| clang::ento::ExplodedNode::~ExplodedNode | ( | ) | [inline] |
Definition at line 127 of file ExplodedGraph.h.
| void ExplodedNode::addPredecessor | ( | ExplodedNode * | V, |
| ExplodedGraph & | G | ||
| ) |
addPredeccessor - Adds a predecessor to the current node, and in tandem add this node as a successor of the other node.
Definition at line 160 of file ExplodedGraph.cpp.
References clang::ento::ExplodedNode::Auditor::AddEdge(), isSink(), and NodeAuditor.
Referenced by clang::ento::CoreEngine::enqueueStmtNode(), clang::ento::SwitchNodeBuilder::generateCaseStmtNode(), clang::ento::SwitchNodeBuilder::generateDefaultCaseNode(), clang::ento::IndirectGotoNodeBuilder::generateNode(), clang::ento::NodeBuilder::generateNodeImpl(), clang::ento::SubEngine::processCallEnter(), clang::ento::SubEngine::processCallExit(), and clang::ento::ExplodedGraph::TrimInternal().
| T& clang::ento::ExplodedNode::getAnalysis | ( | ) | const [inline] |
Definition at line 143 of file ExplodedGraph.h.
References clang::LocationContext::getAnalysis(), and getLocationContext().
| CFG& clang::ento::ExplodedNode::getCFG | ( | ) | const [inline] |
Definition at line 138 of file ExplodedGraph.h.
References clang::LocationContext::getCFG(), and getLocationContext().
| const Decl& clang::ento::ExplodedNode::getCodeDecl | ( | ) | const [inline] |
Definition at line 136 of file ExplodedGraph.h.
References clang::LocationContext::getDecl(), and getLocationContext().
| ExplodedNode* clang::ento::ExplodedNode::getFirstPred | ( | ) | [inline] |
Definition at line 180 of file ExplodedGraph.h.
References NULL, pred_begin(), and pred_empty().
Referenced by clang::ento::CoreEngine::dispatchWorkItem(), getFirstPred(), and clang::ento::ConditionBRVisitor::VisitNode().
| const ExplodedNode* clang::ento::ExplodedNode::getFirstPred | ( | ) | const [inline] |
Definition at line 184 of file ExplodedGraph.h.
References getFirstPred().
| ProgramPoint clang::ento::ExplodedNode::getLocation | ( | ) | const [inline] |
getLocation - Returns the edge associated with the given node.
Definition at line 130 of file ExplodedGraph.h.
Referenced by clang::ento::PathDiagnosticLocation::createEndOfPath(), clang::ento::CoreEngine::dispatchWorkItem(), clang::ento::WorkList::enqueue(), clang::ento::CoreEngine::enqueueStmtNode(), clang::ento::ExprEngine::evalEagerlyAssume(), getLocationContext(), clang::ento::CheckerContext::getLocationRegionIfPostStore(), clang::ento::StackHintGeneratorForSymbol::getMessage(), MakeReportGraph(), clang::ento::SubEngine::processCFGBlockEntrance(), Profile(), clang::ento::ExplodedGraph::TrimInternal(), clang::ento::ConditionBRVisitor::VisitNode(), and clang::ento::ConditionBRVisitor::VisitNodeImpl().
| const T* clang::ento::ExplodedNode::getLocationAs | ( | ) | const [inline] |
Definition at line 150 of file ExplodedGraph.h.
Referenced by clang::ento::ConditionBRVisitor::VisitNode().
| const LocationContext* clang::ento::ExplodedNode::getLocationContext | ( | ) | const [inline] |
Definition at line 132 of file ExplodedGraph.h.
References getLocation(), and clang::ProgramPoint::getLocationContext().
Referenced by clang::ento::ExprEngine::CreateCXXTemporaryObject(), clang::ento::PathDiagnosticLocation::createEndOfPath(), clang::ento::CoreEngine::enqueueEndOfFunction(), clang::ento::CoreEngine::enqueueStmtNode(), clang::ento::ExprEngine::evalBind(), clang::ento::ExprEngine::evalEagerlyAssume(), clang::ento::ExprEngine::evalObjCMessage(), clang::ento::StmtNodeBuilder::generateNode(), getAnalysis(), clang::ento::CheckerContext::getCalleeDecl(), getCFG(), getCodeDecl(), clang::ento::CheckerContext::getCurrentAnalysisDeclContext(), clang::ento::NodeBuilderContext::getCurrentBlockCount(), clang::ento::CheckerContext::getLocationContext(), clang::ento::IndirectGotoNodeBuilder::getLocationContext(), clang::ento::SwitchNodeBuilder::getLocationContext(), clang::ento::StackHintGeneratorForSymbol::getMessage(), getParentMap(), clang::ento::ConditionBRVisitor::patternMatch(), clang::ento::ExprEngine::ProcessAutomaticObjDtor(), clang::ento::SubEngine::processBranch(), clang::ento::SubEngine::processCallEnter(), clang::ento::SubEngine::processCallExit(), clang::ento::ExprEngine::ProcessInitializer(), clang::ento::ExprEngine::ProcessStmt(), clang::ento::FindLastStoreBRVisitor::registerStatementVarDecls(), clang::ento::CheckerManager::runCheckersForEndPath(), clang::ento::CheckerManager::runCheckersForEvalCall(), clang::ento::ExprEngine::VisitAsmStmt(), clang::ento::ExprEngine::VisitBlockExpr(), clang::ento::ExprEngine::VisitCallExpr(), clang::ento::ExprEngine::VisitCast(), clang::ento::ExprEngine::VisitCommonDeclRefExpr(), clang::ento::ExprEngine::VisitCompoundLiteralExpr(), clang::ento::ConditionBRVisitor::VisitConditionVariable(), clang::ento::ExprEngine::VisitCXXCatchStmt(), clang::ento::ExprEngine::VisitCXXConstructExpr(), clang::ento::ExprEngine::VisitCXXDestructor(), clang::ento::ExprEngine::VisitCXXNewExpr(), clang::ento::ExprEngine::VisitCXXThisExpr(), clang::ento::ExprEngine::VisitDeclStmt(), clang::ento::ExprEngine::VisitGuardedExpr(), clang::ento::ExprEngine::VisitIncrementDecrementOperator(), clang::ento::ExprEngine::VisitInitListExpr(), clang::ento::ExprEngine::VisitLogicalExpr(), clang::ento::ExprEngine::VisitLvalObjCIvarRefExpr(), clang::ento::ExprEngine::VisitMemberExpr(), clang::ento::ExprEngine::VisitObjCForCollectionStmt(), clang::ento::ExprEngine::VisitObjCMessage(), clang::ento::ExprEngine::VisitOffsetOfExpr(), and clang::ento::ConditionBRVisitor::VisitTrueTest().
| ParentMap& clang::ento::ExplodedNode::getParentMap | ( | ) | const [inline] |
Definition at line 140 of file ExplodedGraph.h.
References getLocationContext(), and clang::LocationContext::getParentMap().
| ProgramStateRef clang::ento::ExplodedNode::getState | ( | ) | const [inline] |
Definition at line 147 of file ExplodedGraph.h.
Referenced by clang::ento::CheckerContext::CheckerContext(), clang::ento::ExprEngine::CreateCXXTemporaryObject(), clang::ento::FindLastStoreBRVisitor::createVisitorObject(), clang::ento::CoreEngine::enqueueStmtNode(), clang::ento::ExprEngine::evalBind(), clang::ento::ExprEngine::evalEagerlyAssume(), clang::ento::StackHintGeneratorForSymbol::getMessage(), clang::ento::CheckerContext::getState(), MakeReportGraph(), clang::ento::ConditionBRVisitor::patternMatch(), clang::ento::ExprEngine::ProcessAutomaticObjDtor(), clang::ento::SubEngine::processBranch(), clang::ento::SubEngine::processCallEnter(), clang::ento::SubEngine::processCallExit(), clang::ento::SubEngine::processCFGBlockEntrance(), clang::ento::SubEngine::processEndOfFunction(), clang::ento::ExprEngine::ProcessInitializer(), Profile(), clang::ento::FindLastStoreBRVisitor::registerStatementVarDecls(), clang::ento::ExprEngine::removeDead(), clang::ento::ExprEngine::VisitAsmStmt(), clang::ento::ExprEngine::VisitBlockExpr(), clang::ento::ExprEngine::VisitCallExpr(), clang::ento::ExprEngine::VisitCast(), clang::ento::ExprEngine::VisitCommonDeclRefExpr(), clang::ento::ExprEngine::VisitCompoundLiteralExpr(), clang::ento::ConditionBRVisitor::VisitConditionVariable(), clang::ento::ExprEngine::VisitCXXCatchStmt(), clang::ento::ExprEngine::VisitCXXConstructExpr(), clang::ento::ExprEngine::VisitCXXDeleteExpr(), clang::ento::ExprEngine::VisitCXXDestructor(), clang::ento::ExprEngine::VisitCXXNewExpr(), clang::ento::ExprEngine::VisitCXXThisExpr(), clang::ento::ExprEngine::VisitDeclStmt(), clang::ento::ExprEngine::VisitGuardedExpr(), clang::ento::ExprEngine::VisitIncrementDecrementOperator(), clang::ento::ExprEngine::VisitInitListExpr(), clang::ento::ExprEngine::VisitLogicalExpr(), clang::ento::ExprEngine::VisitLvalObjCIvarRefExpr(), clang::ento::ExprEngine::VisitMemberExpr(), clang::ento::ConditionBRVisitor::VisitNode(), clang::ento::ConditionBRVisitor::VisitNodeImpl(), clang::ento::ExprEngine::VisitObjCForCollectionStmt(), clang::ento::ExprEngine::VisitObjCMessage(), and clang::ento::ExprEngine::VisitOffsetOfExpr().
| bool clang::ento::ExplodedNode::hasSinglePred | ( | ) | const [inline] |
Definition at line 176 of file ExplodedGraph.h.
References pred_size().
Referenced by clang::ento::CoreEngine::dispatchWorkItem().
| bool clang::ento::ExplodedNode::isSink | ( | ) | const [inline] |
Definition at line 174 of file ExplodedGraph.h.
Referenced by addPredecessor(), clang::ento::CoreEngine::enqueueStmtNode(), clang::ento::NodeBuilderWithSinks::generateNode(), clang::ento::NodeBuilderContext::NodeBuilderContext(), clang::ento::SubEngine::processBranch(), Profile(), and clang::ento::ExplodedGraph::TrimInternal().
| pred_iterator clang::ento::ExplodedNode::pred_begin | ( | ) | [inline] |
Definition at line 194 of file ExplodedGraph.h.
Referenced by getFirstPred(), and pred_begin().
| const_pred_iterator clang::ento::ExplodedNode::pred_begin | ( | ) | const [inline] |
Definition at line 197 of file ExplodedGraph.h.
References pred_begin().
| bool clang::ento::ExplodedNode::pred_empty | ( | ) | const [inline] |
Definition at line 172 of file ExplodedGraph.h.
Referenced by getFirstPred(), and GetPredecessorNode().
| pred_iterator clang::ento::ExplodedNode::pred_end | ( | ) | [inline] |
Definition at line 195 of file ExplodedGraph.h.
Referenced by pred_end().
| const_pred_iterator clang::ento::ExplodedNode::pred_end | ( | ) | const [inline] |
Definition at line 200 of file ExplodedGraph.h.
References pred_end().
| unsigned clang::ento::ExplodedNode::pred_size | ( | ) | const [inline] |
Definition at line 170 of file ExplodedGraph.h.
Referenced by hasSinglePred().
| static void clang::ento::ExplodedNode::Profile | ( | llvm::FoldingSetNodeID & | ID, |
| const ProgramPoint & | Loc, | ||
| ProgramStateRef | state, | ||
| bool | IsSink | ||
| ) | [inline, static] |
Definition at line 152 of file ExplodedGraph.h.
Referenced by Profile().
| void clang::ento::ExplodedNode::Profile | ( | llvm::FoldingSetNodeID & | ID | ) | const [inline] |
Definition at line 161 of file ExplodedGraph.h.
References getLocation(), getState(), isSink(), and Profile().
| void ExplodedNode::SetAuditor | ( | ExplodedNode::Auditor * | A | ) | [static] |
Definition at line 38 of file ExplodedGraph.cpp.
References NodeAuditor.
| succ_iterator clang::ento::ExplodedNode::succ_begin | ( | ) | [inline] |
| const_succ_iterator clang::ento::ExplodedNode::succ_begin | ( | ) | const [inline] |
Definition at line 207 of file ExplodedGraph.h.
References succ_begin().
| bool clang::ento::ExplodedNode::succ_empty | ( | ) | const [inline] |
Definition at line 171 of file ExplodedGraph.h.
Referenced by clang::ento::PathDiagnosticLocation::createEndOfPath(), and GetSuccessorNode().
| succ_iterator clang::ento::ExplodedNode::succ_end | ( | ) | [inline] |
Definition at line 205 of file ExplodedGraph.h.
Referenced by llvm::GraphTraits< clang::ento::ExplodedNode * >::child_end(), llvm::GraphTraits< const clang::ento::ExplodedNode * >::child_end(), MakeReportGraph(), and succ_end().
| const_succ_iterator clang::ento::ExplodedNode::succ_end | ( | ) | const [inline] |
Definition at line 210 of file ExplodedGraph.h.
References succ_end().
| unsigned clang::ento::ExplodedNode::succ_size | ( | ) | const [inline] |
Definition at line 169 of file ExplodedGraph.h.
friend class BranchNodeBuilder [friend] |
Definition at line 58 of file ExplodedGraph.h.
friend class CoreEngine [friend] |
Definition at line 56 of file ExplodedGraph.h.
friend class EndOfFunctionNodeBuilder [friend] |
Definition at line 61 of file ExplodedGraph.h.
friend class ExplodedGraph [friend] |
Definition at line 55 of file ExplodedGraph.h.
friend class IndirectGotoNodeBuilder [friend] |
Definition at line 59 of file ExplodedGraph.h.
friend class NodeBuilder [friend] |
Definition at line 57 of file ExplodedGraph.h.
friend class SwitchNodeBuilder [friend] |
Definition at line 60 of file ExplodedGraph.h.