summaryrefslogtreecommitdiff
path: root/test/100-reflect2/src/Main.java
diff options
context:
space:
mode:
author Andreas Gampe <agampe@google.com> 2015-04-27 17:26:37 -0700
committer Andreas Gampe <agampe@google.com> 2015-04-27 17:26:37 -0700
commit0dd76cd3f09f495a1b9a0e4f8712c09ff885c6fd (patch)
treed4b039065c36c6d057801b7b4c1f3156fc9a8e79 /test/100-reflect2/src/Main.java
parent2b1c622d5db941fe06b3ea9c1a5366358fa298c6 (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.java15
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();
}
}