You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Jochen Kemnade (JIRA)" <ji...@apache.org> on 2015/10/06 09:43:26 UTC

[jira] [Commented] (GROOVY-7074) DelegatingScript does not work with Builder as delegate

    [ https://issues.apache.org/jira/browse/GROOVY-7074?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14944635#comment-14944635 ] 

Jochen Kemnade commented on GROOVY-7074:
----------------------------------------

still in 2.4.5

> DelegatingScript does not work with Builder as delegate
> -------------------------------------------------------
>
>                 Key: GROOVY-7074
>                 URL: https://issues.apache.org/jira/browse/GROOVY-7074
>             Project: Groovy
>          Issue Type: Bug
>          Components: GroovyScriptEngine
>    Affects Versions: 2.4.0-beta-3
>         Environment: Windows 7, Linux Mint 16 Petra
>            Reporter: Tobias Schulte
>              Labels: patch-available
>         Attachments: 0001-GROOVY-7074-fix-for-using-a-Builder-as-delegate-in-a.patch
>
>
> DelegatingScript does not work, if the delegate is e.g. a MarkupBuilder instance.
>     import org.codehaus.groovy.control.CompilerConfiguration
>     import groovy.xml.MarkupBuilder
>     def cc = new CompilerConfiguration()
>     cc.scriptBaseClass = DelegatingScript.class.name
>     def sh = new GroovyShell(new Binding(), cc)
>     def script = sh.parse('''
>     foo {
>         bar()
>     }
>     ''')
>     def markupBuilder = new MarkupBuilder()
>     script.setDelegate(markupBuilder)
>     script.run()
> does throw a groovy.lang.MissingMethodException. If I change the script to
>     delegate.foo {
>         bar()
>     }
> it works.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)