У меня проблемы с использованием 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()
переопределен по умолчанию. Как мне это предотвратить?