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] })