java-runtime-decompiler/includeLambdas.patch

58 lines
2.4 KiB
Diff

commit fd66fd3a37cc899b11d97a13e0e23319d86f39c3
Author: Jiri Vanek <jvanek@redhat.com>
Date: Wed Jan 16 18:03:43 2019 +0100
Showing Lambdas again, but sorting them to the end.
diff --git a/runtime-decompiler/src/main/java/org/jrd/backend/core/DecompilerRequestReceiver.java b/runtime-decompiler/src/main/java/org/jrd/backend/core/DecompilerRequestReceiver.java
index b7fddea..603c26d 100644
--- runtime-decompiler/src/main/java/org/jrd/backend/core/DecompilerRequestReceiver.java
+++ runtime-decompiler/src/main/java/org/jrd/backend/core/DecompilerRequestReceiver.java
@@ -8,6 +8,7 @@ import org.jrd.backend.data.VmManager;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Comparator;
import java.util.List;
/**
@@ -146,6 +147,29 @@ public class DecompilerRequestReceiver {
return ERROR_RESPONSE;
}
String[] arrayOfClasses = parseClasses(classes);
+ if (arrayOfClasses != null){
+ Arrays.sort(arrayOfClasses, new Comparator<String>() {
+ @Override
+ public int compare(String o1, String o2) {
+ if (o1 == null && o2 == null) {
+ return 0;
+ }
+ if (o1 == null && o2 != null) {
+ return 1;
+ }
+ if (o1 != null && o2 == null) {
+ return -1;
+ }
+ if (o1.startsWith("[") && !o2.startsWith("[")) {
+ return 1;
+ }
+ if (!o1.startsWith("[") && o2.startsWith("[")) {
+ return -1;
+ }
+ return o1.compareTo(o2);
+ }
+ });
+ }
VmDecompilerStatus status = new VmDecompilerStatus();
status.setHostname(hostname);
status.setListenPort(actualListenPort);
@@ -214,9 +238,7 @@ public class DecompilerRequestReceiver {
list.removeAll(Arrays.asList("", null));
List<String> list1 = new ArrayList<>();
for (String s : list) {
- if (!(s.contains("Lambda") | s.startsWith("["))){
list1.add(s);
- }
}
java.util.Collections.sort(list1);
return list1.toArray(new String[]{});