[
https://issues.apache.org/jira/browse/GROOVY-10514?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17513922#comment-17513922
]
Lóránt Pintér commented on GROOVY-10514:
----------------------------------------
Shouldn't the intended behavior change apply to {{@CompileStatic}} as well then?
> Class method is not called anymore from inside closure
> ------------------------------------------------------
>
> Key: GROOVY-10514
> URL: https://issues.apache.org/jira/browse/GROOVY-10514
> Project: Groovy
> Issue Type: Bug
> Components: syntax
> Affects Versions: 4.0.0
> Reporter: Lóránt Pintér
> Assignee: Eric Milles
> Priority: Major
>
> This code works with Groovy 3.0.9, but doesn't work with 4.0.0:
> {code:language=groovy}
> class Lajos {
> static void main(String[] args) {
> FileTreeBuilder builder = new FileTreeBuilder()
> builder {
> hello("world")
> }
> }
> static void hello(String param) {
> println "Hello $param!"
> }
> }
> {code}
> Using 3.0.9 the expected result is printed:
> {code}
> $ ../groovy-3.0.9/bin/groovy script.groovy
> Hello world!
> $ ls -l
> total 8
> -rw-r--r-- 1 lptr staff 249 Feb 26 00:45 script.groovy
> {code}
> Using 4.0.0 instead of calling {{hello()}} the {{methodMissing()}} method is
> called on {{FileTreeBuilder}} and a file is created.
> {code}
> $ ../groovy-4.0.0/bin/groovy script.groovy
> $ ls -l
> total 16
> -rw-r--r-- 1 lptr staff 5 Feb 26 00:53 hello
> -rw-r--r-- 1 lptr staff 249 Feb 26 00:45 script.groovy
> $ cat hello
> world
> {code}
> Same thing happens when {{hello()}} is called from an instance method, and
> even if {{hello()}} itself is non-static.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)