diff --git a/src/main/java/org/parabot/core/ui/ReflectUI.java b/src/main/java/org/parabot/core/ui/ReflectUI.java
index 351ca66..c57a943 100644
--- a/src/main/java/org/parabot/core/ui/ReflectUI.java
+++ b/src/main/java/org/parabot/core/ui/ReflectUI.java
@@ -5,6 +5,7 @@ import org.parabot.core.asm.ASMClassLoader;
import org.parabot.core.classpath.ClassPath;
import org.parabot.core.reflect.RefClass;
import org.parabot.core.reflect.RefField;
+import org.parabot.environment.api.utils.StringUtils;
import javax.swing.*;
import javax.swing.event.TreeSelectionEvent;
@@ -91,6 +92,8 @@ public class ReflectUI extends JFrame {
result = f;
} else if (value.toLowerCase().endsWith(search.toLowerCase())) {
result = f;
+ } else if (value.toLowerCase().contains(search.toLowerCase())){
+ result = f;
}
}
}
@@ -238,6 +241,13 @@ public class ReflectUI extends JFrame {
builder.append("Type: ").append(refField.getASMType().getClassName()).append("
");
builder.append("Static: ").append(refField.isStatic() ? "yes" : "no").append("
");
builder.append("Array: ").append(refField.isArray() ? refField.getArrayDimensions() + " dimension(s)" : "no").append("
");
+
+ if (refField.isArray() && refField.getASMType().getClassName().contains("String") && refField.getArrayDimensions() == 1){
+ String[] strings = (String[]) refField.asObject();
+ String values = StringUtils.implode(", ", strings);
+
+ builder.append("Values: ").append(values).append("
");
+ }
selectionInfoPane.setText(builder.toString());
fillBasicInfoPane();
diff --git a/src/main/java/org/parabot/environment/api/utils/StringUtils.java b/src/main/java/org/parabot/environment/api/utils/StringUtils.java
index 573d5a1..892c75b 100644
--- a/src/main/java/org/parabot/environment/api/utils/StringUtils.java
+++ b/src/main/java/org/parabot/environment/api/utils/StringUtils.java
@@ -28,6 +28,19 @@ public class StringUtils {
return sb.toString();
}
+ public static String implode(String separator, String... data) {
+ StringBuilder sb = new StringBuilder();
+ for (int i = 0; i < data.length - 1; i++) {
+ //data.length - 1 => to not add separator at the end
+ if (!data[i].matches(" *")) {//empty string are ""; " "; " "; and so on
+ sb.append(data[i]);
+ sb.append(separator);
+ }
+ }
+ sb.append(data[data.length - 1].trim());
+ return sb.toString();
+ }
+
public static String randomString(final int length) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 20; i++) {