Interface should be bool, not happenedbefore
[satune.git] / src / Translator / decomposeorderresolver.cc
index 798bb3085a458a90f4f150f1cba656ee327b95b2..f226fdaee8100dd7915b101d329f57914fb4f7e4 100644 (file)
@@ -20,25 +20,22 @@ DecomposeOrderResolver::DecomposeOrderResolver(OrderGraph *_graph, Vector<Order
 DecomposeOrderResolver::~DecomposeOrderResolver() {
 }
 
-HappenedBefore DecomposeOrderResolver::resolveOrder(uint64_t first, uint64_t second) {
-       OrderNode *from = graph->getOrderNodeFromOrderGraph(first, false /*Don't create new node if doesn't exist*/);
-       if (from == NULL) {
-               return SATC_UNORDERED;
-       }
-       OrderNode *to = graph->getOrderNodeFromOrderGraph(second, false);
-       if (from == NULL) {
-               return SATC_UNORDERED;
-       }
+bool DecomposeOrderResolver::resolveOrder(uint64_t first, uint64_t second) {
+       OrderNode *from = graph->lookupOrderNodeFromOrderGraph(first);
+       ASSERT(from != NULL);
+       OrderNode *to = graph->lookupOrderNodeFromOrderGraph(second);
+       ASSERT(to != NULL);
+
        if (from->sccNum != to->sccNum) {
-               OrderEdge *edge = graph->getOrderEdgeFromOrderGraph(from, to, false     /* Don't create a new edge*/);
+               OrderEdge *edge = graph->lookupOrderEdgeFromOrderGraph(from, to);
                if (edge != NULL && edge->mustPos) {
-                       return SATC_FIRST;
+                       return true;
                } else if ( edge != NULL && edge->mustNeg) {
-                       return SATC_SECOND;
+                       return false;
                } else {
                        switch (graph->getOrder()->type) {
                        case SATC_TOTAL:
-                               return from->sccNum < to->sccNum ? SATC_FIRST : SATC_SECOND;
+                               return from->sccNum < to->sccNum;
                        case SATC_PARTIAL:
                        //Adding support for partial order ...
                        default: