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;