From: Hamed <hamed.gorjiara@gmail.com> Date: Tue, 5 Sep 2017 21:39:02 +0000 (-0700) Subject: Fixing polarity path bug .... X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=7f1c113bef0969220c6a9849713e4ba7c2b451c4;p=satune.git Fixing polarity path bug .... --- diff --git a/src/ASTAnalyses/ordergraph.cc b/src/ASTAnalyses/ordergraph.cc index 2127db9..ce9a071 100644 --- a/src/ASTAnalyses/ordergraph.cc +++ b/src/ASTAnalyses/ordergraph.cc @@ -184,16 +184,19 @@ bool OrderGraph::isTherePath(OrderNode *source, OrderNode *destination){ SetIteratorOrderEdge *iterator = source->outEdges.iterator(); bool found = false; while(iterator->hasNext()){ - OrderNode* node = iterator->next()->sink; - if(!visited.contains(node)){ - if( node == destination ){ - found = true; - break; - } - visited.add(node); - found =isTherePathVisit(visited, node, destination); - if(found){ - break; + OrderEdge* edge = iterator->next(); + if(edge->polPos){ + OrderNode* node = edge->sink; + if(!visited.contains(node)){ + if( node == destination ){ + found = true; + break; + } + visited.add(node); + found =isTherePathVisit(visited, node, destination); + if(found){ + break; + } } } } @@ -205,15 +208,18 @@ bool OrderGraph::isTherePathVisit(HashsetOrderNode &visited, OrderNode* current, SetIteratorOrderEdge *iterator = current->outEdges.iterator(); bool found = false; while(iterator->hasNext()){ - OrderNode* node = iterator->next()->sink; - if(node == destination){ - found = true; - break; - } - visited.add(node); - if(isTherePathVisit(visited, node, destination)){ - found = true; - break; + OrderEdge* edge = iterator->next(); + if(edge->polPos){ + OrderNode* node = edge->sink; + if(node == destination){ + found = true; + break; + } + visited.add(node); + if(isTherePathVisit(visited, node, destination)){ + found = true; + break; + } } } delete iterator;