< prev index next >

jdk/test/java/lang/StackWalker/GetCallerClassTest.java

Print this page




  38 import java.security.Permission;
  39 import java.security.PermissionCollection;
  40 import java.security.Permissions;
  41 import java.security.Policy;
  42 import java.security.ProtectionDomain;
  43 import java.util.Arrays;
  44 import java.util.EnumSet;
  45 import java.util.List;
  46 
  47 public class GetCallerClassTest {
  48     private final StackWalker walker;
  49     private final boolean expectUOE;
  50 
  51     public GetCallerClassTest(StackWalker sw, boolean expect) {
  52         this.walker = sw;
  53         this.expectUOE = expect;
  54     }
  55     public static void main(String... args) throws Exception {
  56         if (args.length > 0 && args[0].equals("sm")) {
  57             PermissionCollection perms = new Permissions();
  58             perms.add(new StackFramePermission("retainClassReference"));
  59             Policy.setPolicy(new Policy() {
  60                 @Override
  61                 public boolean implies(ProtectionDomain domain, Permission p) {
  62                     return perms.implies(p);
  63                 }
  64             });
  65             System.setSecurityManager(new SecurityManager());
  66         }
  67         new GetCallerClassTest(StackWalker.getInstance(), true).test();
  68         new GetCallerClassTest(StackWalker.getInstance(RETAIN_CLASS_REFERENCE), false).test();
  69         new GetCallerClassTest(StackWalker.getInstance(EnumSet.of(RETAIN_CLASS_REFERENCE,
  70                                                                   SHOW_HIDDEN_FRAMES)), false).test();
  71     }
  72 
  73     public void test() {
  74         new TopLevelCaller().run();
  75         new LambdaTest().run();
  76         new Nested().createNestedCaller().run();
  77         new InnerClassCaller().run();
  78         new ReflectionTest().run();




  38 import java.security.Permission;
  39 import java.security.PermissionCollection;
  40 import java.security.Permissions;
  41 import java.security.Policy;
  42 import java.security.ProtectionDomain;
  43 import java.util.Arrays;
  44 import java.util.EnumSet;
  45 import java.util.List;
  46 
  47 public class GetCallerClassTest {
  48     private final StackWalker walker;
  49     private final boolean expectUOE;
  50 
  51     public GetCallerClassTest(StackWalker sw, boolean expect) {
  52         this.walker = sw;
  53         this.expectUOE = expect;
  54     }
  55     public static void main(String... args) throws Exception {
  56         if (args.length > 0 && args[0].equals("sm")) {
  57             PermissionCollection perms = new Permissions();
  58             perms.add(new RuntimePermission("getStackWalkerWithClassReference"));
  59             Policy.setPolicy(new Policy() {
  60                 @Override
  61                 public boolean implies(ProtectionDomain domain, Permission p) {
  62                     return perms.implies(p);
  63                 }
  64             });
  65             System.setSecurityManager(new SecurityManager());
  66         }
  67         new GetCallerClassTest(StackWalker.getInstance(), true).test();
  68         new GetCallerClassTest(StackWalker.getInstance(RETAIN_CLASS_REFERENCE), false).test();
  69         new GetCallerClassTest(StackWalker.getInstance(EnumSet.of(RETAIN_CLASS_REFERENCE,
  70                                                                   SHOW_HIDDEN_FRAMES)), false).test();
  71     }
  72 
  73     public void test() {
  74         new TopLevelCaller().run();
  75         new LambdaTest().run();
  76         new Nested().createNestedCaller().run();
  77         new InnerClassCaller().run();
  78         new ReflectionTest().run();


< prev index next >