@CallerSensitive in Java SE 7u25 (original) (raw)
Chris Hegarty chris.hegarty at oracle.com
Tue Jun 25 10:14:21 UTC 2013
- Previous message: @CallerSensitive in Java SE 7u25
- Next message: @CallerSensitive in Java SE 7u25
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Known issue, Mandy has a fix in progress [1].
-Chris.
[1] http://mail.openjdk.java.net/pipermail/jdk7u-dev/2013-June/006791.html
On 06/25/2013 11:06 AM, Peter Levart wrote:
Hi Mandy,
I noticed the @CallerSensitive annotation and machinery behind it has been back-ported to JDK7. That was when one of my apps using sun.reflect.Reflection.getCallerClass(int) failed. The native method taking "int" was deprecated, but it also changed the behavior. If I run the following program: import sun.reflect.Reflection; public class GetCallerClassTest { static class Tester { static void test(int frames) { System.out.println(frames + ": " + Reflection.getCallerClass(frames)); } } public static void main(String[] args) { Tester.test(0); Tester.test(1); Tester.test(2); Tester.test(3); } }
with JDK7u21, I get the following output: 0: class sun.reflect.Reflection 1: class GetCallerClassTest$Tester 2: class GetCallerClassTest 3: null with JDK7u25, I get the following output: 0: class sun.reflect.Reflection 1: class sun.reflect.Reflection 2: class GetCallerClassTest$Tester 3: class GetCallerClassTest It seems that with 7u25 the result is "shifted" for one calling frame. Is that behavior change intentional to encourage people to "get off that wagon"? Regards, Peter
- Previous message: @CallerSensitive in Java SE 7u25
- Next message: @CallerSensitive in Java SE 7u25
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]