From 0dd76cd3f09f495a1b9a0e4f8712c09ff885c6fd Mon Sep 17 00:00:00 2001 From: Andreas Gampe Date: Mon, 27 Apr 2015 17:26:37 -0700 Subject: ART: Fix constructor access checking Constructor access must be checked. Bug: 20639158 Change-Id: I3c586e9572a748d208bea43aa2349c3ef52a2ee5 --- test/100-reflect2/src/Main.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'test/100-reflect2/src/Main.java') diff --git a/test/100-reflect2/src/Main.java b/test/100-reflect2/src/Main.java index 0cc1488122..86a5ef89d1 100644 --- a/test/100-reflect2/src/Main.java +++ b/test/100-reflect2/src/Main.java @@ -266,9 +266,24 @@ class Main { show(ctor.newInstance(new char[] { 'x', 'y', 'z', '!' }, 1, 2)); } + private static void testPackagePrivate() { + try { + Class c = Class.forName("sub.PPClass"); + Constructor cons = c.getConstructor(); + cons.newInstance(); + throw new RuntimeException("Expected IllegalAccessException."); + } catch (IllegalAccessException e) { + // Expected. + } catch (Exception e) { + // Error. + e.printStackTrace(); + } + } + public static void main(String[] args) throws Exception { testFieldReflection(); testMethodReflection(); testConstructorReflection(); + testPackagePrivate(); } } -- cgit v1.2.3-59-g8ed1b