/external/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ |
D | ExprEngine.h | 144 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 …]
|
D | ExplodedGraph.h | 54 class ExplodedNode : public llvm::FoldingSetNode { 84 ExplodedNode * const *begin() const; 86 ExplodedNode * const *end() const; 95 void addNode(ExplodedNode *N, ExplodedGraph &G); 102 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 …]
|
D | CoreEngine.h | 52 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); 94 void HandlePostStmt(const CFGBlock *B, unsigned StmtIdx, ExplodedNode *Pred); 97 ExplodedNode *Pred); 99 const CFGBlock *B, ExplodedNode *Pred); 103 ExplodedNode *Pred); [all …]
|
D | CheckerContext.h | 73 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 …]
|
D | SubEngine.h | 32 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) = 0; 108 virtual void processCallEnter(CallEnter CE, ExplodedNode *Pred) = 0; 111 virtual void processCallExit(ExplodedNode *Pred) = 0;
|
D | WorkList.h | 29 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/include/clang/StaticAnalyzer/Core/BugReporter/ |
D | BugReporterVisitor.h | 27 class ExplodedNode; variable 61 virtual PathDiagnosticPiece *VisitNode(const ExplodedNode *Succ, 62 const ExplodedNode *Pred, 73 getEndPath(BugReporterContext &BRC, const ExplodedNode *N, BugReport &BR); 79 getDefaultEndPath(BugReporterContext &BRC, const ExplodedNode *N, 123 PathDiagnosticPiece *VisitNode(const ExplodedNode *N, 124 const ExplodedNode *PrevN, 152 PathDiagnosticPiece *VisitNode(const ExplodedNode *N, 153 const ExplodedNode *PrevN, 159 bool isUnderconstrained(const ExplodedNode *N) const; [all …]
|
D | BugReporter.h | 41 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/Core/ |
D | ExplodedGraph.cpp | 34 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 …]
|
D | CoreEngine.cpp | 221 ExplodedNode *Node = WU.getNode(); in ExecuteWorkList() 229 void CoreEngine::dispatchWorkItem(ExplodedNode* Pred, ProgramPoint Loc, in dispatchWorkItem() 258 ExplodedNode *PNode = Pred->getFirstPred(); in dispatchWorkItem() 284 void CoreEngine::HandleBlockEdge(const BlockEdge &L, ExplodedNode *Pred) { in HandleBlockEdge() 324 ExplodedNode *Pred) { in HandleBlockEntrance() 343 void CoreEngine::HandleBlockExit(const CFGBlock * B, ExplodedNode *Pred) { in HandleBlockExit() 460 const CFGBlock * B, ExplodedNode *Pred) { in HandleBranch() 472 ExplodedNode *Pred) { in HandleCleanupTemporaryBranch() 483 ExplodedNode *Pred) { in HandleStaticInit() 495 ExplodedNode *Pred) { in HandlePostStmt() [all …]
|
D | BugReporterVisitors.cpp | 85 const Stmt *bugreporter::GetDenomExpr(const ExplodedNode *N) { in GetDenomExpr() 92 const Stmt *bugreporter::GetRetValExpr(const ExplodedNode *N) { in GetRetValExpr() 105 const ExplodedNode *EndPathNode, BugReport &BR) { in getEndPath() 110 BugReporterContext &BRC, const ExplodedNode *EndPathNode, BugReport &BR) { in getDefaultEndPath() 167 static void addVisitorIfNecessary(const ExplodedNode *Node, const Stmt *S, in addVisitorIfNecessary() 230 PathDiagnosticPiece *visitNodeInitial(const ExplodedNode *N, in visitNodeInitial() 231 const ExplodedNode *PrevN, in visitNodeInitial() 329 PathDiagnosticPiece *visitNodeMaybeUnsuppress(const ExplodedNode *N, in visitNodeMaybeUnsuppress() 330 const ExplodedNode *PrevN, in visitNodeMaybeUnsuppress() 382 PathDiagnosticPiece *VisitNode(const ExplodedNode *N, in VisitNode() [all …]
|
D | ExprEngineCallAndReturn.cpp | 40 void ExprEngine::processCallEnter(CallEnter CE, ExplodedNode *Pred) { in processCallEnter() 62 ExplodedNode *Node = G.getNode(Loc, state, false, &isNew); in processCallEnter() 71 const CFGBlock*> getLastStmt(const ExplodedNode *Node) { in getLastStmt() 160 ExplodedNode *Pred, in removeDeadOnEndOfFunction() 218 void ExprEngine::processCallExit(ExplodedNode *CEBNode) { in processCallExit() 288 ExplodedNode *BindedRetNode = G.getNode(Loc, state, false, &isNew); in processCallExit() 315 ExplodedNode *CEENode = G.getNode(Loc, CEEState, false, &isNew); in processCallExit() 417 NodeBuilder &Bldr, ExplodedNode *Pred, in REGISTER_TRAIT_WITH_PROGRAMSTATE() 452 if (ExplodedNode *N = G.getNode(Loc, State, false, &isNew)) { in REGISTER_TRAIT_WITH_PROGRAMSTATE() 483 void ExprEngine::VisitCallExpr(const CallExpr *CE, ExplodedNode *Pred, in VisitCallExpr() [all …]
|
D | ExprEngine.cpp | 288 void ExprEngine::processCFGElement(const CFGElement E, ExplodedNode *Pred, in processCFGElement() 317 const ExplodedNode *Pred, in shouldRemoveDeadBindings() 342 void ExprEngine::removeDead(ExplodedNode *Pred, ExplodedNodeSet &Out, in removeDead() 425 ExplodedNode *Pred) { in ProcessStmt() 456 ExplodedNode *Pred) { in ProcessInitializer() 535 ExplodedNode *N = *I; in ProcessInitializer() 544 ExplodedNode *Pred) { in ProcessImplicitDtor() 571 ExplodedNode *Pred) { in ProcessNewAllocator() 590 ExplodedNode *Pred, in ProcessAutomaticObjDtor() 609 ExplodedNode *Pred, in ProcessDeleteDtor() [all …]
|
D | ExprEngineCXX.cpp | 26 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 …]
|
D | ExprEngineC.cpp | 23 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() 433 ExplodedNode *Pred, in VisitCompoundLiteralExpr() 465 void ExprEngine::VisitDeclStmt(const DeclStmt *DS, ExplodedNode *Pred, in VisitDeclStmt() 484 ExplodedNode *N = *I; in VisitDeclStmt() 492 ExplodedNode *UpdatedN = N; in VisitDeclStmt() 541 void ExprEngine::VisitLogicalExpr(const BinaryOperator* B, ExplodedNode *Pred, in VisitLogicalExpr() 549 ExplodedNode *N = Pred; in VisitLogicalExpr() [all …]
|
D | BugReporter.cpp | 57 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 …]
|
D | ExprEngineObjC.cpp | 23 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()
|
/external/clang/lib/StaticAnalyzer/Checkers/ |
D | MacOSKeychainAPIChecker.cpp | 103 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, 258 ExplodedNode *N = C.generateNonFatalErrorNode(State); in generateDeallocatorMismatchReport() 304 ExplodedNode *N = C.generateNonFatalErrorNode(State); in checkPreStmt() 367 ExplodedNode *N = C.generateNonFatalErrorNode(State); in checkPreStmt() 433 ExplodedNode *N = C.generateNonFatalErrorNode(State); in checkPreStmt() 496 const ExplodedNode * 497 MacOSKeychainAPIChecker::getAllocationNode(const ExplodedNode *N, in getAllocationNode() [all …]
|
D | NonNullParamChecker.cpp | 40 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()
|
D | ExprInspectionChecker.cpp | 67 ExplodedNode *N = C.getPredecessor(); in getArgumentValueString() 106 ExplodedNode *N = C.generateNonFatalErrorNode(); in analyzerEval() 119 ExplodedNode *N = C.generateNonFatalErrorNode(); in analyzerWarnIfReached() 140 ExplodedNode *N = C.generateNonFatalErrorNode(); in analyzerCheckInlined() 173 ExplodedNode *N = C.generateNonFatalErrorNode(); in checkDeadSymbols()
|
D | NullabilityChecker.cpp | 157 PathDiagnosticPiece *VisitNode(const ExplodedNode *N, 158 const ExplodedNode *PrevN, 172 void reportBugIfPreconditionHolds(ErrorKind Error, ExplodedNode *N, 177 void reportBug(ErrorKind Error, ExplodedNode *N, const MemRegion *Region, in reportBug() 281 const ExplodedNode *N, const ExplodedNode *PrevN, BugReporterContext &BRC, in VisitNode() 359 static bool checkPreconditionViolation(ProgramStateRef State, ExplodedNode *N, in checkPreconditionViolation() 392 ErrorKind Error, ExplodedNode *N, const MemRegion *Region, in reportBugIfPreconditionHolds() 502 ExplodedNode *N = C.generateErrorNode(State, &Tag); in checkPreStmt() 523 ExplodedNode *N = C.addTransition(State, C.getPredecessor(), &Tag); in checkPreStmt() 574 ExplodedNode *N = C.generateErrorNode(State); in checkPreCall() [all …]
|
D | CallAndMessageChecker.cpp | 81 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()
|
D | DynamicTypePropagation.cpp | 65 ExplodedNode *dynamicTypePropagationOnCasts(const CastExpr *CE, 86 PathDiagnosticPiece *VisitNode(const ExplodedNode *N, 87 const ExplodedNode *PrevN, 97 const ObjCObjectPointerType *To, ExplodedNode *N, 277 ExplodedNode *DynamicTypePropagation::dynamicTypePropagationOnCasts( in dynamicTypePropagationOnCasts() 512 ExplodedNode *AfterTypeProp = dynamicTypePropagationOnCasts(CE, State, C); in checkPostStmt() 565 ExplodedNode *N = C.addTransition(State, AfterTypeProp, &IllegalConv); in checkPostStmt() 746 ExplodedNode *N = C.addTransition(State, &Tag); in checkPreObjCMessage() 821 ExplodedNode *Pred = C.getPredecessor(); in checkPostObjCMessage() 849 ExplodedNode *N, SymbolRef Sym, CheckerContext &C, in reportGenericsBug() [all …]
|
D | PthreadLockChecker.cpp | 145 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/Frontend/ |
D | AnalysisConsumer.cpp | 57 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()
|