[
https://issues.apache.org/jira/browse/GROOVY-9522?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17104071#comment-17104071
]
Daniel Sun commented on GROOVY-9522:
------------------------------------
Groovy 3 supports the following argument syntax, which is NOT supported by
Groovy 2
{code:java}
def m(p) { println p }
// yield [a:1]
m('a') : 1
{code}
We should forbidden the syntax in Groovy 3 too, thus the ambiguities of this
issue should be eliminated.
> Throwing NPE when I use ternary operator with something special
> ---------------------------------------------------------------
>
> Key: GROOVY-9522
> URL: https://issues.apache.org/jira/browse/GROOVY-9522
> Project: Groovy
> Issue Type: Bug
> Components: parser
> Affects Versions: 3.0.3
> Environment: Win10/MacOS
> Zulu OpenJDK 11
> Reporter: Huabin Zhang
> Priority: Critical
>
> Hi, I got NPE instead of empty string when I wrote the following snippet:
>
> {code:java}
> static String a() {
> null
> }
> static String b() {
> ''
> }
> def x = a() ? [b(), a()].join(',') : b() // NPE
> //def x = a() ? [b(), a()] : b() // OK
> //def x = a() ? ([b(), a()]).join(',') : b() // OK
> x == ''
> {code}
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)