LEFT | RIGHT |
1 //===-- GRExprEngine.h - Path-Sensitive Expression-Level Dataflow ---*- C++ -*-= | 1 //===-- GRExprEngine.h - Path-Sensitive Expression-Level Dataflow ---*- C++ -*-= |
2 // | 2 // |
3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 // This file defines a meta-engine for path-sensitive dataflow analysis that | 10 // This file defines a meta-engine for path-sensitive dataflow analysis that |
(...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
421 /// VisitUnaryOperator - Transfer function logic for unary operators. | 421 /// VisitUnaryOperator - Transfer function logic for unary operators. |
422 void VisitUnaryOperator(const UnaryOperator* B, ExplodedNode* Pred,· | 422 void VisitUnaryOperator(const UnaryOperator* B, ExplodedNode* Pred,· |
423 ExplodedNodeSet& Dst, bool asLValue); | 423 ExplodedNodeSet& Dst, bool asLValue); |
424 | 424 |
425 void VisitCXXThisExpr(const CXXThisExpr *TE, ExplodedNode *Pred,· | 425 void VisitCXXThisExpr(const CXXThisExpr *TE, ExplodedNode *Pred,· |
426 ExplodedNodeSet & Dst); | 426 ExplodedNodeSet & Dst); |
427 ·· | 427 ·· |
428 void VisitCXXConstructExpr(const CXXConstructExpr *E, const MemRegion *Dest, | 428 void VisitCXXConstructExpr(const CXXConstructExpr *E, const MemRegion *Dest, |
429 ExplodedNode *Pred, ExplodedNodeSet &Dst); | 429 ExplodedNode *Pred, ExplodedNodeSet &Dst); |
430 | 430 |
| 431 void VisitCXXDestructor(const CXXDestructorDecl *DD, |
| 432 const MemRegion *Dest, const Stmt *S, |
| 433 ExplodedNode *Pred, ExplodedNodeSet &Dst); |
| 434 |
431 void VisitCXXMemberCallExpr(const CXXMemberCallExpr *MCE, ExplodedNode *Pred, | 435 void VisitCXXMemberCallExpr(const CXXMemberCallExpr *MCE, ExplodedNode *Pred, |
432 ExplodedNodeSet &Dst); | 436 ExplodedNodeSet &Dst); |
433 | 437 |
434 void VisitCXXOperatorCallExpr(const CXXOperatorCallExpr *C, | 438 void VisitCXXOperatorCallExpr(const CXXOperatorCallExpr *C, |
435 ExplodedNode *Pred, ExplodedNodeSet &Dst); | 439 ExplodedNode *Pred, ExplodedNodeSet &Dst); |
436 | 440 |
437 void VisitCXXNewExpr(const CXXNewExpr *CNE, ExplodedNode *Pred, | 441 void VisitCXXNewExpr(const CXXNewExpr *CNE, ExplodedNode *Pred, |
438 ExplodedNodeSet &Dst); | 442 ExplodedNodeSet &Dst); |
439 | 443 |
440 void VisitCXXDeleteExpr(const CXXDeleteExpr *CDE, ExplodedNode *Pred, | 444 void VisitCXXDeleteExpr(const CXXDeleteExpr *CDE, ExplodedNode *Pred, |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
536 void EvalLocation(ExplodedNodeSet &Dst, const Stmt *S, ExplodedNode* Pred, | 540 void EvalLocation(ExplodedNodeSet &Dst, const Stmt *S, ExplodedNode* Pred, |
537 const GRState* St, SVal location, | 541 const GRState* St, SVal location, |
538 const void *tag, bool isLoad); | 542 const void *tag, bool isLoad); |
539 | 543 |
540 bool InlineCall(ExplodedNodeSet &Dst, const CallExpr *CE, ExplodedNode *Pred); | 544 bool InlineCall(ExplodedNodeSet &Dst, const CallExpr *CE, ExplodedNode *Pred); |
541 }; | 545 }; |
542 | 546 |
543 } // end clang namespace | 547 } // end clang namespace |
544 | 548 |
545 #endif | 549 #endif |
LEFT | RIGHT |