From 8d31b251fc6409b59f2931be5ee97114190f026a Mon Sep 17 00:00:00 2001 From: Seyed Amir Hossein Aqajari Date: Fri, 6 Dec 2019 16:25:17 -0800 Subject: [PATCH] Compacting the methods --- .../nasa/jpf/listener/ConflictTracker.java | 37 +++++++++---------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/src/main/gov/nasa/jpf/listener/ConflictTracker.java b/src/main/gov/nasa/jpf/listener/ConflictTracker.java index 8c1e2af..82a7114 100644 --- a/src/main/gov/nasa/jpf/listener/ConflictTracker.java +++ b/src/main/gov/nasa/jpf/listener/ConflictTracker.java @@ -118,15 +118,9 @@ public class ConflictTracker extends ListenerAdapter { // Check if the node has changed or not if (isChanged) { // Check for a conflict in all the transition out of this node - for (Node node : nodeToProcess.getSuccessors()) { - HashMap> setSets = nodeToProcess.getOutgoingEdges().get(node).getSetSetMap(); - for (Map.Entry mapElement : setSets.entrySet()) { - Transition transition = (Transition)mapElement.getKey(); - if (checkForConflict(nodeToProcess, node, transition)) - return true; - } - } - + if (checkAllSuccForConflict(nodeToProcess)) + return true; + // Update the parents list for the successors of the current node parents.clear(); parents.add(nodeToProcess); @@ -157,6 +151,18 @@ public class ConflictTracker extends ListenerAdapter { return message; } + boolean checkAllSuccForConflict(Node currentNode) { + for (Node node : currentNode.getSuccessors()) { + HashMap> setSets = currentNode.getOutgoingEdges().get(node).getSetSetMap(); + for (Map.Entry mapElement : setSets.entrySet()) { + Transition transition = (Transition)mapElement.getKey(); + if (checkForConflict(currentNode, node, transition)) + return true; + } + } + return false; + } + boolean checkForConflict(Node parentNode, Node currentNode, Transition currentTransition) { ArrayList setSet = parentNode.getOutgoingEdges().get(currentNode).getSetSetMap().get(currentTransition); HashMap valueMap = new HashMap(); // HashMap from varName to value @@ -484,16 +490,9 @@ public class ConflictTracker extends ListenerAdapter { boolean isChanged = updateTheOutSet(parentNode, currentNode); // Check if the outSet of this state has changed, update all of its successors' sets if any - if (isChanged) { - for (Node node : currentNode.getSuccessors()) { - HashMap> setSets = currentNode.getOutgoingEdges().get(node).getSetSetMap(); - for (Map.Entry mapElement : setSets.entrySet()) { - Transition currentTransition = (Transition)mapElement.getKey(); - conflictFound = conflictFound || checkForConflict(currentNode, node, currentTransition); - } - } - conflictFound = conflictFound || propagateTheChange(currentNode); - } + if (isChanged) + conflictFound = conflictFound || checkAllSuccForConflict(currentNode) || propagateTheChange(currentNode); + // Update the parent node if (nodes.containsKey(id)) { parentNode = nodes.get(id); -- 2.34.1