Proposal: Allow illegal reflective access by default in JDK 9

Stephen Felts stephen.felts at oracle.com
Fri May 19 18:30:45 UTC 2017


Right.  I'm asking for a new API so code can be written to avoid the warning.

-----Original Message-----
From: Alan Bateman 
Sent: Friday, May 19, 2017 10:11 AM
To: Stephen Felts; jigsaw-dev at openjdk.java.net
Subject: Re: Proposal: Allow illegal reflective access by default in JDK 9

On 19/05/2017 14:48, Stephen Felts wrote:

> By the way, there is no available API so that one can write
>
>   
>
> If an object is not accessible and setAccessible on the object will 
> succeed
>
>    call setAccessible
>
>   
>
> That means that the code needs to call setAccessible and handle the exception, which triggers a warning.
>
>   
AccessibleObject canAccess is new in 9 to test if a reflected object is accessible. Another new API is trySetAccessible to avoid using exceptions for control flow.

To your example then if setAccessible succeeds in suppressing access to a JDK internal member then you'll get a warning if it's the first illegal access. If setAccessible fails then you'll InaccessibleObjectException will be thrown as it does not, there will be no warning.

-Alan.


More information about the jigsaw-dev mailing list