hotspot/test/runtime/modules/AccessCheckJavaBase.java
changeset 43665 4bb003cad9b9
parent 40631 ed82623d7831
child 44520 0553e129e0ec
equal deleted inserted replaced
43606:a5aa7536131c 43665:4bb003cad9b9
     1 /*
     1 /*
     2  * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
    36 import java.lang.reflect.Module;
    36 import java.lang.reflect.Module;
    37 import static jdk.test.lib.Asserts.*;
    37 import static jdk.test.lib.Asserts.*;
    38 
    38 
    39 public class AccessCheckJavaBase {
    39 public class AccessCheckJavaBase {
    40 
    40 
    41     // Test that a class defined to module2 always can read java.base.
    41     // Test that a class defined to module_two always can read java.base.
    42     public static void main(String args[]) throws Throwable {
    42     public static void main(String args[]) throws Throwable {
    43         // Get the class loader for AccessCheckJavaBase and assume it's also used to
    43         // Get the class loader for AccessCheckJavaBase and assume it's also used to
    44         // load class p2.c2.
    44         // load class p2.c2.
    45         ClassLoader this_cldr = AccessCheckJavaBase.class.getClassLoader();
    45         ClassLoader this_cldr = AccessCheckJavaBase.class.getClassLoader();
    46 
    46 
    47         // Define a module for p2.
    47         // Define a module for p2.
    48         Object m2 = ModuleHelper.ModuleObject("module2", this_cldr, new String[] { "p2" });
    48         Object m2x = ModuleHelper.ModuleObject("module_two", this_cldr, new String[] { "p2" });
    49         assertNotNull(m2, "Module should not be null");
    49         assertNotNull(m2x, "Module should not be null");
    50         ModuleHelper.DefineModule(m2, "9.0", "m2/there", new String[] { "p2" });
    50         ModuleHelper.DefineModule(m2x, "9.0", "m2x/there", new String[] { "p2" });
    51 
    51 
    52         // p2.c2 can read its superclass java.lang.Object defined within java.base
    52         // p2.c2 can read its superclass java.lang.Object defined within java.base
    53         try {
    53         try {
    54             Class p2_c2_class = Class.forName("p2.c2");
    54             Class p2_c2_class = Class.forName("p2.c2");
    55         } catch (IllegalAccessError e) {
    55         } catch (IllegalAccessError e) {