RFR: JDK-8216558: Lookup.unreflectSetter(Field) fails to throw IllegalAccessException for final fields
Adam Farley8
adam.farley at uk.ibm.com
Fri Jan 11 12:46:01 UTC 2019
Hi All,
I posit that you shouldn't be able to change the contents of a a final
field.
However, if you use Field.setAccessible(true) before calling
Lookup.unreflectSetter(Field), then you can get a MethodHandle that allows
you to set the (reflected) value of a static final field.
This seems wrong to me, so here's a change to fix it.
webrev: http://cr.openjdk.java.net/~afarley/8216558/webrev/
bug: https://bugs.openjdk.java.net/browse/JDK-8216558
Opinions invited.
Best Regards
Adam Farley
IBM Runtimes
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
More information about the core-libs-dev
mailing list