Skip to content

Commit d3ea580

Browse files
committed
fix a case in union where order wasn't necessarily preserved
1 parent 6ca53c8 commit d3ea580

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

javascript/extractor/src/com/semmle/js/extractor/CFGExtractor.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,14 @@ private static Collection<Node> union(Node x, Collection<Node> ys) {
225225
return Collections.singleton(x);
226226
}
227227
if (ys.contains(x)) {
228-
return ys;
228+
List<Node> result = new ArrayList<>();
229+
result.add(x);
230+
for (Node y : ys) {
231+
if (y != x) {
232+
result.add(y);
233+
}
234+
}
235+
return result;
229236
}
230237

231238
List<Node> result = new ArrayList<>();

0 commit comments

Comments
 (0)