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)