[ 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)