forked from OSchip/llvm-project
Enable the GRStateManager to do something when we finish a path. For example,
the ConstraintManager can print its internal state before its solver instance is destroyed. llvm-svn: 60204
This commit is contained in:
parent
e9f6c355bf
commit
3698bdb417
|
@ -51,6 +51,8 @@ public:
|
|||
|
||||
virtual void print(const GRState* St, std::ostream& Out,
|
||||
const char* nl, const char *sep) = 0;
|
||||
|
||||
virtual void EndPath(const GRState* St) {}
|
||||
};
|
||||
|
||||
ConstraintManager* CreateBasicConstraintManager(GRStateManager& statemgr);
|
||||
|
|
|
@ -414,6 +414,7 @@ public:
|
|||
/// nodes when the control reaches the end of a function.
|
||||
void ProcessEndPath(EndPathNodeBuilder& builder) {
|
||||
getTF().EvalEndPath(*this, builder);
|
||||
StateMgr.EndPath(builder.getState());
|
||||
}
|
||||
|
||||
GRStateManager& getStateManager() { return StateMgr; }
|
||||
|
|
|
@ -536,6 +536,10 @@ public:
|
|||
const llvm::APSInt* getSymVal(const GRState* St, SymbolID sym) {
|
||||
return ConstraintMgr->getSymVal(St, sym);
|
||||
}
|
||||
|
||||
void EndPath(const GRState* St) {
|
||||
ConstraintMgr->EndPath(St);
|
||||
}
|
||||
};
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
Loading…
Reference in New Issue