You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Eric Milles (Jira)" <ji...@apache.org> on 2022/09/20 16:42:00 UTC
[jira] [Commented] (GROOVY-10762) Generated getters for wrapper type Boolean is missing isXXX method
[ https://issues.apache.org/jira/browse/GROOVY-10762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17607302#comment-17607302 ]
Eric Milles commented on GROOVY-10762:
--------------------------------------
This is an intended change for Groovy 4. Only primitive boolean is recognized for "isName()". We had to sort out a lot of edge cases, including "def isName()" and of course "Boolean isName()". I can link the relevant issues if you'd like to look them over.
> Generated getters for wrapper type Boolean is missing isXXX method
> ------------------------------------------------------------------
>
> Key: GROOVY-10762
> URL: https://issues.apache.org/jira/browse/GROOVY-10762
> Project: Groovy
> Issue Type: Bug
> Affects Versions: 4.0.5
> Reporter: Tim Yates
> Priority: Major
>
> Inspecting the generated class for the following with 4.0.5
> {code:java}
> class Config
> {
> boolean primitive
> Boolean wrapper
> } {code}
> Shows {{getPrimitive}} and {{isPrimitive}} for the {{boolean}} field, but only {{getWrapper}} for the {{Boolean}} field. I was expecting a {{isWrapper}} method to be generated as with Groovy 3.x
> Or is this an expected change?
> AST Browser shows (for the above class)
> {code:java}
> public class Config extends java.lang.Object implements groovy.lang.GroovyObject {
> private boolean primitive
> private java.lang.Boolean wrapper
> private static org.codehaus.groovy.reflection.ClassInfo $staticClassInfo
> public static transient boolean __$stMC
> private transient groovy.lang.MetaClass metaClass @groovy.transform.Generated
> public Config() {
> metaClass = /*BytecodeExpression*/
> }
> protected groovy.lang.MetaClass $getStaticMetaClass() {
> }
> @groovy.transform.Generated
> @groovy.transform.Internal
> @java.beans.Transient
> public groovy.lang.MetaClass getMetaClass() {
> }
> @groovy.transform.Generated
> @groovy.transform.Internal
> public void setMetaClass(groovy.lang.MetaClass mc) {
> }
> public static java.lang.invoke.MethodHandles$Lookup $getLookup() {
> }
> @groovy.transform.Generated
> public boolean getPrimitive() {
> }
> @groovy.transform.Generated
> public boolean isPrimitive() {
> }
> @groovy.transform.Generated
> public void setPrimitive(boolean value) {
> }
> @groovy.transform.Generated
> public java.lang.Boolean getWrapper() {
> }
> @groovy.transform.Generated
> public void setWrapper(java.lang.Boolean value) {
> }
> } {code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)