[ 
https://issues.apache.org/jira/browse/GROOVY-7218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Paul King closed GROOVY-7218.
-----------------------------

> && operator is not handled correctly in some cases when it starts a new line
> ----------------------------------------------------------------------------
>
>                 Key: GROOVY-7218
>                 URL: https://issues.apache.org/jira/browse/GROOVY-7218
>             Project: Groovy
>          Issue Type: Bug
>          Components: Compiler
>    Affects Versions: 2.3.8
>         Environment: CentOS 7
>            Reporter: Maxim Novikov
>            Assignee: John Wagenleitner
>            Priority: Minor
>             Fix For: 2.6.0-alpha-1
>
>
> h3. Repro
> {code:title=A.groovy|borderStyle=solid}
> def files = new File(".").list(
>     [ accept: { d, f ->
>         (f ==~ ".*") && !f.endsWith(".tmp")
>     }] as FilenameFilter
> ).toList()
> {code}
> *Result:* works fine
> {code:title=B.groovy|borderStyle=solid}
> def files = new File(".").list(
>     [ accept: { d, f ->
>         (f ==~ ".*")
>             && !f.endsWith(".tmp")
>     }] as FilenameFilter
> ).toList()
> {code}
> *Result:*
> {code}
> org.codehaus.groovy.control.MultipleCompilationErrorsException: startup 
> failed:
> /home/csbubbles/B.groovy: 5: unexpected token: && @ line 5, column 3.
>               && !f.endsWith(".tmp")
>      ^
> 1 error
> {code}
> h3. Expected results
> B.groovy should get executed successfully the same way as A.groovy, as its 
> two lines in a closure is the only expression.
> PS "return" statement doesn't help if you put it before "(f ==~ ".*")" either.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to