diff options
author | Zhongxing Xu <xuzhongxing@gmail.com> | 2010-08-29 05:16:31 +0000 |
---|---|---|
committer | Zhongxing Xu <xuzhongxing@gmail.com> | 2010-08-29 05:16:31 +0000 |
commit | 66af6ac521a1f19e7249ddc42b204c5d43351cc5 (patch) | |
tree | 1e947983eebb9d06b0688063ba7af02e9bc0829e /lib/Checker/AggExprVisitor.cpp | |
parent | 54160c6d95f475035545206d13f967da87ab5243 (diff) |
Add comments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112414 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Checker/AggExprVisitor.cpp')
-rw-r--r-- | lib/Checker/AggExprVisitor.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/Checker/AggExprVisitor.cpp b/lib/Checker/AggExprVisitor.cpp index e9c0b1e459..6d472f46b4 100644 --- a/lib/Checker/AggExprVisitor.cpp +++ b/lib/Checker/AggExprVisitor.cpp @@ -18,6 +18,13 @@ using namespace clang; namespace { +/// AggExprVisitor is designed after AggExprEmitter of the CodeGen module. It +/// is used for evaluating exprs of C++ object type. Evaluating such exprs +/// requires a destination pointer pointing to the object being evaluated +/// into. Passing such a pointer around would pollute the Visit* interface of +/// GRExprEngine. AggExprVisitor encapsulates code that goes through various +/// cast and construct exprs (and others), and at the final point, dispatches +/// back to the GRExprEngine to let the real evaluation logic happen. class AggExprVisitor : public StmtVisitor<AggExprVisitor> { SVal DestPtr; ExplodedNode *Pred; |