X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=cyclegraph.h;h=bb2ab2d87b4370065ff64fa9dfcac45e86f2ce39;hb=82df62c2b0805848b87bb71df5b66a4a66f8e25d;hp=fcaa21365a6c6e5434c2f9a468e6d041036aab19;hpb=fbacb5f41ada96e7b539ccc41deccb1a7e1a1ba8;p=model-checker.git diff --git a/cyclegraph.h b/cyclegraph.h index fcaa213..bb2ab2d 100644 --- a/cyclegraph.h +++ b/cyclegraph.h @@ -36,8 +36,8 @@ class CycleGraph { bool checkForCycles() const; bool checkPromise(const ModelAction *from, Promise *p) const; - template - bool checkReachable(const ModelAction *from, const T *to) const; + template + bool checkReachable(const T *from, const U *to) const; void startChanges(); void commitChanges(); @@ -54,6 +54,8 @@ class CycleGraph { private: bool addNodeEdge(CycleNode *fromnode, CycleNode *tonode); void putNode(const ModelAction *act, CycleNode *node); + void putNode(const Promise *promise, CycleNode *node); + void erasePromiseNode(const Promise *promise); CycleNode * getNode(const ModelAction *act); CycleNode * getNode(const Promise *promise); CycleNode * getNode_noCreate(const ModelAction *act) const;