You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by pa...@apache.org on 2022/06/21 10:02:48 UTC
[groovy] branch GROOVY_3_0_X updated: GROOVY-10661: additional refactoring for 3_0_X (fix merge glitch)
This is an automated email from the ASF dual-hosted git repository.
paulk pushed a commit to branch GROOVY_3_0_X
in repository https://gitbox.apache.org/repos/asf/groovy.git
The following commit(s) were added to refs/heads/GROOVY_3_0_X by this push:
new 518886e2de GROOVY-10661: additional refactoring for 3_0_X (fix merge glitch)
518886e2de is described below
commit 518886e2de42f2241e26ae286ebc4dfdd83a272c
Author: Paul King <pa...@asert.com.au>
AuthorDate: Tue Jun 21 20:02:37 2022 +1000
GROOVY-10661: additional refactoring for 3_0_X (fix merge glitch)
---
src/main/java/groovy/inspect/Inspector.java | 53 +++++++++++++++++-----
.../groovy/groovy/console/ui/ObjectBrowser.groovy | 6 +--
2 files changed, 43 insertions(+), 16 deletions(-)
diff --git a/src/main/java/groovy/inspect/Inspector.java b/src/main/java/groovy/inspect/Inspector.java
index 8f60e32320..73fa806d6a 100644
--- a/src/main/java/groovy/inspect/Inspector.java
+++ b/src/main/java/groovy/inspect/Inspector.java
@@ -164,6 +164,16 @@ public class Inspector {
return result;
}
+ public Object[] getPublicFieldsWithRawValue() {
+ Field[] fields = getClassUnderInspection().getFields();
+ Object[] result = new Object[fields.length];
+ for (int i = 0; i < fields.length; i++) {
+ Field field = fields[i];
+ result[i] = fieldInfoWithRawValue(field);
+ }
+ return result;
+ }
+
/**
* Get info about Properties (Java and Groovy alike).
*
@@ -180,6 +190,17 @@ public class Inspector {
return result;
}
+ public Object[] getPropertyInfoWithRawValue() {
+ List props = DefaultGroovyMethods.getMetaPropertyValues(objectUnderInspection);
+ Object[] result = new Object[props.size()];
+ int i = 0;
+ for (Iterator iter = props.iterator(); iter.hasNext(); i++) {
+ PropertyValue pv = (PropertyValue) iter.next();
+ result[i] = fieldInfoWithRawValue(pv);
+ }
+ return result;
+ }
+
protected String[] fieldInfo(Field field) {
String[] result = new String[MEMBER_VALUE_IDX + 1];
result[MEMBER_ORIGIN_IDX] = JAVA;
@@ -195,6 +216,25 @@ public class Inspector {
return withoutNulls(result);
}
+ protected Object[] fieldInfoWithRawValue(Field field) {
+ Object[] result = new Object[MEMBER_RAW_VALUE_IDX + 1];
+ result[MEMBER_ORIGIN_IDX] = JAVA;
+ result[MEMBER_MODIFIER_IDX] = Modifier.toString(field.getModifiers());
+ result[MEMBER_DECLARER_IDX] = shortName(field.getDeclaringClass());
+ result[MEMBER_TYPE_IDX] = shortName(field.getType());
+ result[MEMBER_NAME_IDX] = field.getName();
+ Object rawValue = null;
+ try {
+ rawValue = field.get(objectUnderInspection);
+ result[MEMBER_VALUE_IDX] = InvokerHelper.inspect(rawValue);
+ } catch (IllegalAccessException e) {
+ result[MEMBER_VALUE_IDX] = NOT_APPLICABLE;
+ }
+ result = withoutNullsWithRawValue(result);
+ result[MEMBER_RAW_VALUE_IDX] = rawValue;
+ return result;
+ }
+
protected String[] fieldInfo(PropertyValue pv) {
String[] result = new String[MEMBER_VALUE_IDX + 1];
result[MEMBER_ORIGIN_IDX] = GROOVY;
@@ -210,17 +250,6 @@ public class Inspector {
return withoutNulls(result);
}
- public Object[] getPropertyInfoWithRawValue() {
- List props = DefaultGroovyMethods.getMetaPropertyValues(objectUnderInspection);
- Object[] result = new Object[props.size()];
- int i = 0;
- for (Iterator iter = props.iterator(); iter.hasNext(); i++) {
- PropertyValue pv = (PropertyValue) iter.next();
- result[i] = fieldInfoWithRawValue(pv);
- }
- return result;
- }
-
protected Object[] fieldInfoWithRawValue(PropertyValue pv) {
Object[] result = new Object[MEMBER_VALUE_IDX + 2];
result[MEMBER_ORIGIN_IDX] = GROOVY;
@@ -230,8 +259,8 @@ public class Inspector {
result[MEMBER_NAME_IDX] = pv.getName();
Object rawValue = null;
try {
- result[MEMBER_VALUE_IDX] = FormatHelper.inspect(pv.getValue());
rawValue = pv.getValue();
+ result[MEMBER_VALUE_IDX] = InvokerHelper.inspect(rawValue);
} catch (Exception e) {
result[MEMBER_VALUE_IDX] = NOT_APPLICABLE;
}
diff --git a/subprojects/groovy-console/src/main/groovy/groovy/console/ui/ObjectBrowser.groovy b/subprojects/groovy-console/src/main/groovy/groovy/console/ui/ObjectBrowser.groovy
index a02cc46501..609db67c51 100644
--- a/subprojects/groovy-console/src/main/groovy/groovy/console/ui/ObjectBrowser.groovy
+++ b/subprojects/groovy-console/src/main/groovy/groovy/console/ui/ObjectBrowser.groovy
@@ -172,10 +172,8 @@ class ObjectBrowser {
}
scrollPane(name: ' Public Fields and Properties ') {
fieldTable = table {
- def data = Inspector.sort(inspector.publicFields.toList())
- data.addAll(Inspector.sort(inspector.propertyInfo.toList()))
- def data = Inspector.sortWithRawValue(inspector.propertyInfoWithRawValue.toList())
- fieldTable = table {
+ def data = Inspector.sortWithRawValue(inspector.publicFieldsWithRawValue.toList())
+ data.addAll(Inspector.sortWithRawValue(inspector.propertyInfoWithRawValue.toList()))
tableModel(list: data) {
closureColumn(header: 'Name', read: { it[MEMBER_NAME_IDX] })
closureColumn(header: 'Value', read: { it[MEMBER_VALUE_IDX] })