6b14cf6b82
Base SecurityManager checks on either of Lookup.lookupClass or caller class; also clarify Lookup access checks. Reviewed-by: twisti
43 lines
1.5 KiB
Java
43 lines
1.5 KiB
Java
package test.java.lang.invoke.AccessControlTest_subpkg;
|
|
import test.java.lang.invoke.AccessControlTest;
|
|
import java.lang.invoke.*;
|
|
import static java.lang.invoke.MethodHandles.*;
|
|
|
|
// This guy tests access from outside the package test.java.lang.invoke:
|
|
public class Acquaintance_remote {
|
|
public static Lookup[] lookups() {
|
|
return new Lookup[] {
|
|
Acquaintance_remote.lookup_in_remote(),
|
|
Remote_subclass.lookup_in_subclass(),
|
|
Remote_hidden.lookup_in_hidden()
|
|
};
|
|
}
|
|
|
|
public static Lookup lookup_in_remote() {
|
|
return MethodHandles.lookup();
|
|
}
|
|
static public void pub_in_remote() { }
|
|
static protected void pro_in_remote() { }
|
|
static /*package*/ void pkg_in_remote() { }
|
|
static private void pri_in_remote() { }
|
|
|
|
static public class Remote_subclass extends AccessControlTest {
|
|
static Lookup lookup_in_subclass() {
|
|
return MethodHandles.lookup();
|
|
}
|
|
static public void pub_in_subclass() { }
|
|
static protected void pro_in_subclass() { }
|
|
static /*package*/ void pkg_in_subclass() { }
|
|
static private void pri_in_subclass() { }
|
|
}
|
|
static /*package*/ class Remote_hidden {
|
|
static Lookup lookup_in_hidden() {
|
|
return MethodHandles.lookup();
|
|
}
|
|
static public void pub_in_hidden() { }
|
|
static protected void pro_in_hidden() { }
|
|
static /*package*/ void pkg_in_hidden() { }
|
|
static private void pri_in_hidden() { }
|
|
}
|
|
}
|