0

propertyMissing()と一緒に使用するのに問題がありますGroovyShell

私はファイルを持っています

/**
 * @file FooScript.groovy
 */
abstract class FooScript extends Script {

    def propertyMissing(String name) {
        "This is the property '$name'"
    }

    def propertyMissing(String name, value) {
        println "You tried to set property '$name' to '$value'"
    }
}

/**
 * @file FooScriptTest.groovy
 */

import org.codehaus.groovy.control.*


def fooScript = """\
                foo = 'bar'
                println foo"""

def conf = new CompilerConfiguration()
conf.setScriptBaseClass("FooScript")
def sh = new GroovyShell(conf)

sh.evaluate fooScript

実行するFooScriptTest.groovyと、出力が期待されます

プロパティ「foo」を「bar」に設定しようとしました

これはプロパティ「foo」です

私が得るものは次のとおりです。

バー

propertyMissing()のはデフォルトのものによって上書きされているようです。これを防ぐにはどうすればよいですか?

4

1 に答える 1