我在委托中使用methodMissing。
为了避免这样的错误,有什么可能: java.lang.StackOverflowError的 只是因为:
def methodMissing(String methodName, args) {
pritln "did you notice the method name mistake ?"
}
我在想一个区分静态/动态的机制(即在闭包时调用.call()的时候)
任何指针?
答案 0 :(得分:0)
这个小的Groovy脚本怎么样?
def methodMissing(String methodName, args) {
println "in methodMissing"
if (!methodCalled()) {
pritln "did you notice the method name mistake ?"
}
}
def methodCalled(methodName = 'methodMissing') {
Thread.currentThread().getStackTrace().findAll {it.className == this.class.name}.methodName.contains methodName
}
nothingHere()