diff options
| author | 2015-04-27 17:26:37 -0700 | |
|---|---|---|
| committer | 2015-04-27 17:26:37 -0700 | |
| commit | 0dd76cd3f09f495a1b9a0e4f8712c09ff885c6fd (patch) | |
| tree | d4b039065c36c6d057801b7b4c1f3156fc9a8e79 /test/100-reflect2/src/Main.java | |
| parent | 2b1c622d5db941fe06b3ea9c1a5366358fa298c6 (diff) | |
ART: Fix constructor access checking
Constructor access must be checked.
Bug: 20639158
Change-Id: I3c586e9572a748d208bea43aa2349c3ef52a2ee5
Diffstat (limited to 'test/100-reflect2/src/Main.java')
| -rw-r--r-- | test/100-reflect2/src/Main.java | 15 |
1 files changed, 15 insertions, 0 deletions
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(); } } |