为什么OGNL会忽略合成和易失性方法?

时间:2011-07-21 17:29:31

标签: ognl

在OgnlRuntime,我们有:

static boolean isMethodCallable(Method m)
{
    if ((isJdk15() && m.isSynthetic()) || Modifier.isVolatile(m.getModifiers()))
        return false;

    return true;
}

在getDeclaredMethods()中调用它,如果isMethodCallable()返回true,则跳过该方法。这意味着scala-trait中的所有方法(从scala-2.9开始)都不会被执行。

跳过volatile(以及合成的,编译器生成的)方法的原因是什么?

相关问题(由我):Methods in trait become volatile methods when mixed in concrete classes in 2.9.0-1 but not 2.8.1

0 个答案:

没有答案