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/01/14 10:56:30 UTC
[groovy] 04/04: GROOVY-5169: exclude synthetic fields
This is an automated email from the ASF dual-hosted git repository.
paulk pushed a commit to branch GROOVY_4_0_X
in repository https://gitbox.apache.org/repos/asf/groovy.git
commit a4e5bac6448151914e675a300db90708b0a958a5
Author: Paul King <pa...@asert.com.au>
AuthorDate: Fri Jan 14 20:29:58 2022 +1000
GROOVY-5169: exclude synthetic fields
---
src/main/java/groovy/lang/MetaClassImpl.java | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/main/java/groovy/lang/MetaClassImpl.java b/src/main/java/groovy/lang/MetaClassImpl.java
index 3710648..fdaeca6 100644
--- a/src/main/java/groovy/lang/MetaClassImpl.java
+++ b/src/main/java/groovy/lang/MetaClassImpl.java
@@ -84,6 +84,7 @@ import org.codehaus.groovy.util.FastArray;
import org.codehaus.groovy.util.SingleKeyHashMap;
import org.codehaus.groovy.vmplugin.VMPlugin;
import org.codehaus.groovy.vmplugin.VMPluginFactory;
+import org.objectweb.asm.Opcodes;
import java.beans.BeanInfo;
import java.beans.EventSetDescriptor;
@@ -2313,6 +2314,9 @@ public class MetaClassImpl implements MetaClass, MutableMetaClass {
// simply return the values of the metaproperty map as a List
List<MetaProperty> ret = new ArrayList<>(propertyMap.size());
for (MetaProperty mp : propertyMap.values()) {
+ if (mp instanceof CachedField && (mp.getModifiers() & Opcodes.ACC_SYNTHETIC) != 0) {
+ continue;
+ }
if (mp instanceof MetaBeanProperty) {
MetaBeanProperty mbp = (MetaBeanProperty) mp;
// filter out extrinsic properties (DGM, ...)