I noticed this violation (for me its use with OGNL) changed in 2.9.0-1:
I find that in 2.9 the methods declared in the tag become unstable when mixed in a class:
Example in 2.9.0-1
import java.lang.reflect.Modifier trait SuperTrait { def getKnoll = "Kanutten" } class KlassWithKnoll extends SuperTrait { def getKnall = "Mars" } val qsc = classOf[KlassWithKnoll] val knollGetter = qsc.getDeclaredMethod("getKnoll") println("isVolatile: " + Modifier.isVolatile(knollGetter.getModifiers()))
Will print
isVolatile: true
But in 2.8.1:
displays
isVolatile: false
Actually this changes for me, as OGNL refuses to execute volatile (why I don't know) in its expressions.
So, my question; Why was this change made?
source share