RFR: JDK-8216558: Lookup.unreflectSetter(Field) fails to throw IllegalAccessException for final fields
adam.farley at uk.ibm.com
Fri Mar 1 10:31:30 UTC 2019
Historically, the bigger the change I propose, the more months it takes
the OpenJDK community to approve.
I'm not sure I can justify adding an entire class to test a very specific
Additionally, HasFields seems excessively complex. I don't understand why
it feels the
need to spend 34 lines of code parsing, processing, and storing 20 minimal
variables it already has.
Seems like an informative comment, followed by a littany of "cases.add..."
would have been a simpler choice.
Could you tell me if I'm missing something?
Mandy Chung <mandy.chung at oracle.com> wrote on 21/02/2019 17:37:54:
> From: Mandy Chung <mandy.chung at oracle.com>
> To: Adam Farley8 <adam.farley at uk.ibm.com>
> Cc: core-libs-dev <core-libs-dev at openjdk.java.net>
> Date: 21/02/2019 17:41
> Subject: Re: RFR: JDK-8216558: Lookup.unreflectSetter(Field) fails
> to throw IllegalAccessException for final fields
> Hi Adam,
> On 2/14/19 3:16 AM, Adam Farley8 wrote:
> > Hi Mandy,
> > Apologies for the delay.
> Same here as I returned from vacation yesterday.
> > Could you review this cdiff as a proposal for the jtreg test?
> > Made sense to modify the existing test set for MethodHandle rather
> > add a new one.
> Yes it'd be better if you extend the MethodHandlesGeneralTest and
> MethodHandlesTest to test the write access.
> To add the test cases properly, MethodHandlesTest.HasFields
> should be modified to include the read-only fields. It might
> be cleaner to add a new HasReadOnlyFields class and maybe a new
> TEST_SET_ACCESSIBLE bit that requests to call setAccessible(true)
> and testSetter expects unreflectSetter to throw exception on
> static final fields (possibly additional bits might be needed).
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
More information about the core-libs-dev