aboutsummaryrefslogtreecommitdiff
path: root/lib/StaticAnalyzer/Core/ExprEngine.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2011-07-29 21:18:24 +0000
committerTed Kremenek <kremenek@apple.com>2011-07-29 21:18:24 +0000
commitae2dc146c936244f3cd72efa24085259452a861c (patch)
tree8f96e2f2b5b6632231fac2222ab7736ec08ed7ea /lib/StaticAnalyzer/Core/ExprEngine.cpp
parent962fddcd97d20012ea2e68a8c4e1833c53b6d937 (diff)
[analyzer] Remove recursive visitation in ExprEngine::VisitObjCPropertyRefExpr because it isn't needed anymore.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136515 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/StaticAnalyzer/Core/ExprEngine.cpp')
-rw-r--r--lib/StaticAnalyzer/Core/ExprEngine.cpp20
1 files changed, 1 insertions, 19 deletions
diff --git a/lib/StaticAnalyzer/Core/ExprEngine.cpp b/lib/StaticAnalyzer/Core/ExprEngine.cpp
index d3332402c6..323b1c2c81 100644
--- a/lib/StaticAnalyzer/Core/ExprEngine.cpp
+++ b/lib/StaticAnalyzer/Core/ExprEngine.cpp
@@ -1731,25 +1731,7 @@ void ExprEngine::VisitCallExpr(const CallExpr* CE, ExplodedNode* Pred,
void ExprEngine::VisitObjCPropertyRefExpr(const ObjCPropertyRefExpr *Ex,
ExplodedNode *Pred,
ExplodedNodeSet &Dst) {
- ExplodedNodeSet dstBase;
-
- // Visit the receiver (if any).
- if (Ex->isObjectReceiver())
- Visit(Ex->getBase(), Pred, dstBase);
- else
- dstBase = Pred;
-
- ExplodedNodeSet dstPropRef;
-
- // Using the base, compute the lvalue of the instance variable.
- for (ExplodedNodeSet::iterator I = dstBase.begin(), E = dstBase.end();
- I!=E; ++I) {
- ExplodedNode *nodeBase = *I;
- const GRState *state = GetState(nodeBase);
- MakeNode(dstPropRef, Ex, *I, state->BindExpr(Ex, loc::ObjCPropRef(Ex)));
- }
-
- Dst.insert(dstPropRef);
+ MakeNode(Dst, Ex, Pred, GetState(Pred)->BindExpr(Ex, loc::ObjCPropRef(Ex)));
}
//===----------------------------------------------------------------------===//