I would also believe that the unreflect methods would work for this case too if the reflected version had access checks already suppressed.
W dniu 21.07.2018 o 19:27, Remi Forax pisze: > Hi, > > On July 21, 2018 3:43:51 PM UTC, "Michał Zegan" <webczat_...@poczta.onet.pl> > wrote: >> Hello, >> If I use reflection, I can access every member of every package in a >> module if a module opens such package, and that includes private >> members. >> What, however, about using method handles for that purpose? > > https://docs.oracle.com/javase/9/docs/api/java/lang/invoke/MethodHandles.html#privateLookupIn-java.lang.Class-java.lang.invoke.MethodHandles.Lookup- > >> Also, if you have a class in module a that wants to deserialize data to >> objects of classes in module b, then should module b open a package >> with >> those classes to a, or maybe, give the deserializer it's lookup object, >> in order for it to be able to access members of non exported non opened >> packages? It is for the case where the deserializer is called by the >> module b. Also I assume that I do not need access to non public members >> of classes, like I deserialize using public setters always. > > Rémi > > >