Hi all,

I just noticed something I would like to know if that is correct and as specified (before I start using that in my application logic) using java 9.0.4

public class Application {
  public Lookup foo() {
    Supplier<Lookup> s = new Supplier<Lookup>() {
      public Lookup get() { return MethodHandles.lookup); }
    return s.get();

what I noticed is that the lookup object returned by the call to foo is one with full access rights for the inner class of Application, but it seems I am also having full access rights on Application itself. I can for example call a private method in Application using a handle created using this lookup object.

Is this really as intended? I am asking because Java would realize this afaik with a helper method (at least in the past).
Was this always possible with MethodHandles, or did this change?

bye Jochen
mlvm-dev mailing list

Reply via email to