Home
last modified time | relevance | path

Searched refs:ExplodedNode (Results 1 – 25 of 80) sorted by relevance

1234

/external/clang/include/clang/StaticAnalyzer/Core/PathSensitive/
DExprEngine.h144 void GenerateAutoTransition(ExplodedNode *N);
146 void GenerateCallExitNode(ExplodedNode *N);
153 void ViewGraph(ArrayRef<const ExplodedNode*> Nodes);
187 void removeDead(ExplodedNode *Node, ExplodedNodeSet &Out,
194 void processCFGElement(const CFGElement E, ExplodedNode *Pred,
197 void ProcessStmt(const CFGStmt S, ExplodedNode *Pred);
199 void ProcessInitializer(const CFGInitializer I, ExplodedNode *Pred);
201 void ProcessImplicitDtor(const CFGImplicitDtor D, ExplodedNode *Pred);
203 void ProcessNewAllocator(const CXXNewExpr *NE, ExplodedNode *Pred);
206 ExplodedNode *Pred, ExplodedNodeSet &Dst);
[all …]
DExplodedGraph.h55 class ExplodedNode : public llvm::FoldingSetNode {
85 ExplodedNode * const *begin() const;
87 ExplodedNode * const *end() const;
96 void addNode(ExplodedNode *N, ExplodedGraph &G);
103 void replaceNode(ExplodedNode *node);
125 explicit ExplodedNode(const ProgramPoint &loc, ProgramStateRef state, in ExplodedNode() function
176 void addPredecessor(ExplodedNode *V, ExplodedGraph &G);
189 ExplodedNode *getFirstPred() { in getFirstPred()
193 const ExplodedNode *getFirstPred() const { in getFirstPred()
194 return const_cast<ExplodedNode*>(this)->getFirstPred(); in getFirstPred()
[all …]
DCoreEngine.h52 typedef std::vector<std::pair<BlockEdge, const ExplodedNode*> >
55 typedef std::vector<std::pair<const CFGBlock*, const ExplodedNode*> >
89 ExplodedNode *Pred);
91 void HandleBlockEdge(const BlockEdge &E, ExplodedNode *Pred);
92 void HandleBlockEntrance(const BlockEntrance &E, ExplodedNode *Pred);
93 void HandleBlockExit(const CFGBlock *B, ExplodedNode *Pred);
95 void HandleCallEnter(const CallEnter &CE, ExplodedNode *Pred);
97 void HandlePostStmt(const CFGBlock *B, unsigned StmtIdx, ExplodedNode *Pred);
100 ExplodedNode *Pred);
102 const CFGBlock *B, ExplodedNode *Pred);
[all …]
DCheckerContext.h73 ExplodedNode *Pred;
89 ExplodedNode *pred,
117 ExplodedNode *getPredecessor() { return Pred; } in getPredecessor()
187 static const MemRegion *getLocationRegionIfPostStore(const ExplodedNode *N) { in getLocationRegionIfPostStore()
208 ExplodedNode *addTransition(ProgramStateRef State = nullptr,
220 ExplodedNode *addTransition(ProgramStateRef State,
221 ExplodedNode *Pred,
229 ExplodedNode *generateSink(ProgramStateRef State, ExplodedNode *Pred,
241 ExplodedNode *generateErrorNode(ProgramStateRef State = nullptr,
254 ExplodedNode *
[all …]
DSubEngine.h32 class ExplodedNode; variable
56 virtual void processCFGElement(const CFGElement E, ExplodedNode* Pred,
64 ExplodedNode *Pred) = 0;
70 ExplodedNode *Pred,
80 ExplodedNode *Pred,
89 ExplodedNode *Pred,
105 ExplodedNode *Pred,
112 ExplodedNode *Pred) = 0;
116 ExplodedNode *Pred) = 0;
119 virtual void processCallExit(ExplodedNode *Pred) = 0;
DWorkList.h29 ExplodedNode *node;
35 WorkListUnit(ExplodedNode *N, BlockCounter C, in WorkListUnit()
42 explicit WorkListUnit(ExplodedNode *N, BlockCounter C) in WorkListUnit()
49 ExplodedNode *getNode() const { return node; } in getNode()
69 void enqueue(ExplodedNode *N, const CFGBlock *B, unsigned idx) { in enqueue()
73 void enqueue(ExplodedNode *N) { in enqueue()
/external/clang/lib/StaticAnalyzer/Core/
DExplodedGraph.cpp34 ExplodedNode::Auditor::~Auditor() {} in ~Auditor()
37 static ExplodedNode::Auditor* NodeAuditor = nullptr;
40 void ExplodedNode::SetAuditor(ExplodedNode::Auditor* A) { in SetAuditor()
67 bool ExplodedGraph::shouldCollect(const ExplodedNode *node) { in shouldCollect()
102 const ExplodedNode *pred = *(node->pred_begin()); in shouldCollect()
106 const ExplodedNode *succ = *(node->succ_begin()); in shouldCollect()
164 void ExplodedGraph::collectNode(ExplodedNode *node) { in collectNode()
170 ExplodedNode *pred = *(node->pred_begin()); in collectNode()
171 ExplodedNode *succ = *(node->succ_begin()); in collectNode()
177 node->~ExplodedNode(); in collectNode()
[all …]
DCoreEngine.cpp198 ExplodedNode *Node = G.getNode(StartLoc, InitState, false, &IsNew); in ExecuteWorkList()
234 ExplodedNode *Node = WU.getNode(); in ExecuteWorkList()
242 void CoreEngine::dispatchWorkItem(ExplodedNode* Pred, ProgramPoint Loc, in dispatchWorkItem()
270 ExplodedNode *PNode = Pred->getFirstPred(); in dispatchWorkItem()
296 void CoreEngine::HandleBlockEdge(const BlockEdge &L, ExplodedNode *Pred) { in HandleBlockEdge()
336 ExplodedNode *Pred) { in HandleBlockEntrance()
355 void CoreEngine::HandleBlockExit(const CFGBlock * B, ExplodedNode *Pred) { in HandleBlockExit()
471 void CoreEngine::HandleCallEnter(const CallEnter &CE, ExplodedNode *Pred) { in HandleCallEnter()
477 const CFGBlock * B, ExplodedNode *Pred) { in HandleBranch()
489 ExplodedNode *Pred) { in HandleCleanupTemporaryBranch()
[all …]
DBugReporterVisitors.cpp86 const Stmt *bugreporter::GetDenomExpr(const ExplodedNode *N) { in GetDenomExpr()
93 const Stmt *bugreporter::GetRetValExpr(const ExplodedNode *N) { in GetRetValExpr()
106 const ExplodedNode *EndPathNode, BugReport &BR) { in getEndPath()
111 BugReporterContext &BRC, const ExplodedNode *EndPathNode, BugReport &BR) { in getDefaultEndPath()
168 static void addVisitorIfNecessary(const ExplodedNode *Node, const Stmt *S, in addVisitorIfNecessary()
231 PathDiagnosticPiece *visitNodeInitial(const ExplodedNode *N, in visitNodeInitial()
232 const ExplodedNode *PrevN, in visitNodeInitial()
333 PathDiagnosticPiece *visitNodeMaybeUnsuppress(const ExplodedNode *N, in visitNodeMaybeUnsuppress()
334 const ExplodedNode *PrevN, in visitNodeMaybeUnsuppress()
386 PathDiagnosticPiece *VisitNode(const ExplodedNode *N, in VisitNode()
[all …]
DExprEngineCallAndReturn.cpp41 ExplodedNode *Pred) { in processCallEnter()
62 ExplodedNode *Node = G.getNode(Loc, state, false, &isNew); in processCallEnter()
74 const CFGBlock*> getLastStmt(const ExplodedNode *Node) { in getLastStmt()
163 ExplodedNode *Pred, in removeDeadOnEndOfFunction()
221 void ExprEngine::processCallExit(ExplodedNode *CEBNode) { in processCallExit()
291 ExplodedNode *BindedRetNode = G.getNode(Loc, state, false, &isNew); in processCallExit()
318 ExplodedNode *CEENode = G.getNode(Loc, CEEState, false, &isNew); in processCallExit()
405 NodeBuilder &Bldr, ExplodedNode *Pred, in REGISTER_TRAIT_WITH_PROGRAMSTATE()
439 if (ExplodedNode *N = G.getNode(Loc, State, false, &isNew)) { in REGISTER_TRAIT_WITH_PROGRAMSTATE()
470 void ExprEngine::VisitCallExpr(const CallExpr *CE, ExplodedNode *Pred, in VisitCallExpr()
[all …]
DExprEngine.cpp289 void ExprEngine::processCFGElement(const CFGElement E, ExplodedNode *Pred, in processCFGElement()
318 const ExplodedNode *Pred, in shouldRemoveDeadBindings()
343 void ExprEngine::removeDead(ExplodedNode *Pred, ExplodedNodeSet &Out, in removeDead()
426 ExplodedNode *Pred) { in ProcessStmt()
457 ExplodedNode *Pred) { in ProcessInitializer()
536 ExplodedNode *N = *I; in ProcessInitializer()
545 ExplodedNode *Pred) { in ProcessImplicitDtor()
572 ExplodedNode *Pred) { in ProcessNewAllocator()
591 ExplodedNode *Pred, in ProcessAutomaticObjDtor()
610 ExplodedNode *Pred, in ProcessDeleteDtor()
[all …]
DExprEngineCXX.cpp26 ExplodedNode *Pred, in CreateCXXTemporaryObject()
39 void ExprEngine::performTrivialCopy(NodeBuilder &Bldr, ExplodedNode *Pred, in performTrivialCopy()
108 ExplodedNode *Pred) { in getRegionForConstructedObject()
234 ExplodedNode *Pred, in VisitCXXConstructExpr()
359 ExplodedNode *Pred, in VisitCXXDestructor()
401 ExplodedNode *Pred, in VisitCXXNewAllocatorCall()
426 void ExprEngine::VisitCXXNewExpr(const CXXNewExpr *CNE, ExplodedNode *Pred, in VisitCXXNewExpr()
515 ExplodedNode *NewN = Bldr.generateNode(CNE, Pred, State); in VisitCXXNewExpr()
532 ExplodedNode *Pred, ExplodedNodeSet &Dst) { in VisitCXXDeleteExpr()
539 ExplodedNode *Pred, in VisitCXXCatchStmt()
[all …]
DBugReporter.cpp57 static const Stmt *GetPreviousStmt(const ExplodedNode *N) { in GetPreviousStmt()
66 GetCurrentOrPreviousStmt(const ExplodedNode *N) { in GetCurrentOrPreviousStmt()
315 const ExplodedNode *getOriginalNode(const ExplodedNode *N) override { in getOriginalNode()
334 PathDiagnosticLocation ExecutionContinues(const ExplodedNode *N);
337 const ExplodedNode *N);
364 PathDiagnosticBuilder::ExecutionContinues(const ExplodedNode *N) { in ExecutionContinues()
374 const ExplodedNode *N) { in ExecutionContinues()
503 PathDiagnostic &PD, PathDiagnosticBuilder &PDB, const ExplodedNode *N, in GenerateVisitorsOnlyPathDiagnostic()
512 while (const ExplodedNode *Pred = N->getFirstPred()) { in GenerateVisitorsOnlyPathDiagnostic()
528 typedef std::pair<PathDiagnosticCallPiece*, const ExplodedNode*> StackDiagPair;
[all …]
DExprEngineObjC.cpp23 ExplodedNode *Pred, in VisitLvalObjCIvarRefExpr()
40 ExplodedNode *Pred, in VisitObjCAtSynchronizedStmt()
46 ExplodedNode *Pred, in VisitObjCForCollectionStmt()
136 ExplodedNode *Pred, in VisitObjCMessage()
226 ExplodedNode *Pred = *DI; in VisitObjCMessage()
DExprEngineC.cpp23 ExplodedNode *Pred, in VisitBinaryOperator()
187 void ExprEngine::VisitBlockExpr(const BlockExpr *BE, ExplodedNode *Pred, in VisitBlockExpr()
250 ExplodedNode *Pred, ExplodedNodeSet &Dst) { in VisitCast()
258 ExplodedNode *subExprNode = *I; in VisitCast()
444 ExplodedNode *Pred, in VisitCompoundLiteralExpr()
476 void ExprEngine::VisitDeclStmt(const DeclStmt *DS, ExplodedNode *Pred, in VisitDeclStmt()
495 ExplodedNode *N = *I; in VisitDeclStmt()
503 ExplodedNode *UpdatedN = N; in VisitDeclStmt()
552 void ExprEngine::VisitLogicalExpr(const BinaryOperator* B, ExplodedNode *Pred, in VisitLogicalExpr()
560 ExplodedNode *N = Pred; in VisitLogicalExpr()
[all …]
/external/clang/include/clang/StaticAnalyzer/Core/BugReporter/
DBugReporterVisitor.h28 class ExplodedNode; variable
62 virtual PathDiagnosticPiece *VisitNode(const ExplodedNode *Succ,
63 const ExplodedNode *Pred,
74 getEndPath(BugReporterContext &BRC, const ExplodedNode *N, BugReport &BR);
80 getDefaultEndPath(BugReporterContext &BRC, const ExplodedNode *N,
124 PathDiagnosticPiece *VisitNode(const ExplodedNode *N,
125 const ExplodedNode *PrevN,
153 PathDiagnosticPiece *VisitNode(const ExplodedNode *N,
154 const ExplodedNode *PrevN,
160 bool isUnderconstrained(const ExplodedNode *N) const;
[all …]
DBugReporter.h41 class ExplodedNode; variable
61 virtual const ExplodedNode*
62 getOriginalNode(const ExplodedNode *N) = 0;
82 const ExplodedNode *ErrorNode;
146 BugReport(BugType& bt, StringRef desc, const ExplodedNode *errornode) in BugReport()
151 const ExplodedNode *errornode) in BugReport()
167 BugReport(BugType& bt, StringRef desc, const ExplodedNode *errornode, in BugReport()
180 const ExplodedNode *getErrorNode() const { return ErrorNode; } in getErrorNode()
/external/clang/lib/StaticAnalyzer/Checkers/
DMacOSKeychainAPIChecker.cpp103 const ExplodedNode *getAllocationNode(const ExplodedNode *N, SymbolRef Sym,
107 const AllocationPair &AP, ExplodedNode *N, CheckerContext &C) const;
146 PathDiagnosticPiece *VisitNode(const ExplodedNode *N,
147 const ExplodedNode *PrevN,
250 ExplodedNode *N = C.generateNonFatalErrorNode(State); in generateDeallocatorMismatchReport()
296 ExplodedNode *N = C.generateNonFatalErrorNode(State); in checkPreStmt()
359 ExplodedNode *N = C.generateNonFatalErrorNode(State); in checkPreStmt()
425 ExplodedNode *N = C.generateNonFatalErrorNode(State); in checkPreStmt()
488 const ExplodedNode *
489 MacOSKeychainAPIChecker::getAllocationNode(const ExplodedNode *N, in getAllocationNode()
[all …]
DNonNullParamChecker.cpp40 genReportNullAttrNonNull(const ExplodedNode *ErrorN, const Expr *ArgE) const;
42 genReportReferenceToNullPointer(const ExplodedNode *ErrorN,
146 if (ExplodedNode *errorNode = C.generateErrorNode(stateNull)) { in checkPreCall()
164 if (ExplodedNode *N = C.generateSink(stateNull, C.getPredecessor())) { in checkPreCall()
184 NonNullParamChecker::genReportNullAttrNonNull(const ExplodedNode *ErrorNode, in genReportNullAttrNonNull()
203 const ExplodedNode *ErrorNode, const Expr *ArgE) const { in genReportReferenceToNullPointer()
DCallAndMessageChecker.cpp81 ExplodedNode *N) const;
100 ExplodedNode *N = C.generateErrorNode(); in emitBadCall()
172 if (ExplodedNode *N = C.generateErrorNode()) { in uninitRefOrPointer()
203 if (ExplodedNode *N = C.generateErrorNode()) { in PreVisitProcessArg()
268 if (ExplodedNode *N = C.generateErrorNode()) { in PreVisitProcessArg()
341 ExplodedNode *N = C.generateErrorNode(); in checkPreStmt()
398 ExplodedNode *N = C.generateErrorNode(); in checkPreCall()
446 if (ExplodedNode *N = C.generateErrorNode()) { in checkPreObjCMessage()
491 ExplodedNode *N) const { in emitNilReceiverBug()
563 if (ExplodedNode *N = C.generateErrorNode(state, &Tag)) in HandleNilReceiver()
DObjCSuperDeallocChecker.cpp76 PathDiagnosticPiece *VisitNode(const ExplodedNode *Succ,
77 const ExplodedNode *Pred,
188 ExplodedNode *ErrNode = C.generateErrorNode(); in reportUseAfterDealloc()
252 PathDiagnosticPiece *SuperDeallocBRVisitor::VisitNode(const ExplodedNode *Succ, in VisitNode()
253 const ExplodedNode *Pred, in VisitNode()
DPthreadLockChecker.cpp145 ExplodedNode *N = C.generateErrorNode(); in AcquireLock()
207 ExplodedNode *N = C.generateErrorNode(); in ReleaseLock()
230 ExplodedNode *N = C.generateErrorNode(); in ReleaseLock()
275 ExplodedNode *N = C.generateErrorNode(); in DestroyLock()
310 ExplodedNode *N = C.generateErrorNode(); in InitLock()
323 ExplodedNode *N = C.generateErrorNode(); in reportUseDestroyedBug()
/external/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/
DMPIBugReporter.h46 const ExplodedNode *const ExplNode,
59 const ExplodedNode *const ExplNode,
70 const ExplodedNode *const ExplNode,
95 PathDiagnosticPiece *VisitNode(const ExplodedNode *N,
96 const ExplodedNode *PrevN,
DMPIBugReporter.cpp27 const ExplodedNode *const ExplNode, in reportDoubleNonblocking()
52 const ExplodedNode *const ExplNode, in reportMissingWait()
72 const ExplodedNode *const ExplNode, in reportUnmatchedWait()
89 const ExplodedNode *N, const ExplodedNode *PrevN, BugReporterContext &BRC, in VisitNode()
/external/clang/lib/StaticAnalyzer/Frontend/
DAnalysisConsumer.cpp57 static std::unique_ptr<ExplodedNode::Auditor> CreateUbiViz();
656 std::unique_ptr<ExplodedNode::Auditor> Auditor; in ActionExprEngine()
659 ExplodedNode::SetAuditor(Auditor.get()); in ActionExprEngine()
668 ExplodedNode::SetAuditor(nullptr); in ActionExprEngine()
722 class UbigraphViz : public ExplodedNode::Auditor {
735 void AddEdge(ExplodedNode *Src, ExplodedNode *Dst) override;
740 static std::unique_ptr<ExplodedNode::Auditor> CreateUbiViz() { in CreateUbiViz()
751 void UbigraphViz::AddEdge(ExplodedNode *Src, ExplodedNode *Dst) { in AddEdge()

1234