[ https://issues.apache.org/jira/browse/GROOVY-7678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15009175#comment-15009175 ]
Jochen Theodorou commented on GROOVY-7678: ------------------------------------------ `with` sets the strategy to `DELEGATE_FIRST`, so the default strategy is no used here. So I don't see a bug here > @DelegatesTo nested closures owner > ---------------------------------- > > Key: GROOVY-7678 > URL: https://issues.apache.org/jira/browse/GROOVY-7678 > Project: Groovy > Issue Type: Bug > Components: groovy-runtime > Reporter: Daniil Ovchinnikov > > Consider the following snippet > {code:java} > class X { > def method() { "X" } > def anotherMethod(@DelegatesTo(Y) Closure c) { new Y().with(c) } > } > class Y { > def method() { "Y" } > } > def doX(@DelegatesTo(X) Closure c) { new X().with(c) } > doX { > anotherMethod { > println owner.method() // X (correct) > println delegate.method() // Y (correct) > println method() // Y (?) > } > } > {code} > Last {{method()}} call should return {{"X"}} because default strategy is > {{OWNER_FIRST}} and the owner itself delegates to the {{X}} instance. -- This message was sent by Atlassian JIRA (v6.3.4#6332)