[
https://issues.apache.org/jira/browse/GROOVY-11019?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eric Milles updated GROOVY-11019:
---------------------------------
Fix Version/s: 3.0.18
> joint compilation: public static final string does not compile
> ---------------------------------------------------------------
>
> Key: GROOVY-11019
> URL: https://issues.apache.org/jira/browse/GROOVY-11019
> Project: Groovy
> Issue Type: Bug
> Components: Stub generator / Joint compiler
> Affects Versions: 4.0.11
> Environment: OpenJDK Runtime Environment Temurin-11.0.16.1+1 (build
> 11.0.16.1+1)
> Reporter: Jason Garrett
> Assignee: Eric Milles
> Priority: Major
> Fix For: 3.0.18, 4.0.12
>
>
> I haven't managed to reproduce this in a simple example, but as I'm upgrading
> my application from groovy 3 to 4 I have run into this situation. I have a
> class that defines a public static final string like this:
> {code:java}
> class PublicStaticString {
> public static final String NONE = "None"
> }
> {code}
> Its java stub fails to compile with:
> {noformat}
> error: no suitable constructor found for String(Object)
> public static final java.lang.String NONE = new
> java.lang.String((java.lang.Object)null);{noformat}
>
> I can remove the "public" from the declaration and the class/stub will
> compile, but now any java class that references that field will fail to
> compile with:
> {noformat}
> error: NONE has private access in PublicStaticString
> selectNoneButton.setText(PublicStaticString.NONE);{noformat}
> The only way I know to fix this is to convert the java class to groovy.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)