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
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to