Skip to content

Commit 9989b60

Browse files
committed
Fix lambda comparator
1 parent 7c76bce commit 9989b60

File tree

1 file changed

+6
-17
lines changed

1 file changed

+6
-17
lines changed

org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ToggleBreakpointAdapter.java

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515

1616
import java.util.ArrayList;
1717
import java.util.Collections;
18-
import java.util.Comparator;
1918
import java.util.HashMap;
2019
import java.util.Iterator;
2120
import java.util.List;
@@ -1975,7 +1974,12 @@ public int selectLambda(List<LambdaExpression> lambdaExps) {
19751974
protected FilteredList createFilteredList(Composite parent) {
19761975
FilteredList filteredList = super.createFilteredList(parent);
19771976
// Disable default sorting to keep the original order
1978-
filteredList.setComparator(new LambdaPositionComparator(lambdaNames));
1977+
filteredList.setComparator((o1, o2) -> {
1978+
if (o1 instanceof LambdaExpression l1 && o2 instanceof LambdaExpression l2) {
1979+
return Integer.compare(l1.getStartPosition(), l2.getStartPosition());
1980+
}
1981+
return 0;
1982+
});
19791983
filteredList.addSelectionListener(new SelectionAdapter() {
19801984
@Override
19811985
public void widgetSelected(SelectionEvent e) {
@@ -2012,21 +2016,6 @@ protected void setShellStyle(int newShellStyle) {
20122016
return -1;
20132017
}
20142018

2015-
private static class LambdaPositionComparator implements Comparator<Object> {
2016-
private List<String> lambdaNames;
2017-
2018-
public LambdaPositionComparator(List<String> lambdaNames) {
2019-
this.lambdaNames = lambdaNames;
2020-
}
2021-
2022-
@Override
2023-
public int compare(Object o1, Object o2) {
2024-
int index1 = lambdaNames.indexOf(o1);
2025-
int index2 = lambdaNames.indexOf(o2);
2026-
return index1 - index2;
2027-
}
2028-
}
2029-
20302019
private static class LambdaLabelProvider extends LabelProvider {
20312020
private List<LambdaExpression> lambdaExps;
20322021
private List<String> lambdaNames;

0 commit comments

Comments
 (0)