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 2025/04/21 23:49:00 UTC
[jira] [Commented] (GROOVY-11633) final fields no longer produce final getters
[ https://issues.apache.org/jira/browse/GROOVY-11633?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17946257#comment-17946257 ]
Eric Milles commented on GROOVY-11633:
--------------------------------------
Why does the getter need to be final? This does not correlate with a field that is not modifiable.
> final fields no longer produce final getters
> --------------------------------------------
>
> Key: GROOVY-11633
> URL: https://issues.apache.org/jira/browse/GROOVY-11633
> Project: Groovy
> Issue Type: Bug
> Components: Compiler
> Affects Versions: 4.0.24, 4.0.25, 4.0.26
> Reporter: Octavia Togami
> Priority: Major
> Attachments: FinalProp.groovy
>
>
> In Groovy 3 and versions of Groovy 4 at or before 4.0.23, a `final` field would also produce a `final` getter. Due to changes made in https://github.com/apache/groovy/commit/88c6336021f71d702da5292aeaac9e9859aeab1a (discovered via `git bisect`), 4.0.24 and onwards now produce a non-`final` getter, which allows overriding of the method. A reproducer which should fail to compile if the issue is fixed is attached.
> This has a minor affect on Gradle's upgrade to Groovy 4, where some properties won't properly attach to their owning object and produce worse error messages.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)