forked from OSchip/llvm-project
Cleanup: remove CleanedSate member and GetState() wrapper from StmtNodeBuilder, not needed as of r137273.
llvm-svn: 137284
This commit is contained in:
parent
784077eb57
commit
173864b36c
|
@ -71,7 +71,7 @@ public:
|
|||
ExplodedNodeSet &getNodeSet() { return Dst; }
|
||||
StmtNodeBuilder &getNodeBuilder() { return B; }
|
||||
ExplodedNode *&getPredecessor() { return Pred; }
|
||||
const GRState *getState() { return ST ? ST : B.GetState(Pred); }
|
||||
const GRState *getState() { return ST ? ST : Pred->getState(); }
|
||||
const Stmt *getStmt() const { return statement; }
|
||||
|
||||
ASTContext &getASTContext() {
|
||||
|
@ -151,7 +151,7 @@ public:
|
|||
assert(state);
|
||||
// If the 'state' is not new, we need to check if the cached state 'ST'
|
||||
// is new.
|
||||
if (state != getState() || (ST && ST != B.GetState(Pred)))
|
||||
if (state != getState() || (ST && ST != Pred->getState()))
|
||||
// state is new or equals to ST.
|
||||
generateNode(state, true, tag);
|
||||
else
|
||||
|
|
|
@ -172,9 +172,6 @@ public:
|
|||
ProgramPoint::Kind PointKind;
|
||||
const void *Tag;
|
||||
|
||||
const GRState* CleanedState;
|
||||
|
||||
|
||||
typedef llvm::SmallPtrSet<ExplodedNode*,5> DeferredTy;
|
||||
DeferredTy Deferred;
|
||||
|
||||
|
@ -191,10 +188,6 @@ public:
|
|||
// FIXME: This should not be exposed.
|
||||
WorkList *getWorkList() { return Eng.WList; }
|
||||
|
||||
void SetCleanedState(const GRState* St) {
|
||||
CleanedState = St;
|
||||
}
|
||||
|
||||
BlockCounter getBlockCounter() const { return Eng.WList->getBlockCounter();}
|
||||
|
||||
unsigned getCurrentBlockCount() const {
|
||||
|
@ -252,13 +245,6 @@ public:
|
|||
|
||||
unsigned getIndex() const { return Idx; }
|
||||
|
||||
const GRState* GetState(ExplodedNode* Pred) const {
|
||||
if (Pred == getPredecessor())
|
||||
return CleanedState;
|
||||
else
|
||||
return Pred->getState();
|
||||
}
|
||||
|
||||
ExplodedNode* MakeNode(ExplodedNodeSet& Dst, const Stmt* S,
|
||||
ExplodedNode* Pred, const GRState* St) {
|
||||
return MakeNode(Dst, S, Pred, St, PointKind);
|
||||
|
|
|
@ -2832,9 +2832,9 @@ void CFRefCount::evalCall(ExplodedNodeSet& Dst,
|
|||
|
||||
assert(Summ);
|
||||
evalSummary(Dst, Eng, Builder, CE,
|
||||
CallOrObjCMessage(CE, Builder.GetState(Pred)),
|
||||
CallOrObjCMessage(CE, Pred->getState()),
|
||||
InstanceReceiver(), *Summ,L.getAsRegion(),
|
||||
Pred, Builder.GetState(Pred));
|
||||
Pred, Pred->getState());
|
||||
}
|
||||
|
||||
void CFRefCount::evalObjCMessage(ExplodedNodeSet& Dst,
|
||||
|
@ -2850,7 +2850,7 @@ void CFRefCount::evalObjCMessage(ExplodedNodeSet& Dst,
|
|||
|
||||
assert(Summ && "RetainSummary is null");
|
||||
evalSummary(Dst, Eng, Builder, msg.getOriginExpr(),
|
||||
CallOrObjCMessage(msg, Builder.GetState(Pred)),
|
||||
CallOrObjCMessage(msg, Pred->getState()),
|
||||
InstanceReceiver(msg, Pred->getLocationContext()), *Summ, NULL,
|
||||
Pred, state);
|
||||
}
|
||||
|
@ -2919,7 +2919,7 @@ void CFRefCount::evalReturn(ExplodedNodeSet& Dst,
|
|||
if (!RetE)
|
||||
return;
|
||||
|
||||
const GRState *state = Builder.GetState(Pred);
|
||||
const GRState *state = Pred->getState();
|
||||
SymbolRef Sym = state->getSValAsScalarOrLoc(RetE).getAsLocSymbol();
|
||||
|
||||
if (!Sym)
|
||||
|
|
|
@ -23,7 +23,7 @@ CheckerContext::~CheckerContext() {
|
|||
// if we are building sinks or we generated a node and decided to not
|
||||
// add it as a transition.
|
||||
if (Dst.size() == size && !B.BuildSinks && !B.hasGeneratedNode) {
|
||||
if (ST && ST != B.GetState(Pred)) {
|
||||
if (ST && ST != Pred->getState()) {
|
||||
static int autoTransitionTag = 0;
|
||||
addTransition(ST, &autoTransitionTag);
|
||||
}
|
||||
|
|
|
@ -487,7 +487,6 @@ StmtNodeBuilder::StmtNodeBuilder(const CFGBlock* b, unsigned idx,
|
|||
PurgingDeadSymbols(false), BuildSinks(false), hasGeneratedNode(false),
|
||||
PointKind(ProgramPoint::PostStmtKind), Tag(0) {
|
||||
Deferred.insert(N);
|
||||
CleanedState = Pred->getState();
|
||||
}
|
||||
|
||||
StmtNodeBuilder::~StmtNodeBuilder() {
|
||||
|
|
|
@ -1592,7 +1592,7 @@ void ExprEngine::evalLocation(ExplodedNodeSet &Dst, const Stmt *S,
|
|||
}
|
||||
|
||||
ExplodedNodeSet Src;
|
||||
if (Builder->GetState(Pred) == state) {
|
||||
if (Pred->getState() == state) {
|
||||
Src.Add(Pred);
|
||||
} else {
|
||||
// Associate this new state with an ExplodedNode.
|
||||
|
@ -2017,7 +2017,7 @@ void ExprEngine::VisitObjCMessage(const ObjCMessage &msg,
|
|||
Builder->BuildSinks = true;
|
||||
|
||||
// Dispatch to plug-in transfer function.
|
||||
evalObjCMessage(dstEval, msg, Pred, Builder->GetState(Pred));
|
||||
evalObjCMessage(dstEval, msg, Pred, Pred->getState());
|
||||
}
|
||||
|
||||
// Handle the case where no nodes where generated. Auto-generate that
|
||||
|
|
Loading…
Reference in New Issue