On 24/03/2014 08:41, Wang Weijun wrote:
Calling Reflection.getCallerClass() needs the @CallerSensitive annotation, but 
it cannot be applied to a constructor.

Ah, I see your message from 2012-11-26 05:46.

> This is very nice but it does not mention Constructor.newInstance(). > In fact, I do see the following entries if I'm creating an object
> thru reflection:

And Class.newInstance. Which gives a clue to a problem. Any code that is using Constructor.newInstance has to be as careful with it as they are with Method.invoke. Slightly more so, as constructors lean on overloading rather than having names like all self-respecting methods. As we know from experience, existing code does automatically take into account bizarre new requirements. I think we have a sufficient quantity of caller-sensitive stuff without taking it into new directions.

(From reading the HotSpot sources some time ago (may have changed), in particular circumstances some, but not all, constructor reflection frames may disappear.)

Tom

Reply via email to