< prev index next > webrev/src/main/java/org/openjdk/skara/webrev/HunkCoalescer.java
Print this page
while (!hunks.isEmpty()) {
var next = hunks.peekFirst();
var last = hunksInRange.get(hunksInRange.size() - 1);
var destEnd = last.target().range().end() + numContextLines;
var sourceEnd = last.source().range().end() + numContextLines;
- if (sourceEnd >= next.source().range().start() ||
- destEnd >= next.target().range().start()) {
+ var nextDestStart = next.target().range().start() - numContextLines;
+ var nextSourceStart = next.source().range().start() - numContextLines;
+ if (sourceEnd >= nextSourceStart ||
+ destEnd >= nextDestStart) {
hunksInRange.add(hunks.removeFirst());
} else {
break;
}
}
var sourceAfterContextStart = hunk.source().range().end();
var sourceAfterContextEnd = hunk.source().range().end() + numContextLines;
sourceAfterContextEnd = Math.min(sourceAfterContextEnd, sourceContent.size() + 1);
if (nextNonEmptySourceHunk != null) {
var nextNonEmptySourceHunkStart = nextNonEmptySourceHunk.source().range().start();
- sourceAfterContextEnd = Math.min(sourceAfterContextEnd, nextNonEmptySourceHunkStart);
+ sourceAfterContextEnd = sourceAfterContextEnd > nextNonEmptySourceHunkStart
+ ? Math.min(sourceAfterContextEnd, nextNonEmptySourceHunkStart)
+ : Math.max(sourceAfterContextEnd, nextNonEmptySourceHunkStart);
}
var sourceAfterContextCount = sourceAfterContextEnd - sourceAfterContextStart;
var destAfterContextStart = hunk.target().range().end();
var destAfterContextEnd = hunk.target().range().end() + numContextLines;
var destAfterContextStart = hunk.target().range().end();
var destAfterContextEnd = hunk.target().range().end() + numContextLines;
destAfterContextEnd = Math.min(destAfterContextEnd, destContent.size() + 1);
if (nextNonEmptyTargetHunk != null) {
var nextNonEmptyTargetHunkStart = nextNonEmptyTargetHunk.target().range().start();
- destAfterContextEnd = Math.min(destAfterContextEnd, nextNonEmptyTargetHunkStart);
+ destAfterContextEnd = destAfterContextEnd > nextNonEmptyTargetHunkStart
+ ? Math.min(destAfterContextEnd, nextNonEmptyTargetHunkStart)
+ : Math.max(destAfterContextEnd, nextNonEmptyTargetHunkStart);
}
var destAfterContextCount = destAfterContextEnd - destAfterContextStart;
var afterContextCount = Math.min(sourceAfterContextCount, destAfterContextCount);
< prev index next >