On 14/11/2021 22:56, Claes Redestad wrote:
:
Alan: changing `Field.modifiers` still works, but dropping the final modifier 
is not enough for this to work in the new impl. It won't be hard to adapt to 
the new world. Users who relies on this today could for example opt-out of the 
new MH-based impl using `-Djdk.reflect.useDirectMethodHandle=false` and get the 
old behavior. I've checked using a minimal reproducer I extracted from the 
Wicket sources that this works.

Sure, but I don't think that would be enough as Wicket would also need to open java.lang and java.lang.reflect to allow it continue to access private members of Class and Field. I assume the test started emitting "Illegal reflective access ..." warnings in JDK 9 and it stopped working in JDK 16, and somewhere along the line the maintainers must have added --add-opens to get it to work. It's just not tenable, hopefully the project will find a way to re-write that test.

-Alan

Reply via email to