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)