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

Eric Milles updated GROOVY-11377:
---------------------------------
    Language: groovy

> wrong placement of error report in a closure
> --------------------------------------------
>
>                 Key: GROOVY-11377
>                 URL: https://issues.apache.org/jira/browse/GROOVY-11377
>             Project: Groovy
>          Issue Type: Bug
>          Components: parser-antlr4
>    Affects Versions: 3.0.3, 4.0.21
>            Reporter: OC
>            Priority: Minor
>
> Probably affects all Groovy 3 and 4 (possibly 5, haven't tried), but _not_ 
> Groovy 2. Perhaps the Parrot parser? Groovy 3.0.3 is the oldest I've tested; 
> alas the Affects Versions does not allow entering something like “3+”, which 
> would make more sense I think.
> Some errors in closures are reported as an unexpected input (which is all 
> right) _at the opening { of the closure_ (that's not OK). E.g.,
> {code:java}
> 1035 ocs /tmp> /usr/local/groovy-4.0.21/bin/groovy q
> org.codehaus.groovy.control.MultipleCompilationErrorsException: startup 
> failed:
> /private/tmp/q.groovy: 1: Unexpected input: '{' @ line 1, column 10.
>    10.times { bar()) }
>             ^ {code}
> Happens with longer multi-line closures as well, which might lead to a really 
> inconvenient search for the real culprit.
> Note that normal non-closure blocks are not affected:
> {code:java}
> 1036 ocs /tmp> /usr/local/groovy-4.0.21/bin/groovy w
> org.codehaus.groovy.control.MultipleCompilationErrorsException: startup 
> failed:
> /private/tmp/w.groovy: 1: Unexpected input: '{ foo())' @ line 1, column 31.
>    for (int n=0;n<10;n++) { foo()) }
>                                  ^ {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to