James Daugherty created GROOVY-11799:
----------------------------------------
Summary: getMetaPropertyValues & getProperties are returning
private fields
Key: GROOVY-11799
URL: https://issues.apache.org/jira/browse/GROOVY-11799
Project: Groovy
Issue Type: Task
Components: Compiler
Affects Versions: 4.0.29
Reporter: James Daugherty
I'm upgrading a Grails application from Groovy 3 to Groovy 4. As part of the
upgrade, I've noticed private fields are showing up in the property list -
which was not the behavior in Groovy 3.
Given this groovy console script:
{code:java}
trait Parent {
private boolean shouldNotSee = true
}
class Child implements Parent {
private boolean childBoolean = true
String other = "Hello"
}
new Child().properties{code}
The output for Groovy 3 is:
{code:java}
Result: [other:Hello, class:class Child] {code}
While the output for Groovy 4 is:
{code:java}
[childBoolean:true, other:Hello, Parent__shouldNotSee:true, class:class Child]
{code}
It seems this was already fixed in Groovy 5 under
https://issues.apache.org/jira/browse/GROOVY-10438. This may have been
previously reported as https://issues.apache.org/jira/browse/GROOVY-10555 but
it doesn't look like it was fixed.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)