[
https://issues.apache.org/jira/browse/GROOVY-11320?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eric Milles updated GROOVY-11320:
---------------------------------
Language: groovy
> Unable to resolve class when putting variables into brackets.
> -------------------------------------------------------------
>
> Key: GROOVY-11320
> URL: https://issues.apache.org/jira/browse/GROOVY-11320
> Project: Groovy
> Issue Type: Bug
> Components: parser, parser-antlr4
> Affects Versions: 4.0.10, 3.0.20
> Reporter: Philip Markus
> Priority: Major
>
> After migrating from Groovy 2.5 to Groovy 4.0, we experience some strange
> parsing behavior.
> {code:java}
> def foo = "spongebog"
> def bar = " squarepants"
> (foo) + (bar){code}
> The above snippet will yield a parser error "Unable to resolve class foo".
> This worked fine in 2.5, but seems to have been broken since 3.0. (Tried it
> in Groovy web console)
> I couldn't find any hints in the release notes, what might be the cause of
> this change and I am not sure what the expression (ClassName) even tries to
> perform. After all class names work as constants for their Class instance
> (without .class as in Java) anyway, with or without brackets.
> We know that those brackets are unnecessary, but for a reason that I am not
> aware of, we have lots of such expressions lying around in small snippets.
> Note: Our application is written in Java, but allows users to adapt runtime
> behavior using Groovy scripts and also is used for expressions in mail
> templates. which means we cannot just change the affected code, as they will
> still linger around in databases across different installations of our
> software.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)