X-Git-Url: http://plrg.eecs.uci.edu/git/?p=jpf-core.git;a=blobdiff_plain;f=src%2Fmain%2Fgov%2Fnasa%2Fjpf%2Flistener%2FConflictTracker.java;h=8c1e2afd5715035880b48bc52a2a1f5efe80313c;hp=1cd281dcd3823f1b25c9383d9b6219067ae82987;hb=84bab769b729b981b5fe8cd91b182d861df33991;hpb=61943f1242a84a6f6456cb3ae3cf5a13f91ef4c2;ds=sidebyside diff --git a/src/main/gov/nasa/jpf/listener/ConflictTracker.java b/src/main/gov/nasa/jpf/listener/ConflictTracker.java index 1cd281d..8c1e2af 100644 --- a/src/main/gov/nasa/jpf/listener/ConflictTracker.java +++ b/src/main/gov/nasa/jpf/listener/ConflictTracker.java @@ -112,11 +112,12 @@ public class ConflictTracker extends ListenerAdapter { isChanged |= updateTheOutSet(node, nodeToProcess); } - // All the changes in parents are propagated + // All the changes in current parents are propagated parentQueueMap.get(nodeToProcess).clear(); - // Check for a conflict if the outSet of nodeToProcess is changed + // 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()) { @@ -125,23 +126,21 @@ public class ConflictTracker extends ListenerAdapter { return true; } } - } - - // Update the parents list for the successors of the current node - parents.clear(); - parents.add(nodeToProcess); + + // Update the parents list for the successors of the current node + parents.clear(); + parents.add(nodeToProcess); - // Checking if the out set has changed or not(Add its successors to the change list!) - if (isChanged) { - for (Node i : nodeToProcess.getSuccessors()) { + // For all the successors of the current node + for (Node i : nodeToProcess.getSuccessors()) { if (!changed.contains(i)) changed.add(i); - // Update the list of updated parents for the current node - if (parentQueueMap.containsKey(i)) + // Update the list of updated parents for the current node + if (parentQueueMap.containsKey(i)) parentQueueMap.get(i).add(nodeToProcess); - else - parentQueueMap.put(i, parents); + else + parentQueueMap.put(i, parents); } } }