diff --git a/src/org/ntlab/deltaViewer/DeltaAliasCollector.java b/src/org/ntlab/deltaViewer/DeltaAliasCollector.java index ae05ff4..502836e 100644 --- a/src/org/ntlab/deltaViewer/DeltaAliasCollector.java +++ b/src/org/ntlab/deltaViewer/DeltaAliasCollector.java @@ -303,20 +303,23 @@ private Map> collectNewToOldMethodExecutionMap(List oldAliasList, List newAliasList) { Map> newToOldMethodExecMap = new HashMap<>(); int oldIdx = 0, newIdx = 0; + Alias lastMatchedAlias = null; for (oldIdx = 0; oldIdx < oldAliasList.size(); oldIdx++) { Alias oldAlias = oldAliasList.get(oldIdx); Alias newAlias = newAliasList.get(newIdx); if (oldAlias.equals(newAlias)) { + lastMatchedAlias = newAlias; newIdx++; } else { MethodExecution oldMethodExec = oldAlias.getMethodExecution(); - MethodExecution newMethodExec = newAlias.getMethodExecution(); + MethodExecution newMethodExec = lastMatchedAlias.getMethodExecution(); if (!newToOldMethodExecMap.containsKey(newMethodExec)) { newToOldMethodExecMap.put(newMethodExec, new HashSet<>()); newToOldMethodExecMap.get(newMethodExec).add(oldMethodExec); } else { newToOldMethodExecMap.get(newMethodExec).add(oldMethodExec); } + if (!oldAliasList.contains(newAlias)) newIdx++; } } return newToOldMethodExecMap;