Hi Peter,
On 20/03/2017 12:01, Peter Levart wrote:
Perhaps the best way to rectify those problems in one place would be for
Reflection.getCallerClass() to return a special internal class in its
own package, such as:
jdk.internal.solitary.NoCaller
...when there is no caller. This would work correctly for class loader
checks and would only allow invoking public exported members by core
reflection if invoked with no caller...
I believe this might be dangerous as it would probably hide bugs
in places where 'null' results in NPE being thrown in today's
implementation.
Allowing the code to succeed is not always the right thing to
do, and I don't believe it can be fixed in one place.
It's probably better to let the caller of Reflection.getCallerClass()
decide what to do when null is returned, even if this means
we might have to analyze all places where @CallerSensitive is
used.
best regards,
-- daniel
What do you think?
Regards, Peter