[ https://issues.apache.org/jira/browse/GROOVY-7074?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14638827#comment-14638827 ]
Jochen Theodorou commented on GROOVY-7074: ------------------------------------------ do you have an explanation as of why it works with InvokerHelper and not with metaClass? Because InvokerHelper is supposed to do the same in the end. The only reason I could imagine that would make a difference here is, that the meta class changed. Is that the case? And if DelegatingScript is supposed to react to that, then there are a lot more places to be fixed. > 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)