OC created GROOVY-11377:
---------------------------

             Summary: 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: Compiler
    Affects Versions: 4.0.21, 3.0.3
            Reporter: OC


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