Index: cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h =================================================================== --- cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h +++ cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h @@ -80,14 +80,6 @@ void setBlockCounter(BlockCounter C) { CurrentCounter = C; } BlockCounter getBlockCounter() const { return CurrentCounter; } - class Visitor { - public: - Visitor() {} - virtual ~Visitor(); - virtual bool visit(const WorkListUnit &U) = 0; - }; - virtual bool visitItemsInWorkList(Visitor &V) = 0; - static WorkList *makeDFS(); static WorkList *makeBFS(); static WorkList *makeBFSBlockDFSContents(); Index: cfe/trunk/lib/StaticAnalyzer/Core/CoreEngine.cpp =================================================================== --- cfe/trunk/lib/StaticAnalyzer/Core/CoreEngine.cpp +++ cfe/trunk/lib/StaticAnalyzer/Core/CoreEngine.cpp @@ -37,8 +37,6 @@ // Worklist classes for exploration of reachable states. //===----------------------------------------------------------------------===// -WorkList::Visitor::~Visitor() {} - namespace { class DFS : public WorkList { SmallVector Stack; @@ -57,15 +55,6 @@ Stack.pop_back(); // This technically "invalidates" U, but we are fine. return U; } - - bool visitItemsInWorkList(Visitor &V) override { - for (SmallVectorImpl::iterator - I = Stack.begin(), E = Stack.end(); I != E; ++I) { - if (V.visit(*I)) - return true; - } - return false; - } }; class BFS : public WorkList { @@ -85,14 +74,6 @@ return U; } - bool visitItemsInWorkList(Visitor &V) override { - for (std::deque::iterator - I = Queue.begin(), E = Queue.end(); I != E; ++I) { - if (V.visit(*I)) - return true; - } - return false; - } }; } // end anonymous namespace @@ -135,20 +116,6 @@ Queue.pop_front(); return U; } - bool visitItemsInWorkList(Visitor &V) override { - for (SmallVectorImpl::iterator - I = Stack.begin(), E = Stack.end(); I != E; ++I) { - if (V.visit(*I)) - return true; - } - for (std::deque::iterator - I = Queue.begin(), E = Queue.end(); I != E; ++I) { - if (V.visit(*I)) - return true; - } - return false; - } - }; } // end anonymous namespace